Vajad kellegagi rääkida?
Küsi julgelt abi LasteAbi
Logi sisse

ICA0016 Oracle programmeerimiskeeled SQL ja PLSQL 14. Ülesanne (0)

1 Hindamata
Punktid




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 VARCHAR2(100),  
hind NUMBER(4,2), kogus NUMBER(3,0),  
CONSTRAINT raamatud_pk PRIMARY KEY (shiffer));  3) Laenutuste tabel (laenutaja isikukood, raamatu shiffer, laenutamise kuupäev, tagastamise kuupäev).  
 
CREATE TABLE laenutused(  
laenutaja_isikukood NUMBER(11), raamatu_shiffer VARCHAR2(50), laenutatud DATE, tagastatud DATE);  
 
 
ALTER TABLE laenutused ADD CONSTRAINT lugeja_fk FOREIGN KEY (laenutaja_isikukood)  
REFERENCES lugejad(isikukood);  
ALTER TABLE laenutused ADD CONSTRAINT raamat_fk FOREIGN KEY (raamatu_shiffer)  
REFERENCES raamatud(shiffer);  4) Dummy data  INSERT INTO lugejad VALUES ('12345678901', 'Chuck Norris', 'Iirise 25-6', '+372123223', '[email protected]');  
INSERT INTO lugejad VALUES ('23456789012', 'Mihkel Jordaan', 'Kaseke 15-10', '+372223123', '[email protected]');  
INSERT INTO raamatud VALUES ('159753', 'Uuno', 'Lasteraamat', '15', '20');  
INSERT INTO raamatud VALUES ('112233', 'Trump', 'Trumpi autobiograafia', '25', '10');  
INSERT INTO raamatud VALUES ('556677', 'Taavi', 'Teine Lasteraamat', '10', '10');  
INSERT INTO laenutused VALUES ('12345678901', '159753', sysdate-200, sysdate-2);  
INSERT INTO laenutused VALUES ('23456789012', '112233', sysdate-20, sysdate-2);  
INSERT INTO laenutused VALUES ('23456789012', '556677', sysdate-20, NULL);     


-----------------------package--------------------------------  CREATE OR REPLACE PACKAGE raamatukogu 
IS 
    g_viivis CONSTANT NUMBER := 0.5; 
    FUNCTION arvuta_tasumata_viiviste_summa (p_isikukood VARCHAR) RETURN NUMBER; 
END raamatukogu; 

 
 
CREATE OR REPLACE PACKAGE BODY raamatukogu 
IS 
    FUNCTION arvuta_viivis_hinnast (hind IN NUMBER) 
        RETURN NUMBER 
    IS 
    BEGIN 
        RETURN hind * g_viivis / 100; 
    END; 
 
    FUNCTION arvuta_tasumata_viiviste_summa (p_isikukood VARCHAR)  
        RETURN NUMBER 
    IS 
        kogu_volg NUMBER := 0; 
        CURSOR volad IS SELECT r.hind, TRUNC(SYSDATE - la.laenutatud - 14) vola_paevad 
            FROM lugejad lu, raamatud r, laenutused la 
            WHERE la.laenutaja_isikukood = lu.isikukood AND la.raamatu_shiffer = r.shiffer AND lu.isikukood = 
p_isikukood AND la.tagastatud IS NULL AND TRUNC(SYSDATE - la.laenutatud) > 14; 
    BEGIN    
        FOR volg IN volad LOOP 
            kogu_volg := kogu_volg + arvuta_viivis_hinnast(volg.hind) * volg.vola_paevad;  
        END LOOP; 
        RETURN ROUND(kogu_volg, 2); 
    END; 
 
END raamatukogu; 

 
-----------------------package--------------------------------   
SELECT raamatukogu.arvuta_tasumata_viiviste_summa(12345678901) FROM dual; 
     
SELECT raamatukogu.arvuta_tasumata_viiviste_summa(23456789012) FROM dual; 
   
ICA0016 Oracle programmeerimiskeeled SQL ja PLSQL 14-Ülesanne #1 ICA0016 Oracle programmeerimiskeeled SQL ja PLSQL 14-Ülesanne #2
Punktid 50 punkti Autor soovib selle materjali allalaadimise eest saada 50 punkti.
Leheküljed ~ 2 lehte Lehekülgede arv dokumendis
Aeg2021-12-07 Kuupäev, millal dokument üles laeti
Allalaadimisi 3 laadimist Kokku alla laetud
Kommentaarid 0 arvamust Teiste kasutajate poolt lisatud kommentaarid
Autor 199470 Õppematerjali autor
ICA0016 Oracle programmeerimiskeeled SQL ja PLSQL 14. koduülesanne täelik lahendus koos selgituste ja piltidega.

Sarnased õppematerjalid

ICA0016 Oracle programmeerimiskeeled SQL ja PLSQL 8-ülesanne
3
pdf

ICA0016 Oracle programmeerimiskeeled SQL ja PLSQL 8. ülesanne

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),

Oracle programmeerimiskeeled sql ja plsql
14 yl
19
txt

14_yl

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

Oracle programmeerimiskeeled sql ja plsql
Andmebaaside programmeerimine
81
doc

Andmebaaside programmeerimine

..................................................................................... 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.....................................

Andmebaaside projekteerimine
Andmebaasid
15
pdf

Andmebaasid

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).

Andmebaasid
Programmeerimine PHP
134
pdf

Programmeerimine PHP

000.000.000 päringuid päevas) Digg – http://digg.com/ Informatsiooni vahetamise portaal (rohkem kui 26.000.000 külastajaid kuus) Wikipedia – http://www.wikipedia.org/ Veebipõhine entsüklopeedia (rohkem kui 251.000.000 külastajaid kuus) Lisalugemist Veebiserveritest (www) - inglise keeles Apache home page (www) - inglise keeles Apache põhjalik kasutusjuhend (www) - eesti keeles PHP programmeerija piibel (www) - inglise keeles Video Programmeerimiskeeled (3:08) (www) - inglise keeles Serveripoolsed skriptikeeled (6:50) (www) - inglise keeles 1.2 Installeerimine Klient-server arhitektuur, millest oli jutt peatükkis 1.1 nõuab vähemalt 3 elementi: kliendi arvutit, võrguühendust ning veebiserveri ja muu vajaliku tarkvaraga serveri arvutit. Arendamise etapil piisab tihti ainult ühest lokaalarvutist, millele on installeeritud brauser

Allika?petus
Access
24
doc

Access

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

Arvutiõpetus
Andmebaaside eksami kordamisküsimuste vastused
56
doc

Andmebaaside eksami kordamisküsimuste vastused

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.

Andmebaasid I
Nimetu
575
docx

Nimetu

Kui aga peetava kursuse eesmärgiks on anda ka andmebaaside projekteerimise põhialused (nagu kõrgkoolides kombeks), siis on vaja lisaks tutvuda veel andmemudelite, normaalkujude jm. andmebaasiteooria alla kuuluvate teemadega. Iga osa lõpus on ülesanded. Neid on püütud sättida nõnda, et keskmisel õppuril oleks paras jutt läbi lugeda, läbi mõelda, mõni näide ka järele proovida. Ning siis ülesanded ette võtta ja nende abil kogu lugu otsast peale uuesti läbi teha. Kui aga mõni ülesanne tundub juba tõsiselt tuttav ja liialt lihtne, eks selle või siis vahele jätta. Või kiiresti läbi proovida, et kas ikka on nii lihtne kui pealtnäha tundub. Samuti, kui pärast ülesannete läbitegemist kipub vastav peatükk ikka segaseks jääma, tuleb kindlasti kasuks, kui enesele või oma õpilastele mõned teemakohased toimetused juurde mõelda ning sealtkaudu kogu lugu veel korra läbi katsetada. Kordamine on tarkuse ema.

Informaatika




Meedia

Kommentaarid (0)

Kommentaarid sellele materjalile puuduvad. Ole esimene ja kommenteeri



Sellel veebilehel kasutatakse küpsiseid. Kasutamist jätkates nõustute küpsiste ja veebilehe üldtingimustega Nõustun