lesanne 1------------------------------------------------------------------------------- -- sqlplus scott/tiger@testdata describe kandidaadid insert into kandidaadid values ('Stanislav', 'Tsvetajev', '38609140224', 60, 70, 80); update kandidaadid set eesnimi='Stas' where isikukood=38609140224; select * from kandidaadid where eesnimi = 'Stas'; delete from kandidaadid where eesnimi = 'stas'; lesanne 2------------------------------------------------------------------------------- -- sqlplus scott/tiger@testdata select eesnimi, perenimi, emakeel from kandidaadid where isikukood like '4%' and emakeel >60; select eesnimi, perenimi, to_date(substr(isikukood,2,6),'YYMMDD') as sunniaeg from kandidaadid where to_date(substr(isikukood, 4, 4), 'mmdd')> sysdate order by to_date(substr(isikukood, 4, 4), 'mmdd'); lesanne 3----------------------------------------------------------------- sq
14. Ülesanne Koostage funktsioon, mis kasutab ülesandes 8 loodud raamatukogu laenutuste andmebaasi. Funktsiooni parameetriks (argumendiks) on lugeja isikukood ja funktsiooni väärtuseks (return-value) on selle isikukoodiga lugeja poolt tasumata viiviste summa: a) viivis on 0, kui lugejal pole võlgu – kõik laenutatud raamatud on tähtajaks (kahe nädala jooksul) tagastatud; b) tagastamistähtaja ületanud raamatute puhul arvutatakse viivist 0,5% raamatu hinnast iga hilinetud päeva kohta 1) Registreerunud lugejate andmete tabel (nimed, isikukoodid, aadress, telefon, e-mail); CREATE TABLE lugejad(isikukood NUMBER(11), nimi VARCHAR2(30), aadress VARCHAR2(100), telefon VARCHAR2(20), email VARCHAR2(30), CONSTRAINT isikukood_pk PRIMARY KEY (isikukood)); 2) Raamatukogus olevate raamatute tabel (shiffer, autor(id), pealkiri, eksemplari hind, eksemplaride arv); CREATE TABLE raamatud(shiffer VARCHAR2(50), autorid VARCHAR2(100), pealkiri VA
1. Loodud on kolmest tabelist koosnev andmemudel 2. SQL-laused tabelite koostamiseks Tabeli ISIK loomine CREATE TABLE ISIK ( ID NUMBER(10,0) NOT NULL, EESNIMI VARCHAR2(35) NOT NULL, PERENIMI VARCHAR2(35) NOT NULL, ISIKUKOOD VARCHAR2(20) NOT NULL, CONSTRAINT ISIK_PK PRIMARY KEY(ID) ); Tulemus Tabeli VAEOSA loomine CREATE TABLE VAEOSA ( ID NUMBER(10,0) NOT NULL, KOOD VARCHAR2(10) NOT NULL, NIMI VARCHAR2(50) NOT NULL, KOMMENTAAR VARCHAR2(100), CONSTRAINT VAEOSA_PK PRIMARY KEY(ID) ); Tulemus Tabeli VAEOSAS_OLEMINE loomine CREATE TABLE VAEOSAS_OLEMINE ( ID NUMBER(10,0) NOT NULL, ISIK_ID NUMBER(10,0) NOT NULL, VAEOSA_ID NUMBER(10,0) NOT NULL, ROLL VARCHAR2(35) NOT NULL, ALATES DATE NOT NULL, KUNI DATE, CONSTRAINT VAEOSAS_OLEMINE_PK PRIMARY KEY(ID) ); Tulemus Tabelile VAEOSAS_OLEMINE välisvõtmete lisamine ALTER TABLE VAEOSAS_OLEMINE ADD CONSTRAINT VAEOSAS_OLEMINE_ISIK_ID_FK FOREIGN KEY(ISIK_ID) REF
..................................................................................... 52 5.3 VAATED..................................................................................................................................... 53 5.4 SALVESTATUD PROTSEDUURID JA FUNKTSIOONID................................................................. 54 5.5 INDEKSID.................................................................................................................................. 55 5.5.1 ORACLE.................................................................................................................................. 55 5.6 JULGEOLEKUMEETMETE DISAIN............................................................................................. 55 5.6.1 ORACLE.................................................................................................................................. 55 5.7 ESIALGNE ANDMETE VARUNDAMISE JA TAASTAMISE STRATEEGIA.....................................
RAAMAT.Raamatu_id=LAENUTAMINE.Laenamise_id where Kuupäev is null 16. Milline raamat on laenatud välja esimesena, milline viimasena? SELECT max(Tähtaeg) as Viimane, min(Tähtaeg) as Esimene from LAENUTAMINE; 17. Leia lugejate sooline jaotuvus (palju nais-, palju meessoost). SELECT if(mod(left(Isikukood, 1), 2) = 0, 'naine', 'mees') as Sugu, Eesnimi, Perenimi from LUGEJA; Ülesanne 9. Alampäringud Kasuta päringute tegemisel alampäringuid v.a. 3. ülesanne 1. Leia vanima raamatu pealkiri, väljaandmise aasta ja autor. SELECT Pealkiri,Aasta,Autor FROM RAAMAT WHERE Aasta =(select min(Aasta)from RAAMAT); 2. Leia kõige uuema raamatu pealkiri, väljaandmise aasta ja autor. SELECT Pealkiri,Aasta,Autor FROM RAAMAT WHERE Aasta =(select max(Aasta)from RAAMAT); 3**. Leia raamatute keskmine vanus. SELECT avg(2017-Aasta) as Keskmine_raamatu_vanus FROM RAAMAT; 4. Leia keskmisest vanemad raamatud (pealkiri, vanus).
Grupid vähenevad vasakult paremale. Vajadusel korral tuleb väljade järjestust muuta. Kui grupeerimist ei kasutata, kasutatakse arvutuseks kõigi väljastatud kirjete vasatava välja väärtusi. STANDARD QUERY LANGUAGE AJALUGU:Relatsiooniline AB töötati välja E. F. Codd'i poolt 70-ndate alguses. SQL on pärit IBM-st, relats. AB prototüübist System R, 70-ndate keskel. Originaalne SQL keel (SEQUEL2) kirjeldati 1976 a. novembris IBM Journal of R&D. Esimene turule tulnud produkt oli 1979 Oracle Corp. poolt. Tänapäeval on kujunenud andmebaaside juurdepääsukeele standardiks. SQL - i üldiseloomustus: 1. Mitteprotseduurne keel, sest - Töödeldakse kirjete hulki, mitte üht kirjet korraga - Juurdepääs (navigation) andmetele automaatne - ei nôua kasutajalt juurdepääsuviisi teadmist. SQL kasutab olemasolevaid indekseid automaatselt. 2. Kasutajate ring on väga lai: - Süsteemi administraatorid - Andmebaasi administraatorid - Andmekaitse administraatorid
kasutamiseks. MÄRKUS. Andmebaasi kasutamise tarkvara võib olla andmebaasihalduse süsteemi osa, kuid võib olla ka iseseisev andmebaasihalduse süsteem. 2 RDBMS (Relational Database Management System) - Relatsiooniline andmebaasisüsteem on 21 sajandi algul domineeriv andmebaasisüsteemi tüüp. DBA (Database Administrator) - andmebaasi administraatori ülesanne on andmebaasi töö jälgimine ja tagamine. UML (Unified Modeling Language) visuaalne modelleerimiskeel SQL (Structured Query Language) - Teisendustele orienteeritud keel, mis kasutab relatsioone, et teisendada sisend väljundiks . SQL keel on relatsiooniliselt täielik keel, st võimaldab luua kõiki relatsioone, mida saab luua ka relatsioonialgebra abil. SQL võimaldab lisaks veel täiendavaid operatsioone nt. sorteerimine, summeerimine, andmestruktuuride loomine jne.
andmebaasi serverit klientprogrammi andmebaaside päringuteks programme administreerimiseks Andmebaase on meil vaja andmete hoidmiseks kindlas vormingus. Oluline on selle juures see, et tabeleid saaks omavahel siduda ning seepärast kutsutakse neid ka kena nimega - realtsioonandmebaas (RDBMS). Üks populaarsemaid andmebaasimootoreid ongi MySQL. Seda arvatavasti sellepärast, et see on avatud lähtekoodiga, kiire ja töökindel. Suurimad konkurendid on sellele näiteks Oracle, PostreSQL, Microsoft SQL jt. Kõik need kasutavad SQL päringukeelt. Selle keele abil saavad andmebaasivälised rakendusprogrammid, nagu näiteks PHP, andmebaasiga suhelda. SQL tuleb inglisekeelsetest sõnadest Structured Query Language, mis meie keeles võiks kutsuda struktuurpäringukeeleks. Vaatame mõningaid näiteid. Vaatab andmebaase: ? 1 SHOW DATABASES; Selekteerib kõik read tabelist nimega uudised: ? 1 SELECT * FROM uudised; Andmebaasi tabeli struktuur
Kõik kommentaarid