SQL> SPOOL currently spooling to ülesanne_04.lst SQL> DESCRIBE lepikult.yliopilased; Name Null? Type ----------------------------------------- -------- ---------------------------- ID CHAR(8) EESNIMI VARCHAR2(15) PERENIMI VARCHAR2(15) SQL> DESCRIBE lepikult.koduylesanded; Name Null? Type ----------------------------------------- -------- ---------------------------- YLIOPILASE_ID CHAR(8) KURSUSEKOOD VARCHAR2(6) KUUPAEV DATE TOO_NR NUMBER(2) FAILINIMI VARCHAR2(20) PUNKTID
SQL> SPOOL currently spooling to ülesanne_05.lst SQL> --Leidke tabelite yliopilased, koduylesanded, oppeained abil iga tudengi keskmine “punktisaak” koduste tööde eest SQL> SELECT y.eesnimi, y.perenimi, round(avg(k.punktid),1) AS kesk_punkte FROM yliopilased y, koduylesanded k where y.id=k.yliopilase_id GROUP BY y.eesnimi, y.perenimi; EESNIMI PERENIMI KESK_PUNKTE ------------ ------------ ----------- Katrin Kask 5.4 Salme Saar 4.1 Liina Vaher 7.8 Kairi M„nd 6.6 SQL> --Samade tabelite põhjal leidke, mitu tööd on oracle-aine ülesannete kohta saadetud. Grupeerige ülesande numbri kaupa SQL> SELECT k.too_nr, count(k.failinimi) AS arv FROM koduylesanded k, oppeained o WHERE o.kood = k.kursusekood AND o.nimetus = 'Oracle: SQL ja PL/SQL' GROUP BY k.too_nr; TOO_NR ARV ------ ---------- 1 4 2 2 3 2 SQL> SELECT sunniaasta
SQL> MERGE INTO minu_oppeained m 2 USING uued_oppeained u ON (u.KOOD = m.KOOD) 3 WHEN MATCHED THEN 4 UPDATE SET m.OPPEJOUD = u.OPPEJOUD, m.NIMETUS = u.NIMETUS 5 WHEN NOT MATCHED THEN 6 INSERT (KOOD, OPPEJOUD, NIMETUS) VALUES (u.KOOD, u.OPPEJOUD, u.NIMETUS); 6 rows merged. SQL> SELECT * FROM minu_oppeained; KOOD OPPEJOUD NIMETUS ------------------ --------------- -------------------------------------- I319 Toomas Lepikult Oracle: SQL ja PL/SQL Id310 Vladimir Viies Operatsioonissteemide tehnoloogia Iad307 Heldur Haak Digitaalkommunikatsioon Id309 Riivo Senk Digitaalne heli- ja pilditöötlus ID218 Toomas Kont Riistvaral„hedane programmeerimine I244 Mart Mangus Võrgurakendused I Id221 Guido Kangur Näitlemine Id404 Ossa Issand Filosoofia
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
SQL> SPOOL currently spooling to ülesanne_09.lst SQL> --Moodustage tabel tallede kohta (sünniaeg, sünnikaal, id-number, sugu). SQL> --Kirjutage skript, mis laseb sisestada tabelisse (asendusmuutujate abil) andmeid sündinud tallede kohta. SQL> --Iga looma kohta genereeritakse jada abil id-number; jäär saab paaritu ja utt paarisnumbri. SQL> CREATE TABLE talled ( 2 id NUMBER PRIMARY KEY, 3 sunniaeg TIMESTAMP(0), 4 kaal NUMBER(6,2), 5 sugu CHAR(1)); Table created. SQL> CREATE SEQUENCE jaar_id START WITH 1 INCREMENT BY 2; Sequence created. SQL> CREATE SEQUENCE utt_id START WITH 2 INCREMENT BY 2; Sequence created. SQL> INSERT INTO talled VALUES( 2 CASE '&sugu' 3 WHEN 'J' THEN jaar_id.NEXTVAL 4 ELSE utt_id.NEXTVAL END, 5 SYSDATE,'&kaal', '&sugu'); old 2: CASE '&sugu' new 2: CASE 'J' Enter value for kaal: 7.2923 old 5: SYSDATE,'&kaal', '&sugu') new 5: SYSDATE,'7.2923', 'J') 1 row created. SQL> INSERT INTO talled VALUES( 2 CASE '&sugu' 3 WHEN 'J' THEN
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
Andmebaaside eksam Erinevat tüüpi andmemudelid Andmemudelite väljatöötamise ajaline järjekord (vanemast nooremaks) 1. Hierarhiline andmemudel (vanim) 2. Võrk-andmemudel 3. Relatsiooniline andmemudel 4. Objekt-orienteeritud andmemudel 5. Objekt-relatsiooniline andmemudel (noorim) Hierarhiline - Andmed on organiseeritud hierarhiatena. Hierarhiline andmemudel väljendab oma alamobjektide 1:M suhteid ja talle vastavaks abstraktseks andmestruktuuriks on "puu". Puudused: - Andmete dubleeritus. (Ametite andmed on dubleeritud. Näiteks autojuhi ameti andmed on kahes puus.) - Andmete lisamise anomaaliad. (Kuni pole leitud sobilikku töötajat, ei saa sisestada ameti kirjeldust.) - Andmete kustutamise anomaaliad. (Kui kustutada andmebaasist Tarmo, kaovad koos temaga ka remondimehe ameti andmed.) Hierarhilises andmebaasis on andmed organiseeritud hierarhilise mudeli alusel. Võrk - Võrkmudelile vastavaks abstra
Sisukord Eessõna Hea õpilane! Microsofti arenduspartnerid ja kliendid otsivad pidevalt noori ja andekaid koodimeistreid, kes oskavad arendada tarkvara laialt levinud .NET platvormil. Kui Sulle meeldib programmeerida, siis usun, et saame Sulle pakkuda vajalikku ja huvitavat õppematerjali. Järgneva praktilise ja kasuliku õppematerjali on loonud tunnustatud professionaalid. Siit leid uusimat infot nii .NET aluste kohta kui ka juhiseid veebirakenduste loomiseks. Teadmiste paremaks omandamiseks on allpool palju praktilisi näiteid ja ülesandeid. Ühtlasi on sellest aastast kõigile kättesaadavad ka videojuhendid, mis teevad õppetöö palju põnevamaks. Oleme kogu õppe välja töötanud vabavaraliste Microsoft Visual Studio ja SQL Server Express versioonide baasil. Need tööriistad on mõeldud spetsiaalselt õpilastele ja asjaarmastajatele Microsofti platvormiga tutvumiseks. Kellel on huvi professionaalsete tööriistade proovimiseks, siis tasub lähemalt tutvuda õppuritele
Kõik kommentaarid