13. Ülesanne 1. Koostage tabel, mis sisaldab üliõpilaste ees-ja perekonnanimesid (10 nime ) ning algselt tühja veergu email. CREATE TABLE yliopilased ( eesnimi VARCHAR2(50), perenimi VARCHAR2(50), email VARCHAR2(50) ); INSERT INTO yliopilased VALUES ('Anna','Rong', NULL); INSERT INTO yliopilased VALUES ('Sanne','Kanne', NULL); INSERT INTO yliopilased VALUES ('Reelika','Uus', NULL); INSERT INTO yliopilased VALUES ('Robin','Hood', NULL); INSERT INTO yliopilased VALUES ('Jaak','Mae', NULL); INSERT INTO yliopilased VALUES ('Toivo','Kalevipoeg', NULL); INSERT INTO yliopilased VALUES ('Kalev','Toivopoeg', NULL); INSERT INTO yliopilased VALUES ('Tiit','Vest', NULL); INSERT INTO yliopilased VALUES ('Peeter','Paan', NULL); INSERT INTO yliopilased VALUES ('Karlsson','Katuselt', NULL);’ SELECT * FROM yliopilased; 2. Seejärel koostage PL/SQL-programm, mis moodustab igale üliõpilasele e-aadressi järgneva eeskirja kohaselt. a) üliõpilase eesn
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
CREATE TABLE mina ( eesnimi varchar(30) not null, perenimi varchar(100) not null, sugu varchar(5) not null, synnipaev date not null, algus datetime not null default current timestamp, viimati datetime default timestamp, CONSTRAINT pk_mina PRIMARY KEY (eesnimi) ); INSERT INTO mina (eesnimi, perenimi, sugu, synnipaev) VALUES ('Juku', 'Mets', 'Mees', '1980-02-04'); grant connect to Sandra identified by 'tere'; grant group to dba; grant membership in group dba to Sandra; grant all on mina to Sandra; SELECT * FROM mina; UPDATE mina SET eesnimi = 'Jri' WHERE eesnimi = 'Juku'; CREATE GLOBAL TEMPORARY TABLE paha (nimi VARCHAR(40) NOT NULL, CONSTRAINT pk_paha PRIMARY KEY (nimi)) ON COMMIT PRESERVE ROWS; INSERT INTO paha (nimi) VALUES ('Mari'); SELECT * FROM paha; create table isik( Id integer not null default autoincrement primary key, Eesnimi varchar (50) not null, Perenimi varchar(50) not null, Isikukood varchar(11), Klubi integer, Unique (eesnimi, perenimi)) create table Klubi( Id
8. Ülesanne 1. Delegeerige endale scott-i rollis olles tabelite lepikult.yliopilased, lepikult.koduylesanded ja lepikult.oppeained lugemisõigused. Logige andmebaasi enda kasutajatunnuse abil. GRANT SELECT ON lepikult.yliopilased to MinuKasutajaNimi; GRANT SELECT ON lepikult.koduylesanded to MinuKasutajaNimi; GRANT SELECT ON lepikult.oppeained to MinuKasutajaNimi; 2. Moodustage tabelite lepikult.yliopilased, lepikult.koduylesanded ja lepikult.oppeained abil kursuse „Oracle….” kohta tabel, kus on andmed kodutööde kohta – tudengite nimed, ID-koodid ja punktid kolme kodutöö eest (kui ühe kodutöö kohta on samalt tudengilt mitu saadetist, läheb kirja parim tulemus). Eraldi veerus on kolme töö eest saadud punktide summa. Arvestuse tingimuseks on, et ülesannete punktide summa peab olema vähemalt 14. Ülesande lahendamisel kasutage nii DDL kui ka DML-lauseid. // Loo tabel CREATE TABLE Oracle_tulemused (opilase_id CHAR(8),
..................................................................................... 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.....................................
--Taavet Tamm(a72028) --ylesanne 4. --1. Leida klubi Laudnikud liikmete nimekiri (eesnimi ja perenimi) tähestiku järjekorras. SELECT eesnimi, perenimi FROM isik, klubi WHERE klubi.nimi = 'Laudnikud' ORDER BY perenimi asc; --2. Leida klubi Laudnikud liikmete arv. SELECT COUNT(*) AS "Klubi Laudnikud liikmete arv" FROM isik WHERE klubi = '51'; --Leida V-tähega algavate klubide M-tähega algavate eesnimedega isikute perekonnanimed. SELECT distinct perenimi FROM isik, klubi WHERE klubi.nimi like 'V%' and eesnimi like 'M%' ORDER BY perenimi asc; --4. Leida kõige esimesena alanud partii algamise aeg. SELECT min(Algushetk) FROM partii; --5. Leida partiide mängijad (valge ja must), mis algasid 04. märtsil ajavahemikus 9:00 kuni 11:00. SELECT partii.ID AS "Partii ID", perenimi || ', ' || eesnimi AS "Nimi", isik.ID AS "Isiku ID", must, valge FROM isik, partii WHERE isik.id in (partii.must,partii.valge) AND partii.algushetk between '2005-03-04 09:00:00.000' and
Ülesanne 11 1. Kirjutage PL/SQL-programm, mis leiab tabelist kandidaadid, mitu inimest on sündinud 1982. a. 1. kuus, 1982. a. 2. kuus jne. kuni 1984.a. 12. kuus --- ylesanne11-1.psql ---- SET SERVEROUTPUT ON declare alates_aasta constant integer := 82; kuni_aasta constant integer := 84; alates_kuu constant integer := 1; kuni_kuu constant integer := 12; tudengite_arv integer; begin for aasta in alates_aasta .. kuni_aasta loop for kuu in alates_kuu .. kuni_kuu loop select count(*) into tudengite_arv from scott.kandidaadid where substr(ID,2,2) = aasta and substr(ID,4,2) = kuu; dbms_output.put_line('19' || aasta || '. a. ' || kuu || '. kuus on sündinud ' || tudengite_arv || ' kandidaati.'); end loop; end loop; end; / --- ylesanne11-1.ps
Andmebaasid Laenutamine CREATE TABLE LAENUTAMINE ( Laenamise_id INT not null auto_increment, Kuupäev date, Raamatu_ID INT, Lugeja_ID INT, Tähtaeg date, Tagastamine date, PRIMARY KEY (Laenamise_id), FOREIGN KEY (Lugeja_ID) REFERENCES LUGEJA(Lugeja_ID), FOREIGN KEY (Raamatu_id) REFERENCES Raamat(Raamatu_ID)); Lisa 10 kirjet. INSERT INTO LAENUTAMINE(Kuupäev,Lugeja_ID,Raamatu_ID,Tähtaeg) VALUES(curdate(),1,3,adddate(curdate(), interval 21 day)); RAAMAT CREATE TABLE RAAMAT ( Raamatu_ID INT AUTO_INCREMENT, Pealkiri VARCHAR(150) NOT NULL, Autor VARCHAR(100) NOT NULL, Aasta YEAR NOT NULL, Koht VARCHAR(50), Lk_arv INT, Keel VARCHAR(50), Hind FLOAT, PRIMARY KEY (Raamatu_ID)); Kirjed: INSERT INTO RAAMAT (Pealkiri, Autor, Aasta, Koht, Lk_arv, Keel, Hin
Kõik kommentaarid