Doc. dr. sc. Markus Schatten. Zbirka rješenih zadataka iz baza podataka

Σχετικά έγγραφα
Osnovni primer. (Z, +,,, 0, 1) je komutativan prsten sa jedinicom: množenje je distributivno prema sabiranju

Linearna algebra 2 prvi kolokvij,

IZVODI ZADACI (I deo)

IZVODI ZADACI ( IV deo) Rešenje: Najpre ćemo logaritmovati ovu jednakost sa ln ( to beše prirodni logaritam za osnovu e) a zatim ćemo

TRIGONOMETRIJSKE FUNKCIJE I I.1.

Operacije s matricama

2 tg x ctg x 1 = =, cos 2x Zbog četvrtog kvadranta rješenje je: 2 ctg x

1.4 Tangenta i normala

Linearna algebra 2 prvi kolokvij,

a M a A. Može se pokazati da je supremum (ako postoji) jedinstven pa uvodimo oznaku sup A.

ELEKTROTEHNIČKI ODJEL

M086 LA 1 M106 GRP. Tema: Baza vektorskog prostora. Koordinatni sustav. Norma. CSB nejednakost

Iskazna logika 3. Matematička logika u računarstvu. novembar 2012

1 Promjena baze vektora

Trigonometrija 2. Adicijske formule. Formule dvostrukog kuta Formule polovičnog kuta Pretvaranje sume(razlike u produkt i obrnuto

(P.I.) PRETPOSTAVKA INDUKCIJE - pretpostavimo da tvrdnja vrijedi za n = k.

INTEGRALNI RAČUN. Teorije, metodike i povijest infinitezimalnih računa. Lucija Mijić 17. veljače 2011.

18. listopada listopada / 13

PRAVA. Prava je u prostoru određena jednom svojom tačkom i vektorom paralelnim sa tom pravom ( vektor paralelnosti).

UNIVERZITET U NIŠU ELEKTRONSKI FAKULTET SIGNALI I SISTEMI. Zbirka zadataka

Strukture podataka i algoritmi 1. kolokvij 16. studenog Zadatak 1

H SQL είναι η γλώσσα για όλα τα εμπορικά σχεσιακά συστήματα διαχείρισης βάσεων δεδομένων

VJEŽBE 3 BIPOLARNI TRANZISTORI. Slika 1. Postoje npn i pnp bipolarni tranziostori i njihovi simboli su dati na slici 2 i to npn lijevo i pnp desno.

TRIGONOMETRIJA TROKUTA

Ĉetverokut - DOMAĆA ZADAĆA. Nakon odgledanih videa trebali biste biti u stanju samostalno riješiti sljedeće zadatke.

3.1 Granična vrednost funkcije u tački

POVRŠINA TANGENCIJALNO-TETIVNOG ČETVEROKUTA

π π ELEKTROTEHNIČKI ODJEL i) f (x) = x 3 x 2 x + 1, a = 1, b = 1;

Sume kvadrata. mn = (ax + by) 2 + (ay bx) 2.

Pismeni ispit iz matematike Riješiti sistem jednačina i diskutovati rješenja sistema u zavisnosti od parametra: ( ) + 1.

Apsolutno neprekidne raspodele Raspodele apsolutno neprekidnih sluqajnih promenljivih nazivaju se apsolutno neprekidnim raspodelama.

PARCIJALNI IZVODI I DIFERENCIJALI. Sama definicija parcijalnog izvoda i diferencijala je malo teža, mi se njome ovde nećemo baviti a vi ćete je,

RIJEŠENI ZADACI I TEORIJA IZ

7 Algebarske jednadžbe

MATRICE I DETERMINANTE - formule i zadaci - (Matrice i determinante) 1 / 15

Numerička matematika 2. kolokvij (1. srpnja 2009.)

DISKRETNA MATEMATIKA - PREDAVANJE 7 - Jovanka Pantović

Pismeni ispit iz matematike GRUPA A 1. Napisati u trigonometrijskom i eksponencijalnom obliku kompleksni broj, zatim naći 4 z.

Pravilo 1. Svaki tip entiteta ER modela postaje relaciona šema sa istim imenom.

Βάσεις Δεδομένων Ι SQL Μέρος 3 ο. (Constraints & Joins) Φώτης Κόκκορας (MSc/PhD) Τμήμα Μηχανικών Πληροφορικής ΤΕ

( , treći kolokvij) 3. Na dite lokalne ekstreme funkcije z = x 4 + y 4 2x 2 + 2y 2 3. (20 bodova)

KOMUTATIVNI I ASOCIJATIVNI GRUPOIDI. NEUTRALNI ELEMENT GRUPOIDA.

Pošto pretvaramo iz veće u manju mjernu jedinicu broj 2.5 množimo s 1000,

SEMINAR IZ KOLEGIJA ANALITIČKA KEMIJA I. Studij Primijenjena kemija

Sistemi veštačke inteligencije primer 1

- pravac n je zadan s točkom T(2,0) i koeficijentom smjera k=2. (30 bodova)

Računarska grafika. Rasterizacija linije

MATEMATIKA I 1.kolokvij zadaci za vježbu I dio

Kaskadna kompenzacija SAU

Ispit održan dana i tačka A ( 3,3, 4 ) x x + 1

21. ŠKOLSKO/OPĆINSKO/GRADSKO NATJECANJE IZ GEOGRAFIJE GODINE 8. RAZRED TOČNI ODGOVORI

41. Jednačine koje se svode na kvadratne

radni nerecenzirani materijal za predavanja R(f) = {f(x) x D}

Matematičke metode u marketingumultidimenzionalno skaliranje. Lavoslav ČaklovićPMF-MO

Veleučilište u Rijeci Stručni studij sigurnosti na radu Akad. god. 2011/2012. Matematika. Monotonost i ekstremi. Katica Jurasić. Rijeka, 2011.

Riješeni zadaci: Nizovi realnih brojeva

VJEROJATNOST I STATISTIKA Popravni kolokvij - 1. rujna 2016.

Matematička analiza 1 dodatni zadaci

Relacijski model podataka i osnove relacijske algebre

STATISTIKA S M E I M N I AR R 7 : METODE UZORKA

Riješeni zadaci: Limes funkcije. Neprekidnost

ZBIRKA POTPUNO RIJEŠENIH ZADATAKA

NOMENKLATURA ORGANSKIH SPOJEVA. Imenovanje aromatskih ugljikovodika

Funkcije dviju varjabli (zadaci za vježbu)

( ) ( ) Zadatak 001 (Ines, hotelijerska škola) Ako je tg x = 4, izračunaj

Elementi spektralne teorije matrica

Neka je a 3 x 3 + a 2 x 2 + a 1 x + a 0 = 0 algebarska jednadžba trećeg stupnja. Rješavanje ove jednadžbe sastoji se od nekoliko koraka.

Dvanaesti praktikum iz Analize 1

Više dokaza jedne poznate trigonometrijske nejednakosti u trokutu

Uvod u teoriju brojeva

ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Ι Ενότητα 3:

Program za tablično računanje Microsoft Excel

ELEMENTARNA MATEMATIKA 1

DRUGI KOLOKVIJUM IZ MATEMATIKE 9x + 6y + z = 1 4x 2y + z = 1 x + 2y + 3z = 2. je neprekidna za a =

Kontrolni zadatak (Tačka, prava, ravan, diedar, poliedar, ortogonalna projekcija), grupa A

IZRAČUNAVANJE POKAZATELJA NAČINA RADA NAČINA RADA (ISKORIŠĆENOSTI KAPACITETA, STEPENA OTVORENOSTI RADNIH MESTA I NIVOA ORGANIZOVANOSTI)

radni nerecenzirani materijal za predavanja

2. Ako je funkcija f(x) parna onda se Fourierov red funkcije f(x) reducira na Fourierov kosinusni red. f(x) cos

POTPUNO RIJEŠENIH ZADATAKA PRIRUČNIK ZA SAMOSTALNO UČENJE

Βάσεις Δεδομένων και Ευφυή Πληροφοριακά Συστήματα Επιχειρηματικότητας. 4ο Μάθημα: SQL - Παράδειγμα. Δρ. Κωνσταντίνος Χ.

Betonske konstrukcije 1 - vežbe 3 - Veliki ekscentricitet -Dodatni primeri

4.7. Zadaci Formalizam diferenciranja (teorija na stranama ) 343. Znajući izvod funkcije x arctg x, odrediti izvod funkcije x arcctg x.

Οι εντολές CREATE TABLE, ALTER TABLE, CREATE KEY, ALTER KEY.

Teorijske osnove informatike 1

Zadaci iz Osnova matematike

numeričkih deskriptivnih mera.

Βάσεις Δεδομένων (Databases)

Οι εντολές CREATE TABLE, ALTER TABLE, CREATE KEY, ALTER KEY.

Zavrxni ispit iz Matematiqke analize 1

Slučajni procesi Prvi kolokvij travnja 2015.

( , 2. kolokvij)

( x) ( ) ( ) ( x) ( ) ( x) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( )

Neka su A i B skupovi. Kažemo da je A podskup od B i pišemo A B ako je svaki element skupa A ujedno i element skupa B. Simbolima to zapisujemo:

Računarska grafika. Rasterizacija linije

2.2 Srednje vrijednosti. aritmetička sredina, medijan, mod. Podaci (realizacije varijable X): x 1,x 2,...,x n (1)

MATEMATIKA 2. Grupa 1 Rexea zadataka. Prvi pismeni kolokvijum, Dragan ori

Ηλεκτρονικοί Υπολογιστές II

KVADRATNA FUNKCIJA. Kvadratna funkcija je oblika: Kriva u ravni koja predstavlja grafik funkcije y = ax + bx + c. je parabola.

Klasifikacija blizu Kelerovih mnogostrukosti. konstantne holomorfne sekcione krivine. Kelerove. mnogostrukosti. blizu Kelerove.

EKSPONENCIJALNE i LOGARITAMSKE FUNKCIJE

Transcript:

Doc. dr. sc. Markus Schatten Zbirka rješenih zadataka iz baza podataka

Sadržaj 1 Relacijska algebra 1 1.1 Izračun upita....................................... 1 1.2 Relacijska algebra i SQL................................. 6 2 SQL 9 i

ii

Predgovor iii

iv

1 Relacijska algebra 1.1 Izračun upita Zadatak 1.1 Zadane su relacije i ograničenje: r 1 A B C 1 0 2 2 1 3 r 2 B C D 0 2 2 0 2 3 F = (A = D) Neka je zadan upit RA(U): σ F (Π AD (r 1 oo r 2 )) Izračunajte odgovor na upit koristeći relacijsku algebru. Rješenje Sa s i označavat ćemo medurezultate. s 1 = r 1 oo r 2 A B C D 1 0 2 2 1 0 2 3 2 3 s 2 = Π AD (s 1 ) A D 1 2 1 3 2 2 2 3 t 1 : (1 = 2) t 2 : (1 = 3) t 3 : (2 = 2) 1

t 4 : (2 = 3) Zadatak 1.2 Zadane su relacije i ograničenje: σ F (s 2 ) A D 2 2 r 1 A B C 1 3 1 r 2 A B C 3 2 3 F = (A > B) (C 2) Neka je zadan upit RA(U): Π AB (σ F (r 1 r 2 )) Izračunajte odgovor na upit koristeći relacijsku algebru. Rješenje Sa s i označavat ćemo medurezultate. s 1 = r 1 r 2 A B C 1 3 1 3 2 3 t 1 : (1 > 3) (1 2) t 2 : (2 > 0) (2 2) t 3 : (1 > 1) (2 2) t 4 : (3 > 2) (3 2) s 2 = σ F (s 1 ) A B C 1 3 1 3 2 3 Zadatak 1.3 Zadane su relacije i ograničenje Π AB (s 2 ) A B 1 3 2 0 3 2 r A B C 1 3 1 s B C D 3 2 3 Izračunajte AC(Π r.c,s.b (σ H (r s))). H = [(A s.c) (r.b > s.b)] (A < s.c) 2

Rješenje Sa r i označavat ćemo medurezultate. r 1 = r s A r.b r.c s.b s.c D 1 3 1 1 3 1 3 2 3 3 2 3 t 1 : [(1 1) (3 > 1)] (1 < 1) [ ] t 2 : [(1 2) (3 > 3)] (1 < 2) [ ] t 3 : [(2 1) (0 > 1)] (2 < 1) [ ] t 4 : [(2 2) (0 > 3)] (2 < 2) [ ] r 2 = σ H (r 1 ) A r.b r.c s.b s.c D 1 3 1 3 2 3 r 3 = Π r.c,s.b (r 2 ) r.c s.b 1 3 2 1 AC(r 3 ) = = = Π r.c (r 3 ) r.c 1 2 oo Π s.b (r 3 ) Π r.c (r 3 ) oo Π s.b (r 3 ) r.c s.b 1 3 1 1 2 3 2 1 AC(r 3 ) r.c s.b 1 1 2 3 s.b 3 1 r 3 r 3 Zadatak 1.4 Zadane su relacije i ograničenje r 1 A B C 2 2 1 1 1 0 3 1 1 r 2 B C D 2 1 0 1 0 2 F = [(A < B)(B 2)] (B C) Potrebno je izračunati upit RA(U) : AC(Π AD (σ F (r 1 oo r 2 ))) Rješenje Sa s i ćemo označavati medurezultate. s 1 = r 1 oo r 2 A B C D 2 2 1 0 1 1 0 2 3 t 1 : [(2 < 2) (2 2)] (2 1) [ ] 3

t 1 : [(1 < 1) (1 2)] (1 0) [ ] t 1 : [(3 < 1) (1 2)] (1 1) [ ] s 2 = σ F (s 1 ) A B C D 2 2 1 0 1 1 0 2 s 3 = Π AD (s 2 ) A D 2 0 1 2 AC(s 3 ) = = = Π A (s 3 ) A 2 1 oo Π D (s 3 ) Π A (s 3 ) oo Π D (s 3 ) A D 2 0 2 2 1 0 1 2 AC(s 3 ) A D 2 2 1 0 D 0 2 s 3 s 3 Zadatak 1.5 Zadane su relacije i ograničenje: r 1 A B C 4 2 3 r 2 A B C 3 2 3 F = [(A > B) (C 2)] (A > 2) Neka je zadan upit RA(U): AC(Π AB (σ F (r 1 r 2 ))) Izračunajte odgovor na upit koristeći relacijsku algebru. Rješenje Sa s i označavat ćemo medurezultate. s 1 = r 1 r 2 A B C [(1 > 1) (2 2)] (1 > 2) [ ] [(2 > 0) (2 2)] (2 > 2) [ ] s 2 = σ F (s 1 ) A B C s 3 = Π AB(s 2 ) A B 1 1 4

AC(s 3 ) = ( ΠA (s 3 ) A 1 oo Π B(s 3 ) B 1 = Π A(s 3 ) oo Π B (s 3 ) A B 1 1 s 3 = AC(s 3) A B Zadatak 1.6 Zadane su relacije i ograničenja: ) s 3 r 1 A B C D 2 2 b 3 1 4 b 2 5 1 a 2 r 2 A B D 2 2 3 3 2 3 F = (A B) (D 2) G = (C a) Neka je zadan upit RA(U): AC(Π ABD (σ G (r 1 )) σ F (r 2 )) Izračunajte odgovor na upit koristeći relacijsku algebru. Rješenje Sa s i označavat ćemo medurezultate. s 1 = σ G (r 1 ) A B C D 2 2 b 3 1 4 b 2 (b a) (b a) (a a) s 2 = Π ABD (s 1 ) A B D 2 2 3 1 4 2 s 3 = σ F (r 2 ) A B D 2 2 3 (1 1) (2 2) (2 2) (3 2) (3 2) (4 2) s 4 = s 2 s 3 A B D 2 2 3 1 4 2 5

AC(s 4 ) = = = Π A (s 4 ) A 2 1 oo Π B (s 4 ) B 2 4 oo Π D (s 4 ) Π A (s 4 ) oo Π B (s 4 ) oo Π D (s 4 ) A B D 2 2 3 2 2 2 2 4 3 2 4 2 1 2 3 1 2 2 1 4 3 1 4 2 AC(s 4 ) A B D 2 2 2 2 4 3 2 4 2 1 2 3 1 2 2 1 4 3 D 3 2 s 4 s 4 1.2 Relacijska algebra i SQL Zadatak 1.7 Zadane su relacije: Neka je zadan upit SQL(U): SELECT r. A, r. B, s.d FROM r, s WHERE r. C = s. C AND A > 1 r A B C 1 3 1 s B C D 3 2 3 (a) Iskažite upit u relacijskoj algebri (RA(U)) (b) Izračunajte odgovor na upit koristeći relacijsku algebru. Rješenje Rješavamo (a). Iz SELECT klauzule isčitavamo elemente u konačnoj projekciji. Sa r i označavat ćemo relacije koje još valja izračunati: Π A r.b D (r 1 ) Iz WHERE klauzule isčitavamo formulu za selekciju: Sada imamo odnosno: F = (r.c = s.c) (A > 1) r 1 = σ F (r 2 ) 6

r 1 = σ (r.c=s.c) (A>1) (r 2 ) Iz FROM klauzule isčitavamo relacije koje valja staviti u produkt. Stoga imamo: Konačno rješenje je stoga: Rješavamo (b). r 2 = r s Π A r.b D (σ (r.c=s.c) (A>1) (r s)) r s A r.b r.c s.b s.c D 1 3 1 1 3 1 3 2 3 3 2 3 t 1 : (1 = 1) (1 > 1) t 2 : (1 = 2) (1 > 1) t 3 : (2 = 1) (2 > 1) t 4 : (2 = 2) (2 > 1) σ (r.c=s.c) (A>1) (r s) A r.b r.c s.b s.c D 3 2 3 Zadatak 1.8 Zadane su relacije i ograničenje: Π A r.b D (σ (r.c=s.c) (A>1) (r s)) A r.b D 2 0 3 r 1 A B C D 1 a 1 α 2 b 2 β 2 c 2 α r 2 A B E 1 a 2 2 c 2 3 a 3 F = (A > C) (D β) Neka je zadan upit RA(U): Π AC (σ F (r 1 oo r 2 )) (a) Izračunajte odgovor na upit koristeći relacijsku algebru. (b) Pretvorite RA(U) u SQL(U) Rješenje Rješavamo (a): S s i označavat ćemo medurezultate. s 1 = r 1 oo r 2 A B C D E 1 a 1 α 2 2 c 2 α 2 7

t 1 : (1 > 1) (α β) t 2 : (2 > 2) (α β) s 2 = σ F (s 1 ) A B C D E s 3 = Π AC (σ F (r 1 oo r 2 )) = Π AC (s 2 ) A C Rješavamo (b): Počinjemo sa SELECT klauzulom koja je ekvivalentna konačnoj projekciji: SELECT A, C U FROM klauzuli moraju se pojaviti sve relacije iz RA(U): FROM r 1, r 2 U WHERE klauzuli moramo uvrstiti ograničenje F : WHERE A > C AND D <> β Prirodni spoj je samo dodatno ograničenje u WHERE klauzuli: r 1.A = r 2.A AND r 1.B = r 2.B Dakle ukupni upit je: SELECT A, C FROM r 1, r 2 WHERE A > C AND D <> β AND r 1.A = r 2.A AND r 1.B = r 2.B Ovaj rezultat nije u potpunosti točan, obzirom da u SELECT i WHERE klauzuli nije jasno na koji se atribut A misli (A iz r 1 ili A iz r 2 ). SQL stroj u pravilu ne zaključuje o jednakosti atributa temeljem imena, već temeljem imena i relacije u kojoj se oni nalaze, zbog čega je potrebno koristiti notaciju naziv relacije.naziv atributa. Obzirom da se kasnije u WHERE klauzuli atribut A iz jedne relacije izjednačava atributom u drugoj relaciji (uvjet prirodnog spoja), u našem slučaju možemo proizvoljno odabrati relaciju: SELECT r 1.A, C FROM r 1, r 2 WHERE r 1.A > C AND D <> β AND r 1.A = r 2.A AND r 1.B = r 2.B 8

2 SQL Zadatak 2.1 Zadana je relacija Zadana su ograničenja: ˆ Šifra je primarni ključ relacije ˆ Svaki artikl mora imati jedinstven naziv ˆ Jedinična cijena ne smije biti negativna artikl Šifra Naziv Jedinična cijena 1 Kava 8 2 Rakija 4 3 Klipić 2 (a) Kreirajte u SQL-u strukturu tablice artikl s odgovarajućim ograničenjima. (b) Neka je zadan upit U : odrediti sve one šifre i nazive artikala čija je cijena veća od 3. Napišite SQL(U) i RA(U). Zatim izračunajte relaciju o(ra(u)) koja je odgovor na upit U. Rješenje Rješavamo (a): CREATE TABLE a r t i k l ( s i f r a INT PRIMARY KEY, n a z i v VARCHAR UNIQUE, j e d i n i c n a c i j e n a FLOAT CHECK( j e d i n i c n a c i j e n a > 0 ) ) Rješavamo (b): SQL(U): SELECT s i f r a, n a z i v FROM a r t i k l WHERE j e d i n i c n a c i j e n a > 3 9

RA(U) : Π sifra, cijena (σ jedinicna cijena>3 (artikl)) Sa r i označavat ćemo medurezultate: t 1 : (8 > 3) t 2 : (4 > 3) t 3 : (2 > 3) r 1 = σ jedinicna cijena>3 (artikl) sifra naziv jedinična cijena 1 Kava 8 2 Rakija 4 Zadatak 2.2 Zadana je relacija Π sifra, cijena (r 1 ) sifra jedinična cijena 1 8 2 4 pr N P n 1 bp n 1 uz n 2 bp n 3 bp n 3 uz fm Semantika: pr(n, p) znači da nastavnik n predaje predmet p. (a) Kreirajte u SQL-u strukturu tablice pr (b) Iskažite riječima entitetski integritet za tablicu pr n 3 (c) Neka je zadan upit U : odrediti sve one nastavnike koji predaju predmet uz i ne predaju predmet fm. Napišite SQL(U) i tablicu o(sql(u)) koja je odgovor na upit SQL(U). Rješenje Rješavamo (a): CREATE TABLE p r ( N VARCHAR( 2 ), P VARCHAR( 2 ), PRIMARY KEY( N, P ) ) Rješavamo (b). U relaciji (tablici) pr vrijednosti atributa N i P ne smiju poprimiti vrijednost null jer su dio primarnog ključa. Rješavamo (c). SELECT N FROM pr WHERE P = uz AND N NOT IN ( 10

) SELECT N FROM pr WHERE P = fm o(sql(u)) N n 1 Zadatak 2.3 Zadana je relacija i ograničenja knjiga ISBN Naslov Godina 1 Programiranje u Prologu 1992 2 Arhitektura suvremenih organizacija 2005 3 Teorija baza podataka 2009 ˆ Svaka knjiga mora imati naslov i godinu izdanja ˆ Godina izdanja mora biti veća od 1900 (a) Kreirajte u SQL-u strukturu tablice knjiga s odgovarajućim ograničenjima. (b) Neka je zadan upit U : odrediti sve one naslove knjiga koje su izdane nakon 2000 godine. Napišite SQL(U) i RA(U). Zatim izračunajte relaciju o(ra(u)) koja je odgovor na upit U. Rješenje Rješavamo (a). CREATE TABLE k n j i g a ( ISBN INTEGER PRIMARY KEY, Naslov TEXT NOT NULL, Godina INTEGER NOT NULL CHECK( Godina > 1900 ) ) Rješavamo (b). SQL(U): SELECT Naslov FROM k n j i g a WHERE Godina > 2000 RA(U) : Π Naslov (σ Godina>2000 (knjiga)) t 1 : 1992 > 2000 t 2 : 2005 > 2000 t 3 : 2009 > 2000 r 1 = σ Godina>2000 (knjiga) ISBN Naslov Godina 2 Arhitektura suvremenih organizacija 2005 3 Teorija baza podataka 2009 Π Naslov (r 1 ) Naslov Arhitektura suvremenih organizacija Teorija baza podataka 11

Zadatak 2.4 Zadana je relacija Zadana su ograničenja: knjiga ISBN Naslov Godina 1 Programiranje u Prologu 1992 2 Arhitektura suvremenih organizacija 2005 3 Teorija baza podataka 2009 ˆ Svaka knjiga mora imati naslov ˆ Ako se ne specificira godina izdanja upisuje se 2011 (a) Kreirajte u SQL-u strukturu tablice knjiga s odgovarajućim ograničenjima. (b) Neka je zadan upit U : odrediti sve one naslove knjiga koje su izdane prije 2008 godine. Napišite SQL(U) i RA(U). Zatim izračunajte relaciju o(ra(u)) koja je odgovor na upit U. Rješenje Rješavamo (a). CREATE TABLE k n j i g a ( ISBN INTEGER PRIMARY KEY, Naslov TEXT NOT NULL, Godina INTEGER DEFAULT 2011 ) Rješavamo (b). SQL(U): SELECT Naslov FROM k n j i g a WHERE Godina < 2008 RA(U) : Π Naslov (σ Godina<2008 (knjiga)) t 1 : 1992 < 2008 t 2 : 2005 < 2008 t 3 : 2009 < 2008 r 1 = σ Godina>2000 (knjiga) ISBN Naslov Godina 1 Programiranje u Prologu 1992 2 Arhitektura suvremenih organizacija 2005 Π Naslov (r 1 ) Naslov Programiranje u Prologu Arhitektura suvremenih organizacija Zadatak 2.5 Zadana je relacija Zadana su ograničenja (poslovna pravila): račun broj računa klijent saldo 1 k 1 2134, 56 2 k 2 444, 09 3 k 3 234, 43 4 k 1 342.51 12

ˆ Svaki baknovni račun mora imati broj računa, klijenta i saldo ˆ Dopušten negativni saldo može biti 2000 (a) Kreirajte u SQL-u strukturu tablice račun s odgovarajućim ograničenjima. (b) Neka je zadan upit U : odrediti sve one klijente koji imaju barem jedan račun s negativnim saldom. Napišite SQL(U) i RA(U). Zatim izračunajte relaciju o(ra(u)) koja je odgovor na upit U. Rješenje Rješavamo (a). CREATE TABLE racun ( b r o j racuna INTEGER PRIMARY KEY, k l i j e n t TEXT NOT NULL, s a l d o DECIMAL NOT NULL CHECK( s a l d o > 2000 ) ) Rješavamo (b). SQL(U): SELECT k l i j e n t FROM racun WHERE s a l d o < 0 RA(U) : Π klijent (σ saldo<0 (racun)) t 1 : 2134, 56 < 0 t 2 : 444, 09 < 0 t 3 : 234, 43 < 0 t 4 : 342.51 < 0 r 1 = σ saldo<0 (racun) broj racuna klijent saldo 1 k 3 234, 43 2 k 1 342.51 Π klijent (r 1 ) klijent k 3 k 1 Zadatak 2.6 Zadana je baza podataka tvprogram vrijeme emisija 26.06.2011. 10:00 1 26.06.2011. 10:30 2 26.06.2011. 11:45 2 Zadana su ograničenja: emisija šifra naziv opis žanr 1 e 1 o 1 z 1 2 e 2 o 2 z 1 3 e 3 o 3 z 2 ˆ Primarni ključ relacije tvprogram je vrijeme ˆ Primarni ključ relacije emisija je šifra ˆ Naziv emisije je jedinstven u relaciji emisija 13

ˆ Atribut emisija u relaciji tvprogram vanjski je ključ koji se referencira na primarni ključ relacije emisija Kreirajte u SQL-u strukturu tablica tvprogram i emisija s odgovarajućim ograničenjima. Rješenje Rješenje za tablicu emisija: CREATE TABLE e m i s i j a ( s i f r a INTEGER PRIMARY KEY, n a z i v TEXT UNIQUE, o p i s TEXT, z a n r TEXT, ) Rješenje za tablicu tvprogram: CREATE TABLE tvprogram ( v r i j e m e DATETIME PRIMARY KEY, e m i s i j a INTEGER FOREIGN KEY REFERENCES e m i s i j a ( s i f r a ) ) 14