Upload
marta-sostarec
View
215
Download
1
Embed Size (px)
DESCRIPTION
bp2
Citation preview
II KOLOKVIJ iz vježbi kolegija BAZE PODATAKA I 5. lipanj 2007.
Grupa 10
NAPOMENA: Svi zadaci trebaju biti pohranjeni u jednoj datoteci te poslani na zato predviđenoj adresi http://arka.foi.hr/~mschatten/bp1/kolokvij2/. Za sve kreirane tablice, sekvence, poglede i eventualne indekse podrazumijeva se implementacija njihovog brisanja. Preporuča se da se prvo implementiraju eventualne sekvence, zatim tablice, indeksi, unos podataka, upiti i ažuriranja i na kraju brisanje kako bi se omogućilo testiranje s psql < zadatak_kolokvij. Zadatak mora biti bez sintaktičkih pogrešaka kako bi se za njega priznao bod.
Zadatak 1. (3 boda)Implementirajte parcijalnu bazu podataka za građevinsko poduzeće koja se sastoji od sljedećih relacija:
RADNIK● sifra (cjelobrojna vrijednost, povećava se samostalno, primarni ključ relacije)● ime (znakovni niz do 20 znakova, ne smije poprimiti vrijednost null)● prezime (znakovni niz do 20 znakova, ne smije poprimiti vrijednost null)● sprema (znakovni niz od točno tri znaka, smije poprimiti isključivo vrijednosti 'NSS', 'SSS' ili 'VSS')
GRADILISTE● sifra (cjelobrojna vrijednost, povećava se samostalno, primarni ključ relacije)● naziv (znakovni niz do 50 znakova, ne smije poprimiti null, jedinstven u relaciji)
RASPOREDJEN● radnik (cjelobrojna vrijednost, referencira se na relaciju RADNIK)● gradiliste (cjelobrojna vrijednost, referencira se na relaciju GRADILISTE)● datum (vremenski tip dana u vremenu, ako se ne upiše vrijednost upisuje se trenutni datum)● ograničenje – primarni ključ čine svi atributi relacije● organičenje – atributi radnik i datum zajedno su jedinstveni u relaciji
Zadatak 2. (1 bod)U sve relacije unesite po 10 podataka tako da je svaki radnik raspoređen na neko gradilište.
Zadatak 3. (1 bod)Kreirajte pogled dnevna_statistika koji će sadržavati naziv gradilišta, broj na to gradilište raspoređenih radnika i to na današnji dan (dakle prikazivati će se uvijek dnevna statistika bez obzira kada se pristupalo pogledu).
Zadatak 4. (1 bod)Napravite upit koji će vratiti naziv gradilišta na koje je bio raspoređen najveći broj radnika.
Zadatak 5. (1 bod)Napravite upit koji će vratiti broj radnika prema stručnim spremama.
Zadatak 6. (2 boda)Napravite upit koji će vratiti ime i prezime onog radnika koji je radio na najvećem broju gradilišta.
Zadatak 7. (3 boda)Implementirajte funkciju rasporedi koja će za zadano ime i prezime radnika, te zadani naziv gradilišta dotičnog radnika danas rasporediti na dotično gradilište.
Zadatak 8. (1 bod)Promijenite tablicu GRADILISTE tako da dodate kolonu 'opis' koja će biti tipa neograničeno tekstualno polje u koje se upisuje prazan znakovni niz ('') ako se ne definira vrijednost pri upisu.
Zadatak 9. (2 boda) Implementirajte transakciju koja će prvo unesti novog radnika u tablicu RADNIK te nakon toga tog radnika rasporediti na neko gradilište upisom u tablicu RASPOREDJEN.