Zbirka ispitnih zadataka iz Baza Podataka 1 Ispiti i kolokvijumi u periodu

Similar documents
Uvod u relacione baze podataka

Mathcad sa algoritmima

KLASIFIKACIJA NAIVNI BAJES. NIKOLA MILIKIĆ URL:

TEORIJA SKUPOVA Zadaci

Projektovanje paralelnih algoritama II

Fajl koji je korišćen može se naći na

Slika 1. Slika 2. Da ne bismo stalno izbacivali elemente iz skupa, mi ćemo napraviti još jedan niz markirano, gde će

Rešenja zadataka za vežbu na relacionoj algebri i relacionom računu

Programiranje u realnom vremenu Bojan Furlan

A L A BA M A L A W R E V IE W

P a g e 5 1 of R e p o r t P B 4 / 0 9

35H MPa Hydraulic Cylinder 3.5 MPa Hydraulic Cylinder 35H-3

Red veze za benzen. Slika 1.

4 8 N v btr 20, 20 th r l f ff nt f l t. r t pl n f r th n tr t n f h h v lr d b n r d t, rd n t h h th t b t f l rd n t f th rld ll b n tr t d n R th

176 5 t h Fl oo r. 337 P o ly me r Ma te ri al s

,. *â â > V>V. â ND * 828.

Zadatci sa ciklusima. Zadatak1: Sastaviti progra koji određuje z ir prvih prirod ih rojeva.

BERNSTEINOV ALGORITAM ZA VERTIKALNU 3NF NORMALIZACIJU SINTEZOM

T h e C S E T I P r o j e c t

:,,.. ;,..,.,. 90 :.. :, , «-»,, -. : -,,, -, -., ,, -, -. - «-»:,,, ,.,.

n r t d n :4 T P bl D n, l d t z d th tr t. r pd l

MetroCount Traffic Executive Individual Vehicles

Th n nt T p n n th V ll f x Th r h l l r r h nd xpl r t n rr d nt ff t b Pr f r ll N v n d r n th r 8 l t p t, n z n l n n th n rth t rn p rt n f th v

CATAVASII LA NAȘTEREA DOMNULUI DUMNEZEU ȘI MÂNTUITORULUI NOSTRU, IISUS HRISTOS. CÂNTAREA I-A. Ήχος Πα. to os se e e na aș te e e slă ă ă vi i i i i

MATHEMATICAL ANALYSIS OF PERFORMANCE OF A VIBRATORY BOWL FEEDER FOR FEEDING BOTTLE CAPS

P a g e 3 6 of R e p o r t P B 4 / 0 9

4 4 N v b r t, 20 xpr n f th ll f th p p l t n p pr d. H ndr d nd th nd f t v L th n n f th pr v n f V ln, r dn nd l r thr n nt pr n, h r th ff r d nd

PRIMJENA USMJERENIH HIPERGRAFOVA ZA PREDSTAVLJANJE FUNKCIONALNIH ZAVISNOSTI U RELACIONIM MODELIMA

i;\-'i frz q > R>? >tr E*+ [S I z> N g> F 'x sa :r> >,9 T F >= = = I Y E H H>tr iir- g-i I * s I!,i --' - = a trx - H tnz rqx o >.F g< s Ire tr () -s

ANALYSIS OF THE RELIABILITY OF THE "ALTERNATOR- ALTERNATOR BELT" SYSTEM

DISTRIBUIRANI ALGORITMI I SISTEMI

Chapter y. 8. n cd (x y) 14. (2a b) 15. (a) 3(x 2y) = 3x 3(2y) = 3x 6y. 16. (a)

Algoritam za množenje ulančanih matrica. Alen Kosanović Prirodoslovno-matematički fakultet Matematički odsjek

Osobine metode rezolucije: zaustavlja se, pouzdanost i kompletnost. Iskazna logika 4

24. Balkanska matematiqka olimpijada

OH BOY! Story. N a r r a t iv e a n d o bj e c t s th ea t e r Fo r a l l a g e s, fr o m th e a ge of 9

Last 4 Digits of USC ID:

Iskazna logika 1. Matematička logika u računarstvu. oktobar 2012

Scripture quotations marked cev are from the Contemporary English Version, Copyright 1991, 1992, 1995 by American Bible Society. Used by permission.

0 t b r 6, 20 t l nf r nt f th l t th t v t f th th lv, ntr t n t th l l l nd d p rt nt th t f ttr t n th p nt t th r f l nd d tr b t n. R v n n th r

AIR CURTAINS VAZDU[NE ZAVESE V H

FTN Novi Sad Katedra za motore i vozila. Drumska vozila Uputstvo za izradu vučnog proračuna motornog vozila. 1. Ulazni podaci IZVOR:

PRISON POLICY INITIATIVE ANNUAL REPORT

2012 Canadian Senior Mathematics Contest

CHEM 10113, Quiz 5 October 26, 2011

Parts Manual. EPIC II Critical Care Bed REF 2031

Ratios and Units of Measurement - Step-by-Step Lesson. Lesson 1 Ratio Problem: a) How many feet are there in 2 meters?

PRIPADNOST RJEŠENJA KVADRATNE JEDNAČINE DANOM INTERVALU

Math 4377/6308 Advanced Linear Algebra

CMSC 313 Lecture 17 Postulates & Theorems of Boolean Algebra Semiconductors CMOS Logic Gates

ZANIMLJIV NAČIN IZRAČUNAVANJA NEKIH GRANIČNIH VRIJEDNOSTI FUNKCIJA. Šefket Arslanagić, Sarajevo, BiH

A B CDE F B FD D A C AF DC A F

46 D b r 4, 20 : p t n f r n b P l h tr p, pl t z r f r n. nd n th t n t d f t n th tr ht r t b f l n t, nd th ff r n b ttl t th r p rf l pp n nt n th

Element Cube Project (x2)

Unit 3. Digital encoding

. ) =-, *+ 7 4* 8 ) 0 *+ 7 (c. 0 A #B (d

F l a s h-b a s e d S S D s i n E n t e r p r i s e F l a s h-b a s e d S S D s ( S o-s ltiad t e D r i v e s ) a r e b e c o m i n g a n a t t r a c

CHEM Come to the PASS workshop with your mock exam complete. During the workshop you can work with other students to review your work.

The Periodic Table. Periodic Properties. Can you explain this graph? Valence Electrons. Valence Electrons. Paramagnetism

02/05/09 Last 4 Digits of USC ID: Dr. Jessica Parr

Secondary Support Pack. be introduced to some of the different elements within the periodic table;

(please print) (1) (18) H IIA IIIA IVA VA VIA VIIA He (2) (13) (14) (15) (16) (17)

" = Y(#,$) % R(r) = 1 4& % " = Y(#,$) % R(r) = Recitation Problems: Week 4. a. 5 B, b. 6. , Ne Mg + 15 P 2+ c. 23 V,

DETERMINATION OF THE EFFECTIVE STRAIN FLOW IN COLD FORMED MATERIAL


828.^ 2 F r, Br n, nd t h. n, v n lth h th n l nd h d n r d t n v l l n th f v r x t p th l ft. n ll n n n f lt ll th t p n nt r f d pp nt nt nd, th t

Termodinamika. FIZIKA PSS-GRAD 29. studenog Copyright 2015 John Wiley & Sons, Inc. All rights reserved.

THE BOUNDARY VALUES OF THE PUNCH DIAMETER IN THE TECHNOLOGY OF THE OPENING MANUFACTURE BY PUNCHING UDC

h : sh +i F J a n W i m +i F D eh, 1 ; 5 i A cl m i n i sh» si N «q a : 1? ek ser P t r \. e a & im a n alaa p ( M Scanned by CamScanner

Vr Vr

The temperature dependence of the disproportionation reaction of iodous acid in aqueous sulfuric acid solutions

CS533 Fall 2017 HW5 Solutions. CS533 Information Retrieval Fall HW5 Solutions

trawhmmry ffimmf,f;wnt

Executive Committee and Officers ( )

MANY ELECTRON ATOMS Chapter 15

urh eo :rtfittrqtunur Tl:u:l$flquan1 riruir#ru{r:lsn15 (qfrfi b) fi.fi- lod&o qfinneqantes rj-:.

RELACIONI MODEL PODATAKA

5 questions, 3 points each, 15 points total possible. 26 Fe Cu Ni Co Pd Ag Ru 101.

Ch. 9 NOTES ~ Chemical Bonding NOTE: Vocabulary terms are in boldface and underlined. Supporting details are in italics.

3.5 NOTES: Separating Ions. We can find out which ions are in a solution and separate ions out of solution using 2 methods:

- Prefixes 'mono', 'uni', 'bi' and 'du' - Why are there no asprins in the jungle? Because the parrots ate them all.

Atoms and the Periodic Table

How to construct international inputoutput

History of the Periodic Table

Radiometric Dating (tap anywhere)

Made the FIRST periodic table

Physical Chemistry I CHEM 4641 Final Exam 13 questions, 30 points

Guide to the Extended Step-Pyramid Periodic Table

Ash Wednesday. First Introit thing. * Dómi- nos. di- di- nos, tú- ré- spi- Ps. ne. Dó- mi- Sál- vum. intra-vé-runt. Gló- ri-

New Coding System of Grid Squares in the Republic of Indonesia

Why all the repeating Why all the repeating Why all the repeating Why all the repeating

Fizička organizacija BP Data Warehouse sistema

Year 9 Term 3 Homework

Subrings and Ideals 2.1 INTRODUCTION 2.2 SUBRING

ORBITAL DIAGRAM - A graphical representation of the quantum number "map" of electrons around an atom.

IB MYP Unit 6 Review

Trade Patterns, Production networks, and Trade and employment in the Asia-US region

A B C DEF A AE E F A A AB F F A

MATH 220: PROBLEM SET 1, SOLUTIONS DUE FRIDAY, OCTOBER 2, 2015

D = kt/6 a. d /2D. For sucrose/h 2O, we have D = 0.521X10

Transcription:

Beogradski univerzitet Elektrotehnički fakultet Miloš Cvetanović Zbirka ispitnih zadataka iz Baza Podataka 1 Ispiti i kolokvijumi u periodu 2007-2011 Beograd, Januar 2012

Ispiti... 3 Januarski ispitni rok 2007 08.02.2007.... 4 Februarski ispitni rok 2007 05.03.2007.... 11 Junski ispitni rok 2007 05.07.2007.... 16 Septembarski ispitni rok 2007 06.09.2007.... 22 Oktobarski ispitni rok 2007 28.09.2007.... 27 Januarski ispitni rok 2008 07.02.2008.... 32 Februarski ispitni rok 2008 29.02.2008.... 38 Junski ispitni rok 2008 02.07.2008.... 44 Septembarski ispitni rok 2008 04.09.2008.... 49 Oktobarski ispitni rok 2008 24.09.2008.... 54 Januarski ispitni rok 2009 29.01.2009.... 59 Februarski ispitni rok 2009 17.02.2009.... 65 Junski ispitni rok 2009 16.06.2009.... 71 Septembarski ispitni rok 2009 03.09.2009.... 76 Oktobarski ispitni rok 2009 23.09.2009.... 81 Januarski ispitni rok 2010 24.01.2010.... 86 Februarski ispitni rok 2010 16.02.2010.... 91 Junski ispitni rok 2010 13.06.2010.... 96 Septembarski ispitni rok 2010 05.09.2010.... 101 Oktobarski ispitni rok 2010 29.09.2010.... 106 Oktobarski ispitni rok (drugi) 10.10.2010.... 111 Januarski ispitni rok 2011 16.01.2011.... 116 Februarski ispitni rok 2011 06.02.2011.... 122 Junski ispitni rok 2011 19.06.2011.... 127 Julski ispitni rok 2011 10.07.2011.... 132 Septembarski ispitni rok 2011 04.09.2011.... 137 Oktobarski ispitni rok 2011 25.09.2011.... 142 Kolokvijumi... 147 Kolokvijum 2007 20.01.2007.... 148 Kolokvijum 2008 02.12.2007.... 152 Kolokvijum 2009 29.11.2008.... 156 Kolokvijum 2010 05.12.2009.... 160 Kolokvijum 2011 12.12.2010.... 164 Algoritmi... 168

Ispiti

Januarski ispitni rok 2007 08.02.2007. 1.(4) Data je šema relacione baze podataka jednog avio prevoznika robe: KLIJENT(SifK, Naziv, Popust); MESTO(SifM, Naziv); AGENT(SifA, Ime); LET(SifL, BrLeta, SifMOd, SifMDo, TerminPoletanja, TerminSletanja, Datum, Status, Kapacitet); PAKET(SifP, RedniBr, SifA, SifK, Tezina, DatumP, SifMOd, SifMDo); PREVOZ(SifP, SifL); Pokazati šta je rezultat sledećeg upita za dati sadržaj tabele PAKET. SifP RedniBr SifA SifK Tezina DatumP SifMOd SifMDo 1001 23 A213 K110 20 175 M01 M03 1002 24 A222 K090 10 175 M02 M03 1003 25 A213 K101 15 179 M01 M03 1006 26 A456 K101 30 180 M01 M02 1007 27 A222 K201 10 181 M01 M02 1008 28 A213 K090 20 181 M02 M03 1010 29 A222 K110 10 184 M01 M03 SELECT P1.SifP, P1.SifMOd, SUM (P2.Tezina) FROM Paket P1, Paket P2 WHERE P1.SifMOd=P2.SifMOd AND P1.SifMDo=P2.SifMDo AND P1.RedniBr<=P2.RedniBr AND P1.DatumP < 183 AND P2.DatumP < 183 GROUP BY P1.SifP, P1.SifMOd; 1001 M01 35 1002 M02 30 1003 M01 15 1006 M01 40 1007 M01 10 1008 M02 20

2.(16) Dati su šema relacije N(A, B, C, D, E, F, G, H) i skup funkcijskih zavisnosti F={BE GH, G FA, AD C, F BGH}. Potrebno je: a) Odrediti skup kandidat ključeva KK date šeme. KK={BED, FED, GED} b) Ispitati redom da li je data šema u BC, 3. i 2. normalnoj formi i svaki put u tabeli naznačiti da li posmatrana zavisnost narušava posmatranu normalnu formu. BE GH G FA AD C F BGH BCNF x x x x 3NF x x x x 2NF x x x c) Sprovesti normalizaciju date šeme u 3. normalnu formu algoritmom koji garantuje očuvanje funkcijskih zavisnosti. N 1 (B,E,G) N 2 (G,F,A) N 3 (A,D,C) N 4 (F,B,G, H) N 5 (B,E,D) d) Sprovesti normalizaciju date šeme u BC normalnu formu, izdvajajući zavisnosti redosledom s desna na levo. N 1 (F,B,G, H) N 2 (A,D,C) N 3 (F,A) N 4 (D,E,F) e) Ispitati da li je pri postupku u okviru tačke d) došlo do gubitka funkcijskih zavisnosti i kojih? BE GH

3.(50) Dat je redosled izvršavanja transakcija T 1, T 2, T 3 i T 4, kao na Slici. Vreme T 1 T 2 T 3 T 4 t 1 Read (F) t 2 F F 1 t 3 Write (F) t 4 Read (B) t 5 B B 1 t 6 Write (B) t 7 Read (B) t 8 B B + 1 t 9 Write (B) t 10 Read (D) t 11 D D 5 t 12 Read (C) t 13 C D 2 t 14 Write (C) t 15 Write (D) t 16 Read (F) t 17 F F 1 t 18 Write (F) t 19 Commit t 20 Read (E) t 21 E E 1 t 22 Write (E) t 23 Commit t 24 Read (A) t 25 A A + B t 26 Write (A) t 27 Commit t 28 Read (D) t 29 D D - 3 t 30 Write (D) t 31 Commit

a) Proveriti da li je dati redosled serijalizovan i ako jeste navesti sve ekvivalentne serijske redoslede. T 3 T 1 T 4 T 2 b) Ako se za oporavak od kvara koristi mehanizam Prateće stranice. Podaci A, B, C, D, E, i F nalaze se u različitim stranicama na disku (podatak A u stranici 1,..., F u stranici 6). Prikazati izgled relevantnih delova sistema u trenutku kvara, neposredno posle trenutka t 31? Koje operacije mehanizam Prateće Stranice vrši posle popravke sistema u cilju vraćanja baze u konzistentno stanje? (čitanje ne potvrđenih podataka nije dozvoljeno) T1 T2 T3 T4 7 15 9 14 11 10 13 8 12 1 A 2 B 3 C 4 D 5 E 6 F 7 F 1 8 B 1 9 B 2 10 C 1 11 D 1 12 F 2 13 E 1 14 A 1 15 D 2 16 17 18 19 20 21 22 23 24 7 15 9 14 11 10 13 8 12 T1 T2 T3 T4 1. Commit izvršen (prikazano na slici): Oporavak: nije potreban 2. Commit nije izvršen: Oporavak: Restart {T 1 }

c) Ako se za oporavak od kvara koristi mehanizam Sistemskog Dnevnika sa Odloženim Upisom dati izgled sistemskog dnevnika i navesti operacije koje zadaje posle popravke sistema, u cilju vraćanja baze u konzistentno stanje ako je kvar nastao neposredno posle trenutka t 29? (čitanje ne potvrđenih podataka nije dozvoljeno) <T 1 starts> <T 1, F, F 1 > <T 4 starts> <T 4, B, B 1 > <T 2 starts> <T 2, B, B 2 > <T 3 starts> <T 3, C, C 1 > <T 3, D, D 1 > <T 4, F, F 2 > <T 4, commits> Redo {T 2, T 3, T 4 } <T 3, E, E 1 > Restart {T 1 } <T 3, commits> <T 2, A, A 1 > <T 2, commits> d) Koje operacije zadaje mehanizam u cilju vraćanja baze u konzistentno stanje u slučaju opisanom u tački pod c) ukoliko je poznato da je u trenutku t 21 urađena kontrolna tačka koja je završena u trenutku t 25? Redo {T 2, T 3 } Restart {T 1 } e) U slučaju opisanom u tački pod c) pre početka posmatranog redosleda vrednosti podataka A, B, C, D, E i F imaju vrednosti 10, 20, 30, 40, 50 i 60 respektivno. Koje su moguće vrednosti svakog od podataka u bazi neposredno posle trenutka t 17? Vreme Podatak Moguće vrednosti t 17 A 10 t 17 B 20 t 17 C 30 t 17 D 40 t 17 E 50 t 17 F 60

f) Kako će izgledati transakcije ako se uvede mehanizam zaključavanja po protokolu u obliku stabla. Da li u tom slučaju redosled izvršavanja može izgledati kao na slici? Dati mogući redosled izvršavanja u tom slučaju polazeći od datog redosleda. Vreme T 1 T 2 T 3 T 4 t 1 t 2 t 3 t 4 t 5 t 6 t 7 t 8 t 9 t 10 t 11 t 12 t 13 t 14 t 15 t 16 t 17 t 18 t 19 t 20 t 21 t 22 t 23 t 24 t 25 t 26 t 27 t 28 t 29 t 30 t 31 t 32 t 33 t 34 t 35 t 36 t 37 t 38 Lx(F) Rd(F) F=F-1 Wr(F) Lx(B) Un(F) Lx(D) Un(B) Lx(F) Lx(B) Rd(B) B=B-1 Wr(B) Un(B) Lx(F) Lx(D) Rd(F) F=F-1 Wr(F) Un(F) Commit Lx(F) Lx(B) Lx(A) Un(F) Rd(B) B=B+1 Wr(B) Un(B) Rd(A) A=A+B Wr(A) Un(A) Commit Rd(D) D=D-3 Wr(D) Un(D) t 39 t 40 t 41 Commit Lx(D) Rd(D) t 42 D=D/5 t 43 Lx(C) t 44 t 45 Rd(C) C=D*2 t 46 Wr(C) t 47 Wr(D) t 48 Lx(E) t 49 Un(D) t 50 Un(C) t 51 Rd(E) t 52 E=E-1 t 53 Wr(E) t 54 Un(E) t 55 Commit t 56 t 57 t 58 t 59 t 60 t 61 F B A D C E

4.(10) Za šemu relacione baze podataka jednog avio prevoznika robe iz zadatka 1, potrebno je: a) Sastaviti SQL skript kojim se formira tabela LET, ukoliko je poznato da se let uvek odvija u toku jednog dana između dva različita mesta čije se šifre nalaze u tabeli MESTO, i da status leta može biti iz skupa vrednosti {X-nedefinisan, 1-obavljen, 2-let u toku}. Termini poletanja i sletanja predstavljaju celobrojnu vrednost u opsegu od 1 do 32. Datum je celobrojna vrednost u opsegu od 1 do 366. Kapacitet je celobrojna vrednost koja označava nosivost na letu. CREATE TABLE Let ( SifL INT PRIMARY KEY, BrLeta CHAR(5) NOT NULL, SifMOd INT NOT NULL REFERENCES Mesto ON UPDATE CASCADE, SifMDo INT NOT NULL REFERENCES Mesto ON UPDATE CASCADE, TerminPoletanja INT NOT NULL CHECK(TerminPoletanja BETWEEN 1 AND 32), TerminSletanja INT NOT NULL CHECK(TerminSletanja BETWEEN 1 AND 32), Datum INT NOT NULL CHECK(Datum BETWEEN 1 AND 366), Status CHAR NOT NULL CHECK(Status IN ( X, 1, 2 )), Kapacitet INT NOT NULL CHECK(Kapacitet > 0), CHECK(SifMOd <> SifMDo), CHECK(TerminPoletanja < TerminSletanja) ); b) Šta treba dodati da bi u tački pod a) bilo obezbeđeno ograničenje da u toku jednog dana (datuma) prosečno vreme između dva poletanja iz jednog mesta ne sme biti kraće od 4 termina. CHECK ( NOT EXISTS ( SELECT SifMOd FROM Let GROUP BY SifMOd, Datum HAVING ( (((MAX(TerminPoletanja) MIN(TerminPoletanja) + 1) / COUNT(TerminPoletanja)) < 4) AND (COUNT(TerminPoletanja) > 1) ) )

Februarski ispitni rok 2007 05.03.2007. 1.(4) Pokazati šta je rezultat sledećeg upita za dati sadržaj posmatranih tabela: Tabela1 Sif1 Opis 10 S 20 J 30 B Tabela2 Sif2 Opis 10 J 10 M 10 D 20 B 20 M 30 J Tabela4 Sif4 Status 1 kod1 2 kod2 3 kod3 4 kod4 Tabela3 Sif3 Opis Status 10 J kod1 10 J kod2 10 J kod3 10 J kod4 10 M kod1 10 M kod2 10 M kod3 10 D kod1 10 D kod2 20 M kod1 20 M kod2 20 B kod1 30 J kod1 SELECT C1.Sif1, C1.Opis, T2.Status FROM Tabela1 C1, Tabela4 T2 WHERE T2.Sif4 IN (SELECT MIN (S2.Sif4) FROM Tabela4 S2 WHERE S2.Sif4 IN (SELECT MAX (S3.Sif4) FROM Tabela3 E1, Tabela4 S3 WHERE E1.Status = S3.Status AND E1.Sif3 = C1.Sif1 GROUP BY E1.Opis ) ); 10 S kod2 20 J kod1 30 B kod1

2.(16) Dati su šema relacije R(A, B, C, D, E, F, G) i skup funkcijskih zavisnosti F={AB C, BC D, E F, DF GF}. Potrebno je: a) Odrediti skup kandidat ključeva KK date šeme. KK={ABE} b) Ispitati redom da li je data šema u BC, 3. i 2. normalnoj formi i svaki put u tabeli naznačiti da li posmatrana zavisnost narušava posmatranu normalnu formu. AB C BC D E F DF GF BCNF x x x x 3NF x x x x 2NF x x c) Sprovesti normalizaciju date šeme u 3. normalnu formu algoritmom koji garantuje očuvanje funkcijskih zavisnosti. R 1 (A, B, C) R 2 (B, C, D) R 3 (E, F) R 4 (D, F, G) R 5 (A, B, E) d) Sprovesti normalizaciju date šeme u BC normalnu formu, izdvajajući zavisnosti redosledom s desna na levo. R 1 (D, F, G) R 2 (E, F) R 3 (B, C, D) R 4 (A, B, C) R 5 (A, B, E) e) Ispitati da li je pri postupku u okviru tačke d) došlo do gubitka funkcijskih zavisnosti i kojih? Nije došlo do gubitka funkcijskih zavisnosti.

3.(50) a) Ako se za oporavak od kvara koristi mehanizam Prateće stranice. Podaci A, B, C i D nalaze se u različitim stranicama na disku (podatak A u stranici 1,..., D u stranici 4). Prikazati izgled relevantnih delova sistema u trenutku kvara, neposredno posle trenutka t 20? Koje operacije mehanizam Prateće Stranice vrši posle popravke sistema u cilju vraćanja baze u konzistentno stanje? (čitanje ne potvrđenih podataka nije dozvoljeno) T1 T2 T3 5 6 9 10 7 8 Oporavak: 1 A 2 B 3 C 4 D 5 A 1 6 B 1 7 C 1 8 D 1 9 A 2 10 C 2 11 12 13 14 15 16 17 18 19 1 6 9 10 7 8 T1 T2 T3 Vreme T 1 T 2 T 3 t 1 Read (A) t 2 A A 1 t 3 Write (A) t 4 Read (B) t 5 B B 1 t 6 Read (A) t 7 A B 2 t 8 Write (B) t 9 Read (C) t 10 C C + 1 t 11 Write (C) t 12 Read (D) t 13 D D 1 t 14 Write (D) t 15 Commit t 16 Read (C) t 17 C C + A t 18 Write (A) t 19 Write (C) t 20 Commit t 21 Read (D) t 22 D D 3 t 23 Write (D) t 24 Commit 1. Commit izvršen (prikazano na slici): Oporavak: Restart {T 1 } 2. Commit nije izvršen: Oporavak: Restart {T 1, T 2 } b) Proveriti da li je dati redosled serijalizovan i ako jeste navesti sve ekvivalentne serijske redoslede. T 3 T 1 T 2

c) Uvesti mehanizam striktnog vremenskog markiranja i proveriti da li se dobija isti redosled. Vrednosti vremenskih marki su TS(T 1 )=200, TS(T 2 )=300, TS(T 3 )=100. Pri eventualnom restartovanju transakcija odabrati najpovoljniji slučaj (sa najmanjim brojem restartovanja). Redosled se promenio. T Op S RA WA CA RB WB CB RC WC CC RD WD CD TS(T 1 ) TS(T 2 ) TS(T 3 ) 0 0 1 0 0 1 0 0 1 0 0 1 200 300 100 T 1 rd(a) ok 200 T 1 wr(a) ok 200 0 T 2 rd(b) ok 300 T 2 rd(a) wait T 3 rd(c) ok 100 T 3 wr(c) ok 100 0 T 3 rd(d) ok 100 T 3 wr(d) ok 100 0 T 3 commit ok 1 1 T 1 rd(d) ok 200 T 1 wr(d) ok 200 0 T 1 commit ok 1 1 T 2 rd(a) ok 300 T 2 wr(b) ok 300 0 T 2 rd(c) ok 300 T 2 wr(a) ok 300 0 T 2 wr(c) ok 300 0 T 2 commit ok 1 1 1

d) Ako se za oporavak od kvara koristi mehanizam Sistemskog Dnevnika sa Neodloženim Upisom navesti operacije koje sistem zadaje posle popravke sistema, u cilju vraćanja baze u konzistentno ukoliko je dat izgled sistemskog dnevnika? < T5, starts > < T5, B, 20, 25> < T5, D, 40, 50 > < T5, commits > < T1, starts > < T1, A, 10, 15 > < T2, starts > < T2, A, 15, 30 > < T1, commits > < T3, starts > < T3, C, 30, 35> < T3, commits > < T4, starts > < T4, C, 35, 70 > < T4, D, 50, 60 > < T4, commits > e) Koje su moguće vrednosti svakog od podataka u bazi ukoliko je izgled sistemskog dnevnika kao u tački pod d) i ukoliko pre početka izvršavanja transakcija podaci A, B, C i D imaju vrednosti 10, 20, 30 i 40 respektivno? Vreme Podatak Moguće vrednosti t xx A 10, 15, 30 t xx B 20, 25 t xx C 30, 35, 70 t xx D 40, 50, 60 Undo{T 2 } Redo{ T 5, T 1, T 3, T 4 } Restart{ T 2 } f) Koje operacije zadaje mehanizam u cilju vraćanja baze u konzistentno stanje u slučaju opisanom u tački pod d) ukoliko je poznato da je u trenutku neposredno posle commit operacije transakcije T 1 urađena kontrolna tačka koja je završena u trenutku neposredno posle commit operacije transakcije T 3? Kako će izgledati sistemski dnevnika u tom slučaju? _ < T5, starts > < T5, B, 20, 25> < T5, D, 40, 50 > < T5, commits > < T1, starts > < T1, A, 10, 15 > < T2, starts > < T2, A, 15, 30 > < T1, commits > Undo{T 2 } Redo{ T 3, T 4 } Restart{ T 2 } < CHK (T2)> < T3, starts > < T3, C, 30, 35> < T3, commits > < CHK END> < T4, starts > < T4, C, 35, 70 > < T4, D, 50, 60 > < T4, commits>

Junski ispitni rok 2007 05.07.2007. 1.(4) Pokazati šta je rezultat sledećeg upita za dati sadržaj posmatranih tabela: Tabela1 Sif1 Naziv M N 10 A 2 2 20 B 2 3 30 C 2 1 Tabela2 Sif2 I J K 10 1 2 3 10 2 1 1 10 1 1 2 10 2 2 2 20 1 3 1 20 1 1 3 20 2 1 2 20 2 2 5 20 2 3 2 20 1 2 4 30 2 1 4 30 1 1 5 SELECT T2.I, T4.J, SUM(T2.K * T4.K) FROM Tabela1 T1, Tabela2 T2, Tabela1 T3, Tabela2 T4 WHERE T1.Sif1 = T2.Sif2 AND T1.Naziv = A AND T3.Sif1 = T4.Sif2 AND T3.Naziv = B AND T2.J = T4.I GROUP BY T2.I, T4.J;

2.(16) Dati su šema relacije B(R, S, T, U, V, X) i skup funkcijskih zavisnosti F={R S, U VXR, S UV, T R}. Potrebno je: a) Odrediti skup kandidat ključeva KK date šeme. b) Ispitati redom da li je data šema u BC, 3. i 2. normalnoj formi i svaki put u tabeli naznačiti da li posmatrana zavisnost narušava posmatranu normalnu formu. BCNF 3NF 2NF R S U VXR S UV T R c) Sprovesti normalizaciju date šeme u 3. normalnu formu algoritmom koji garantuje očuvanje funkcijskih zavisnosti. d) Sprovesti normalizaciju date šeme u BC normalnu formu, izdvajajući zavisnosti redosledom s desna na levo. e) Ispitati da li je pri postupku u okviru tačke d) došlo do gubitka funkcijskih zavisnosti i kojih?

3.(50) Dat je redosled izvršavanja transakcija T 1, T 2, T 3 i T 4, kao na Slici. Vreme T 1 T 2 T 3 T 4 t 1 Read (C) t 2 C C 1 t 3 Write (C) t 4 Read (B) t 5 B B 1 t 6 Read (A) t 7 A B 2 t 8 Write (B) t 9 Read (C) t 10 C C + 1 t 11 Write (C) t 12 Read (D) t 13 D D 5 t 14 Read (B) t 15 B D 2 t 16 Write (B) t 17 Write (D) t 18 Read (D) t 19 D D 1 t 20 Write (D) t 21 Commit t 22 Read (E) t 23 E E 1 t 24 Write (E) t 25 Read (F) t 26 F F + 1 t 27 Write (F) t 28 Write (A) t 29 Commit t 30 Read (B) t 31 B C 3 t 32 Write (B) t 33 Commit

a) Ako se za oporavak od kvara koristi mehanizam Prateće stranice. Podaci A, B, C, D, E, i F nalaze se u različitim stranicama na disku (podatak A u stranici 1,..., F u stranici 6). Prikazati izgled relevantnih delova sistema u trenutku kvara, neposredno posle trenutka t 33? Koje operacije mehanizam Prateće Stranice vrši posle popravke sistema u cilju vraćanja baze u konzistentno stanje? T1 T2 T3 T4 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 T1 T2 T3 T4 b) Proveriti da li je dati redosled serijalizovan ukoliko se naprave sledeće izmene u redosledu: u transakcijima T 1 i T 2 operacije (Read(B) uklone i u transakciji T 3 operacije (Read(B), B:=B- 1) zamene sa (B:=20) i operacije (Read(F), F:=F+1, Write(F)) zamene sa (E:=20, Write(E)). Ukoliko novodobijeni redosled jeste serijalizovan onda navesti sve ekvivalentne serijske redoslede.

c) Ako se za oporavak od kvara koristi mehanizam Sistemskog Dnevnika sa Odloženim Upisom dati izgled sistemskog dnevnika i navesti operacije koje zadaje posle popravke sistema, u cilju vraćanja baze u konzistentno stanje ako je kvar nastao neposredno posle trenutka t 33? (posmatrati redosled izvršavanja prikazan na Slici) d) Koje operacije zadaje mehanizam u cilju vraćanja baze u konzistentno stanje u slučaju opisanom u tački pod c) ukoliko je poznato da je u trenutku t 22 urađena kontrolna tačka koja je završena u trenutku t 30? e) U slučaju opisanom u tački pod d) pre početka posmatranog redosleda vrednosti podataka A, B, C, D, E i F imaju vrednosti 10, 20, 30, 40, 50 i 60 respektivno. Koje su moguće vrednosti svakog od podataka u bazi neposredno posle trenutka t 32? Vreme Podatak Moguće vrednosti t 32 A t 32 B t 32 C t 32 D t 32 E t 32 F

f) Polazeći od redosleda izvršavanja sa slike, pokazati kako će izgledati transakcije i novi redosled ako se uvede mehanizam zaključavanja po dvofaznom protokolu ukoliko se koriste dva tipa katanaca (ekskluzivno i deljeno). Pri uvođenju operacija zaključavanja omogućiti maksimalnu konkurentnost izvršavanja. Oznake: Wr(X), Rd(X), Ls(X), Lx(X), Un(X) Vreme T 1 T 2 T 3 T 4 t 1 t 2 t 3 t 4 t 5 t 6 t 7 t 8 t 9 t 10 t 11 t 12 t 13 t 14 t 15 t 16 t 17 t 18 t 19 t 20 t 21 t 22 t 23 t 24 t 25 t 36 t 37 t 38 t 39 t 40 t 41 t 42 t 43 t 44 t 45 t 46 t 47 t 48 t 49 t 50 t 51 t 52 t 53 t 54 t 55 t 56 t 57 t 58 t 59 t 60 t 61 t 26 t 27 t 28 t 29 t 30 t 31 t 32 t 33 t 34 t 35

Septembarski ispitni rok 2007 06.09.2007. 1.(4) Pokazati šta je rezultat sledećeg upita za dati sadržaj posmatranih tabela: Tabela1 Sif1 Na Ds 10 A DT 20 B ZR 30 C MC Tabela2 Sif2 Dt Qt Pr Sif1 10 1 20 1 30 20 1 10 2 10 30 2 10 1 20 40 2 20 2 20 50 2 30 1 10 60 5 10 1 30 70 6 10 2 20 80 6 20 2 10 90 6 30 2 20 100 8 20 1 30 110 8 10 1 10 120 9 10 2 30 CREATE VIEW LF (Pr, Sd, Up, Toq, Toc) AS SELECT R1.Sif1, R1.Dt, R1.Pr, SUM(R2.Qt), SUM(R2.Qt*R2.Pr) FROM Tabela2 R1, Tabela2 R2 WHERE R2.Dt >= R1.Dt AND R2.Sif1 = R1.Sif1 GROUP BY R1.Sif1, R1.Dt, R1.Pr; SELECT (Toc ((Toq 40)*Up)) FROM LF WHERE Pr = 30 AND Sd = ( SELECT MAX (Sd) FROM LF WHERE Toq >= 40 AND Pr =30); 50

2.(16) Dati su šema relacije D(R, S, T, U, V, X) i skup funkcijskih zavisnosti F={RT S, US XR, S UV, T R}. Potrebno je: a) Odrediti skup kandidat ključeva KK date šeme. KK={T} b) Ispitati redom da li je data šema u BC, 3. i 2. normalnoj formi i svaki put u tabeli naznačiti da li posmatrana zavisnost narušava posmatranu normalnu formu. RT S US XR S UV T R BCNF x x 3NF x x 2NF c) Sprovesti normalizaciju date šeme u 3. normalnu formu algoritmom koji garantuje očuvanje funkcijskih zavisnosti. D 1 (T, S) D 2 (S, X, R, U, V) d) Sprovesti normalizaciju date šeme u BC normalnu formu, izdvajajući zavisnosti redosledom sleva na desno. D 1 (U, S, X, R) D 2 (S, U, V) D 3 (T, S) e) Ispitati da li je pri postupku u okviru tačke d) došlo do gubitka funkcijskih zavisnosti i kojih? Nije došlo do gubitka funkcijskih zavisnosti.

3.(50) a) Ako se za oporavak od kvara koristi mehanizam Prateće stranice. Podaci A, B, C i D nalaze se u različitim stranicama na disku (podatak A u stranici 1,..., D u stranici 4). Prikazati izgled relevantnih delova sistema u trenutku kvara, neposredno posle trenutka t 20? Koje operacije mehanizam Prateće Stranice vrši posle popravke sistema u cilju vraćanja baze u konzistentno stanje? (čitanje ne potvrđenih podataka nije dozvoljeno) T1 T2 T3 5 6 9 10 7 8 Oporavak: 1 A 2 B 3 C 4 D 5 C 1 6 B 1 7 C 2 8 B 2 9 D 1 10 A 1 11 12 13 14 15 16 17 18 19 3 6 9 10 7 8 1. Commit izvršen (prikazano na slici): Oporavak: Restart {T 1 } T1 T2 T3 Vreme T 1 T 2 T 3 t 1 Read (C) t 2 C C 1 t 3 Write (C) t 4 Read (B) t 5 B B 1 t 6 Read (D) t 7 D B 2 t 8 Write (B) t 9 Read (C) t 10 C C + 1 t 11 Write (C) t 12 Read (B) t 13 B B 1 t 14 Write (B) t 15 Commit t 16 Read (A) t 17 A A + D t 18 Write (D) t 19 Write (A) t 20 Commit t 21 Read (D) t 22 D D 3 t 23 Write (D) t 24 Commit 2. Commit nije izvršen: Oporavak: Restart {T 1, T 2 } b) Proveriti da li je dati redosled serijalizovan i ako jeste navesti sve ekvivalentne serijske redoslede. T 2 T 1 T 3

c) Uvesti mehanizam striktnog vremenskog markiranja i proveriti da li se dobija isti redosled. Vrednosti vremenskih marki su TS(T 1 )=200, TS(T 2 )=300, TS(T 3 )=100. Pri eventualnom restartovanju transakcija odabrati najpovoljniji slučaj (sa najmanjim brojem restartovanja). Redosled se promenio. T Op S RA WA CA RB WB CB RC WC CC RD WD CD TS(T 1 ) TS(T 2 ) TS(T 3 ) 0 0 1 0 0 1 0 0 1 0 0 1 200 300 100 T 1 rd(c) ok 200 T 1 wr(c) ok 200 0 T 2 rd(b) ok 300 T 2 rd(d) ok 300 T 2 wr(b) ok 300 0 T 3 rd(c) rb 400 T 2 rd(a) ok 300 T 2 wr(d) ok 300 0 T 2 wr(a) ok 300 0 T 2 commit ok 1 1 1 T 1 rd(d) rb 0 1 500 T 3 rd(c) ok 400 T 3 wr(c) ok 400 0 T 3 rd(b) ok 400 T 3 wr(b) ok 400 0 T 3 commit ok 1 1 T 1 rd(c) ok 500 T 1 wr(c) ok 500 0 T 1 rd(d) ok 500 T 1 wr(d) ok 500 0 T 1 commit ok 1 1

d) Ako se za oporavak od kvara koristi mehanizam Sistemskog Dnevnika sa Neodloženim Upisom navesti operacije koje sistem zadaje posle popravke sistema, u cilju vraćanja baze u konzistentno ukoliko je dat izgled sistemskog dnevnika? < T2, starts > < T2, A, 10, 25> < T2, C, 30, 50 > < T2, commits > < T4, starts > < T4, B, 20, 15 > < T5, starts > < T5, D, 40, 30 > < T4, commits > < T3, starts > < T3, C, 50, 35> < T3, commits > < T1, starts > < T1, A, 25, 70 > < T1, D, 30, 25 > < T1, commits > e) Koje su moguće vrednosti svakog od podataka u bazi ukoliko je izgled sistemskog dnevnika kao u tački pod d) i ukoliko pre početka izvršavanja transakcija podaci A, B, C i D imaju vrednosti 10, 20, 30 i 40 respektivno? Vreme Podatak Moguće vrednosti t xx A 10, 25, 70 t xx B 20, 15 t xx C 30, 50, 35 t xx D 40, 30, 25 Undo{T 5 } Redo{ T 2, T 4, T 3, T 1 } Restart{ T 5 } f) Koje operacije zadaje mehanizam u cilju vraćanja baze u konzistentno stanje u slučaju opisanom u tački pod d) ukoliko je poznato da je u trenutku neposredno posle commit operacije transakcije T 2 urađena kontrolna tačka koja je završena u trenutku neposredno posle commit operacije transakcije T 4? Kako će izgledati sistemski dnevnika u tom slučaju? < T2, starts > < T2, A, 10, 25> < T2, C, 30, 50 > < T2, commits > < CHK ( )> < T4, starts > < T4, B, 20, 15 > < T5, starts > Undo{T 5 } Redo{T 4, T 3, T 1 } Restart{ T 5 } < T5, D, 40, 30 > < T4, commits > < CHK END> < T3, starts > < T3, C, 50, 35> < T3, commits > < T1, starts > < T1, A, 25, 70 > < T1, D, 30, 25 > < T1, commits >

Oktobarski ispitni rok 2007 28.09.2007. 1.(4) Pokazati šta je rezultat sledećeg upita za dati sadržaj posmatranih tabela: Tabela1 Sif1 Na Ds 10 A DT 20 B ZR 30 C MC Tabela2 Sif2 Dt Qt Pr Sif1 10 1 20 1 30 20 1 10 2 10 30 2 10 1 20 40 2 20 2 20 50 2 30 1 10 60 5 10 1 30 70 6 10 2 20 80 6 20 2 10 90 6 30 2 20 100 8 20 1 30 110 8 10 1 10 120 9 10 2 30 SELECT R1.Sif1, R1.Dt, SUM(R2.Qt*R2.Pr) FROM Tab2 AS R1, Tab2 AS R2 WHERE R2.Dt >= R1.Dt AND R2.Sif1 = R1.Sif1 GROUP BY R1.Sif1, R1.Dt HAVING SUM(R2.Qt) > (R1.Dt*R1.Sif1);

2.(16) Dati su šema relacije B(R, S, T, U, V, X) i skup funkcijskih zavisnosti F={R SV, UR XR, S UV, T R}. Potrebno je: a) Odrediti skup kandidat ključeva KK date šeme. b) Ispitati redom da li je data šema u BC, 3. i 2. normalnoj formi i svaki put u tabeli naznačiti da li posmatrana zavisnost narušava posmatranu normalnu formu. BCNF 3NF 2NF R SV UR XR S UV T R c) Sprovesti normalizaciju date šeme u 3. normalnu formu algoritmom koji garantuje očuvanje funkcijskih zavisnosti. d) Sprovesti normalizaciju date šeme u BC normalnu formu, izdvajajući zavisnosti redosledom sleva na desno. e) Ispitati da li je pri postupku u okviru tačke d) došlo do gubitka funkcijskih zavisnosti i kojih?

3.(50) a) Ako se za oporavak od kvara koristi mehanizam Prateće stranice. Podaci A, B, C i D nalaze se u različitim stranicama na disku (podatak A u stranici 1,..., D u stranici 4). Prikazati izgled relevantnih delova sistema u trenutku kvara, neposredno posle trenutka t 24? Koje operacije mehanizam Prateće Stranice vrši posle popravke sistema u cilju vraćanja baze u konzistentno stanje? (čitanje ne potvrđenih podataka nije dozvoljeno) T1 T2 T3 Oporavak: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 T1 T2 T3 Vreme T 1 T 2 T 3 t 1 Read (C) t 2 C C 1 t 3 Read (A) t 4 A A 1 t 5 Read (C) t 6 C A 2 t 7 Write (C) t 8 Write (A) t 9 Commit t 10 Read (C) t 11 C C + 1 t 12 Write (C) t 13 Read (B) t 14 B B 1 t 15 Write (B) t 16 Read (A) t 17 A A + C t 18 Write (C) t 19 Write (A) t 20 Commit t 21 Read (D) t 22 D D 4 t 23 Write (D) Commit t 24 b) Koje su vrednosti svakog od podatka u bazi ukoliko pre početka izvršavanja datog redosleda podaci A, B, C i D imaju vrednosti 10, 20, 30 i 40 respektivno? Podatak Vrednosti A B C D

c) Uvesti mehanizam striktnog vremenskog markiranja i proveriti da li se dobija isti redosled. Vrednosti vremenskih marki su TS(T 1 )=200, TS(T 2 )=300, TS(T 3 )=100. Pri eventualnom restartovanju transakcija odabrati najpovoljniji slučaj (sa najmanjim brojem restartovanja). T Op S RA WA CA RB WB CB RC WC CC RD WD CD TS(T 1 ) TS(T 2 ) TS(T 3 ) 0 0 1 0 0 1 0 0 1 0 0 1 200 300 100 t 1 t 2 t 3 t 4 t 5 t 6 t 7 t 8 t 9 t 10 t 11 t 12 t 13 t 14 t 15 t 16 t 17 t 18 t 19 t 20 t 21 t 22 t 23 t 24 t 25 t 26 t 27 t 28 t 29 t 30 t 31 t 32 t 33 t 34 t 36 t 37

d) Neka se za redosled iz tačke a) za oporavak od kvara koristi mehanizam Sistemskog Dnevnika sa Neodloženim Upisom. Prikazati izgled sistemskog dnevnika i navesti operacije koje sistem zadaje posle popravke sistema, u cilju vraćanja baze u konzistentno stanje ukoliko je kvar nastao neposredno posle trenutka t 22? e) Koje su moguće vrednosti svakog od podataka u bazi ukoliko je izgled sistemskog dnevnika kao u tački pod d) i ukoliko pre početka izvršavanja transakcija podaci A, B, C i D imaju vrednosti 10, 20, 30 i 40 respektivno? Vreme Podatak Moguće vrednosti t xx A t xx B t xx C D t xx f) Koje operacije zadaje mehanizam u cilju vraćanja baze u konzistentno stanje u slučaju opisanom u tački pod d) ukoliko je poznato da je u trenutku neposredno posle Write(C) operacije transakcije T 2 urađena kontrolna tačka koja je završena u trenutku neposredno posle Write(B) operacije transakcije T 2? Kako će izgledati sistemski dnevnika u tom slučaju?

Januarski ispitni rok 2008 07.02.2008. 1.(4) Pokazati šta je rezultat sledećeg upita za dati sadržaj posmatranih tabela: Tabela1 Sif1 Na Ds 10 A DT 20 B ZR 30 C MC Tabela2 Sif2 Dt Qt Pr Sif1 10 1 20 1 30 20 1 10 2 10 30 2 10 1 20 40 2 20 2 20 50 2 30 1 10 60 5 10 1 30 70 6 10 2 20 80 6 20 2 10 90 6 30 2 20 100 8 20 1 30 110 8 10 1 10 120 9 10 2 30 SELECT R1.Sif1, R1.Dt, SUM(R2.Qt*R2.Pr) FROM Tabela2 AS R1, Tabela2 AS R2 WHERE R2.Dt >= R1.Dt AND R2.Sif1 = R1.Sif1 GROUP BY R1.Sif1, R1.Dt HAVING SUM(R2.Qt) > (R1.Dt*R1.Sif1); 10 1 100 30 1 70 10 2 80 20 2 260

2.(16) Dati su šema relacije B(R, S, T, U, V, X) i skup funkcijskih zavisnosti F={R SV, UR XR, S UV, T R}. Potrebno je: a) Odrediti skup kandidat ključeva KK date šeme. KK={T} b) Ispitati redom da li je data šema u BC, 3. i 2. normalnoj formi i svaki put u tabeli naznačiti da li posmatrana zavisnost narušava posmatranu normalnu formu. R SV UR XR S UV T R BCNF x x x 3NF x x x 2NF c) Sprovesti normalizaciju date šeme u 3. normalnu formu algoritmom koji garantuje očuvanje funkcijskih zavisnosti. B 1 (R, S, X) B 2 (S, U, V) B 3 (T, R) d) Sprovesti normalizaciju date šeme u BC normalnu formu, izdvajajući zavisnosti redosledom sleva na desno. B 1 (S, V) B 2 (R, S) B 3 (R, U, X) B 4 (T, R) e) Ispitati da li je pri postupku u okviru tačke d) došlo do gubitka funkcijskih zavisnosti i kojih? Izgubljena funkcijska zavisnost S U

3.(50) a) Ako se za oporavak od kvara koristi mehanizam Prateće stranice. Podaci A, B, C i D nalaze se u različitim stranicama na disku (podatak A u stranici 1,..., D u stranici 4). Prikazati izgled relevantnih delova sistema u trenutku kvara, neposredno posle trenutka t 24? Koje operacije mehanizam Prateće Stranice vrši posle popravke sistema u cilju vraćanja baze u konzistentno stanje? (čitanje ne potvrđenih podataka nije dozvoljeno) 9 1 A 9 Vreme T 1 T 2 T 3 10 2 B 10 t 1 Read (C) 3 C T1 T1 t 2 C C 1 4 D t 3 Read (A) 5 C 1 t 4 A A 1 6 A 1 t 5 Read (C) 7 7 C 2 7 t 6 C A 2 8 8 B 8 1 t 7 Write (C) 11 T2 9 C 11 t 8 Write (A) 3 T2 t 10 A 9 Commit 2 t 10 Read (C) 11 D 1 t 11 C C + 1 12 t 6 6 12 Write (C) 13 t 5 5 13 Read (B) 14 t 14 B B 1 T3 15 T3 t 15 Write (B) 16 t 16 Read (A) t 17 17 A A + C t 18 18 Write (C) t 19 Write (A) 19 t 20 Commit Oporavak: t 21 Read (D) t 22 D D 4 t 23 Write (D) t 24 Commit 1. Commit izvršen (prikazano na slici): Oporavak: nije potreban 2. Commit nije izvršen: Oporavak: Restart {T 2 } b) Koje su vrednosti svakog od podatka u bazi ukoliko pre početka izvršavanja datog redosleda podaci A, B, C i D imaju vrednosti 10, 20, 30 i 40 respektivno? Podatak Vrednosti A 38 B 19 C 19 D 10

c) Uvesti mehanizam striktnog vremenskog markiranja i proveriti da li se dobija isti redosled. Vrednosti vremenskih marki su TS(T 1 )=200, TS(T 2 )=300, TS(T 3 )=100. Pri eventualnom restartovanju transakcija odabrati najpovoljniji slučaj (sa najmanjim brojem restartovanja). Redosled se promenio. T Op S RA WA CA RB WB CB RC WC CC RD WD CD TS(T 1 ) TS(T 2 ) TS(T 3 ) 0 0 1 0 0 1 0 0 1 0 0 1 200 300 100 T1 rd(c) ok 200 T3 rd(a) ok 100 T3 rd(c) ok T3 wr(c) rb 400 T1 rd(a) ok 200 T1 wr(c) ok 200 0 T1 wr(a) ok 200 0 T1 commit ok 1 1 T2 rd(c) ok 300 T2 wr(c) ok 300 0 T2 rd(b) ok 300 T2 wr(b) ok 300 0 T2 rd(d) ok 300 T2 wr(d) ok 300 0 T2 commit ok 1 1 1 T3 rd(a) ok 400 T3 rd(c) ok 400 T3 wr(c) ok 400 0 T3 wr(a) ok 400 0 T3 commit ok 1 1

d) Neka se za redosled iz tačke a) za oporavak od kvara koristi mehanizam Sistemskog Dnevnika sa Neodloženim Upisom. Prikazati izgled sistemskog dnevnika i navesti operacije koje sistem zadaje posle popravke sistema, u cilju vraćanja baze u konzistentno stanje ukoliko je kvar nastao neposredno posle trenutka t 22? < T1, starts > < T3, starts > < T3, C, C 0, C 1 > < T3, A, A 0, A 1 > < T3, commits > < T2, starts > < T2, C, C 1, C 2 > < T2, B, B 0, B 1 > < T1, C, C 0, C 3 > < T1, A, A 1, A 2 > < T1, commits > e) Koje su moguće vrednosti svakog od podataka u bazi neposredno pre trenutka t 22 ako je izgled sistemskog dnevnika kao u tački pod d) i ukoliko pre početka izvršavanja transakcija podaci A, B, C i D imaju vrednosti 10, 20, 30 i 40 respektivno? Vreme Podatak Moguće vrednosti t 22 A 10, 9, 38 t 22 B 20, 19 t 22 C 30, 18, 19, 29 t 22 D 40 Undo{T 2 } Redo{ T 1, T 3 } Restart{ T 2 } f) Koje operacije zadaje mehanizam u cilju vraćanja baze u konzistentno stanje u slučaju opisanom u tački pod d) ukoliko je poznato da je u trenutku neposredno posle Write(C) operacije transakcije T 2 urađena kontrolna tačka koja je završena u trenutku neposredno posle Write(B) operacije transakcije T 2? Kako će izgledati sistemski dnevnika u tom slučaju? < T1, starts > < T3, starts > < T3, C, C 0, C 1 > < T3, A, A 0, A 1 > < T3, commits > < T2, starts > < T2, C, C 1, C 2 > Undo{T 2 } Redo{ T 1 } Restart{ T 2 } < CHK (T1,T2)> < T2, B, B 0, B 1 > < CHK END> < T1, C, C 0, C 3 > < T1, A, A 1, A 2 > < T1, commits >

4.(5) Za šemu relacione baze podataka za potrebe ocenjivanja kandidata na konkursima: KONKURS (SifKo, Naziv, Datum) KRITERIJUM (SifKr, Naziv, Opis, Univerzalan) PRIPADA (SifKo, SifKr) VREDNOST (SifVr, Opis, SifKr) KANDIDAT (SifKa, Ime, Adresa, StrSprema) ZADOVOLJAVA (SifVr, SifKa) Ukoliko se pretpostavi da atribut Univerzalan (moguće vrednosti su 0 i 1) u tabeli kriterijum ima sledeće značenje: samo kriterijum označen kao univerzalan može pripadati većem broju konkursa, a da u suprotnom sme pripadati samo jednom konkursu. a) Da li je to ograničenje na nivou atributa, tabele ili čitave baze podataka? Na nivou čitave baze podataka. b) Napisati odgovarajući SQL kojim se to ograničenje proverava. CREATE ASSERTION Univerzalni CHECK ( NOT EXISTS ( SELECT * FROM Kriterijum K WHERE K.Univerzalan = 0 AND ( SELECT COUNT (*) FROM Pripada P WHERE P.SifKr = K.SifKr ) > 1 ) );

Februarski ispitni rok 2008 29.02.2008. 1.(4) Pokazati šta je rezultat sledećeg upita za dati sadržaj posmatranih tabela: Tabela1 Sif1 Naziv M N 10 A 2 2 20 B 2 3 30 C 2 1 Tabela2 Sif2 I J K 10 1 2 3 10 2 1 1 10 1 1 2 10 2 2 2 20 1 3 1 20 1 1 3 20 2 1 2 20 2 2 5 20 2 3 2 20 1 2 4 30 2 1 4 30 1 1 5 SELECT T2.I, T4.J, SUM(T2.K * T4.K) FROM Tabela1 T1, Tabela2 T2, Tabela1 T3, Tabela2 T4 WHERE T1.Sif1 = T2.Sif2 AND T1.Naziv = A AND T3.Sif1 = T4.Sif2 AND T3.Naziv = B AND T2.J = T4.I GROUP BY T2.I, T4.J; 1 1 12 2 1 7 1 2 23 2 2 14 1 3 8 2 3 5

2.(16) Dati su šema relacije B(R, S, T, U, V, X) i skup funkcijskih zavisnosti F={R S, U VXR, S UV, T R}. Potrebno je: a) Odrediti skup kandidat ključeva KK date šeme. KK={T} b) Ispitati redom da li je data šema u BC, 3. i 2. normalnoj formi i svaki put u tabeli naznačiti da li posmatrana zavisnost narušava posmatranu normalnu formu. R S U VXR S UV T R BCNF x x x 3NF x x x 2NF c) Sprovesti normalizaciju date šeme u 3. normalnu formu algoritmom koji garantuje očuvanje funkcijskih zavisnosti. B 1 (R, S) B 2 (U, X, R) B 3 (S, U, V) B 4 (T, R) d) Sprovesti normalizaciju date šeme u BC normalnu formu, izdvajajući zavisnosti redosledom s desna na levo. B 1 (S, U, V) B 2 (R, S) B 3 (R, X) B 4 (T, R) e) Ispitati da li je pri postupku u okviru tačke d) došlo do gubitka funkcijskih zavisnosti i kojih? Nema gubitka funkcijskih zavisnosti

3.(50) Dat je redosled izvršavanja transakcija T 1, T 2, T 3 i T 4, kao na Slici. Vreme T 1 T 2 T 3 T 4 t 1 Read (C) t 2 C C 1 t 3 Write (C) t 4 Read (B) t 5 B B 1 t 6 Read (A) t 7 A B 2 t 8 Write (B) t 9 Read (C) t 10 C C + 1 t 11 Write (C) t 12 Read (D) t 13 D D 5 t 14 Read (B) t 15 B D 2 t 16 Write (B) t 17 Write (D) t 18 Read (D) t 19 D D 1 t 20 Write (D) t 21 Commit t 22 Read (E) t 23 E E 1 t 24 Write (E) t 25 Read (F) t 26 F F + 1 t 27 Write (F) t 28 Write (A) t 29 Commit t 30 Read (B) t 31 B C 3 t 32 Write (B) t 33 Commit

a) Ako se za oporavak od kvara koristi mehanizam Prateće stranice. Podaci A, B, C, D, E, i F nalaze se u različitim stranicama na disku (podatak A u stranici 1,..., F u stranici 6). Prikazati izgled relevantnih delova sistema u trenutku kvara, neposredno posle trenutka t 33? Koje operacije mehanizam Prateće Stranice vrši posle popravke sistema u cilju vraćanja baze u konzistentno stanje? T1 T2 T3 T4 7 16 11 10 13 8 15 14 9 12 1 A 2 B 3 C 4 D 5 E 6 F 7 C 1 8 B 1 9 C 2 10 B 2 11 D 1 12 D 2 13 E 1 14 F 1 15 A 1 16 B 3 17 18 19 20 21 22 23 24 7 16 4 2 5 8 15 14 9 12 1. Commit izvršen (prikazano na slici): Oporavak: Restart {T 2 } 2. Commit nije izvršen: Oporavak: Restart { T 1, T 2 } T1 T2 T3 T4 b) Proveriti da li je dati redosled serijalizovan ukoliko se naprave sledeće izmene u redosledu: u transakcijima T 1 i T 2 operacije (Read(B) uklone i u transakciji T 3 operacije (Read(B), B:=B- 1) zamene sa (B:=20) i operacije (Read(F), F:=F+1, Write(F)) zamene sa (E:=20, Write(E)). Ukoliko novodobijeni redosled jeste serijalizovan onda navesti sve ekvivalentne serijske redoslede. T 2 T 3 T 1 T 4

c) Ako se za oporavak od kvara koristi mehanizam Sistemskog Dnevnika sa Odloženim Upisom dati izgled sistemskog dnevnika i navesti operacije koje zadaje posle popravke sistema, u cilju vraćanja baze u konzistentno stanje ako je kvar nastao neposredno posle trenutka t 33? (posmatrati redosled izvršavanja prikazan na Slici) < T1, starts > < T1, C, C 1 > < T3, starts > < T3, B, B 1 > < T4, starts > < T4, C, C 2 > < T2, starts > Redo{ T 1, T 3, T 4 } Restart{ T 2 } < T2, B, B 2 > < T2, D, D 1 > < T4, D, D 2 > < T4, commits > < T2, E, E 1 > < T3, F, F 1 > < T3, A, A 1 > < T3, commits > < T1, B, B 3 > < T1, commits > d) Koje operacije zadaje mehanizam u cilju vraćanja baze u konzistentno stanje u slučaju opisanom u tački pod c) ukoliko je poznato da je u trenutku t 22 urađena kontrolna tačka koja je završena u trenutku t 30? Redo{ T 1, T 3 } Restart{ T 2 } e) U slučaju opisanom u tački pod d) pre početka posmatranog redosleda vrednosti podataka A, B, C, D, E i F imaju vrednosti 10, 20, 30, 40, 50 i 60 respektivno. Koje su moguće vrednosti svakog od podataka u bazi neposredno posle trenutka t 32? Vreme Podatak Moguće vrednosti t 32 A 10, 38 t 32 B 20, 19 t 32 C 31 t 32 D 39 t 32 E 50 t 32 F 60, 61

f) Polazeći od redosleda izvršavanja sa slike, pokazati kako će izgledati transakcije i novi redosled ako se uvede mehanizam zaključavanja po dvofaznom protokolu ukoliko se koriste dva tipa katanaca (ekskluzivno i deljeno). Pri uvođenju operacija zaključavanja omogućiti maksimalnu konkurentnost izvršavanja. Oznake: Wr(X), Rd(X), Ls(X), Lx(X), Un(X) Vreme T 1 T 2 T 3 T 4 t 1 t 2 t 3 t 4 t 5 t 6 t 7 t 8 t 9 t 10 t 11 t 12 t 13 t 14 t 15 t 16 t 17 t 18 t 19 t 20 t 21 t 22 t 23 t 24 t 25 t 26 t 27 t 28 t 29 t 30 t 31 t 32 t 33 Ls(C) Rd(C) Lx(C) Wr(C) Ls(D) Rd(D) Ls(B) Rd(B) Lx(B) Wr(B) Lx(D) Wr(D) Ls(E) Rd(E) Lx(E) Un(D) Un(B) Wr(E) Un(E) Ls(B) Rd(B) Ls(A) Rd(A) Lx(B) Wr(B) Ls(F) Lx(F) Lx(A) Un(B) Rd(F) Wr(F) Wr(A) Ls(C) t 34 Un(F) t 35 Un(A) t 36 Commit t 37 t 38 t 39 t 40 t 41 t 42 t 43 t 44 t 45 Ls(B) Rd(B) Lx(B) Wr(B) Un(C) Un(B) Commit Ls(C) Rd(C) t 46 Lx(C) t 47 Wr(C) t 48 Ls(D) t 49 Rd(D) t 50 Lx(D) t 51 Wr(D) t 52 Un(C) t 53 Un(D) t 54 Commit t 55 t 56 t 57 t 58 t 59 t 60 t 61

Junski ispitni rok 2008 02.07.2008. 1.(4) Pokazati šta je rezultat sledećeg upita za dati sadržaj posmatranih tabela: Tabela2 Sif2 Dt Qt Pr Weight 10 1 20 1 12 20 1 10 2 17 30 2 10 1 17 40 2 20 2 14 50 2 30 1 12 60 5 10 1 19 CREATE VIEW Temp1 AS SELECT Weight FROM Table2 UNION ALL SELECT Weight FROM Table2; CREATE VIEW Temp2 AS SELECT Weight FROM Temp1 WHERE (SELECT COUNT(*) FROM Table2) <= (SELECT COUNT(*) FROM Temp1 AS T1 WHERE T1.Weight >= Temp1.Weight) AND (SELECT COUNT(*) FROM Table2) <= (SELECT COUNT(*) FROM Temp1 AS T2 WHERE T2.Weight <= Temp1.Weight); SELECT AVG(DISTINCT Weight) FROM Temp2;

2.(16) Dati su šema relacije E(R, S, T, U, V, X) i skup funkcijskih zavisnosti F={R V, US X, SR UV, TX R}. Potrebno je: a) Odrediti skup kandidat ključeva KK date šeme. b) Ispitati redom da li je data šema u BC, 3. i 2. normalnoj formi i svaki put u tabeli naznačiti da li posmatrana zavisnost narušava posmatranu normalnu formu. BCNF 3NF 2NF R V US X SR UV TX R c) Sprovesti normalizaciju date šeme u 3. normalnu formu algoritmom koji garantuje očuvanje funkcijskih zavisnosti. d) Sprovesti normalizaciju date šeme u BC normalnu formu, izdvajajući zavisnosti redosledom sleva na desno. e) Ispitati da li je pri postupku u okviru tačke d) došlo do gubitka funkcijskih zavisnosti i kojih?

3.(50) a) Ako se za oporavak od kvara koristi mehanizam Prateće stranice. Podaci A, B, C i D nalaze se u različitim stranicama na disku (podatak A u stranici 1,..., D u stranici 4). Prikazati izgled relevantnih delova sistema u trenutku kvara, neposredno posle trenutka t 24? Koje operacije mehanizam Prateće Stranice vrši posle popravke sistema u cilju vraćanja baze u konzistentno stanje? T1 T2 T3 Oporavak: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 T1 T2 T3 Vreme T 1 T 2 T 3 t 1 Read (C) t 2 C C 1 t 3 Read (B) t 4 B B 1 t 5 Read (C) t 6 C B 2 t 7 Write (C) t 8 Write (B) t 9 Commit t 10 Read (C) t 11 C C + 1 t 12 Write (C) t 13 Read (B) t 14 B B 1 t 15 Write (B) t 16 Read (D) t 17 D D + C t 18 Write (D) t 19 Write (C) t 20 Commit t 21 Read (D) t 22 D D 4 t 23 Write (D) Commit t 24 b) Koje su vrednosti svakog od podatka u bazi ukoliko pre početka izvršavanja datog redosleda podaci A, B, C i D imaju vrednosti 10, 20, 30 i 40 respektivno? Podatak Vrednosti A B C D

c) Uvesti mehanizam striktnog vremenskog markiranja i proveriti da li se dobija isti redosled. Vrednosti vremenskih marki su TS(T 1 )=200, TS(T 2 )=300, TS(T 3 )=100. Pri eventualnom restartovanju transakcija odabrati najpovoljniji slučaj (sa najmanjim brojem restartovanja). T Op S RA WA CA RB WB CB RC WC CC RD WD CD TS(T 1 ) TS(T 2 ) TS(T 3 ) 0 0 1 0 0 1 0 0 1 0 0 1 200 300 100

d) Neka se za redosled iz tačke a) za oporavak od kvara koristi mehanizam Sistemskog Dnevnika sa Neodloženim Upisom. Prikazati izgled sistemskog dnevnika i navesti operacije koje sistem zadaje posle popravke sistema, u cilju vraćanja baze u konzistentno stanje ukoliko je kvar nastao neposredno posle trenutka t 22? e) Koje su moguće vrednosti svakog od podataka u bazi neposredno pre trenutka t 22 ako je izgled sistemskog dnevnika kao u tački pod d) i ukoliko pre početka izvršavanja transakcija podaci A, B, C i D imaju vrednosti 10, 20, 30 i 40 respektivno? Vreme Podatak Moguće vrednosti t 22 A t 22 B t 22 C D t 22 f) Koje operacije zadaje mehanizam u cilju vraćanja baze u konzistentno stanje u slučaju opisanom u tački pod d) ukoliko je poznato da je u trenutku neposredno posle Write(C) operacije transakcije T 1 urađena kontrolna tačka koja je završena u trenutku neposredno posle Read(D) operacije transakcije T 2? Kako će izgledati sistemski dnevnika u tom slučaju?

Septembarski ispitni rok 2008 04.09.2008. 1.(4) Pokazati šta je rezultat sledećeg upita za dati sadržaj posmatranih tabela: Tabela2 Sif2 Dt Qt Pr Weight 10 1 20 1 12 20 1 10 2 17 30 2 10 1 17 40 2 20 3 NULL 50 2 30 1 NULL 60 5 10 1 19 SELECT P1.Weight, COUNT(*) FROM Tabela2 AS P1 WHERE NOT EXISTS (SELECT * FROM Tabela2 AS C1 WHERE C1.Pr = 3 AND C1.Weight = P1.Weight) GROUP BY P1.Weight;

2.(16) Dati su šema relacije D(R, S, T, U, V, X) i skup funkcijskih zavisnosti F={RX V, US X, SR UV, TU RS}. Potrebno je: a) Odrediti skup kandidat ključeva KK date šeme. b) Ispitati redom da li je data šema u BC, 3. i 2. normalnoj formi i svaki put u tabeli naznačiti da li posmatrana zavisnost narušava posmatranu normalnu formu. BCNF 3NF 2NF R V US X SR UV TX R c) Sprovesti normalizaciju date šeme u 3. normalnu formu algoritmom koji garantuje očuvanje funkcijskih zavisnosti. d) Sprovesti normalizaciju date šeme u BC normalnu formu, izdvajajući zavisnosti redosledom sleva na desno. e) Ispitati da li je pri postupku u okviru tačke d) došlo do gubitka funkcijskih zavisnosti i kojih?

3.(50) a) Ako se za oporavak od kvara koristi mehanizam Prateće stranice. Podaci A, B, C i D nalaze se u različitim stranicama na disku (podatak A u stranici 1,..., D u stranici 4). Prikazati izgled relevantnih delova sistema u trenutku kvara, neposredno posle trenutka t 24? Koje operacije mehanizam Prateće Stranice vrši posle popravke sistema u cilju vraćanja baze u konzistentno stanje? T1 T2 T3 Oporavak: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 T1 T2 T3 Vreme T 1 T 2 T 3 t 1 t 2 t 3 Read (C) Read (B) C C + B t 4 Write (C) t 5 B B 5 t 6 Read (C) t 7 C 50 t 8 Write (C) t 9 Commit t 10 Read (C) t 11 C C + 1 t 12 Write (C) t 13 Read (B) t 14 B B 1 t 15 Write (B) t 16 Read (D) t 17 D D + C t 18 Write (D) t 19 Write (B) t 20 Commit t 21 Read (A) t 22 A A * 2 t 23 Write (A) Commit t 24 b) Koje su vrednosti svakog od podatka u bazi ukoliko pre početka izvršavanja datog redosleda podaci A, B, C i D imaju vrednosti 10, 20, 30 i 40 respektivno? Podatak Vrednosti A B C D

c) Uvesti mehanizam striktnog vremenskog markiranja i proveriti da li se dobija isti redosled. Vrednosti vremenskih marki su TS(T 1 )=300, TS(T 2 )=200, TS(T 3 )=100. Pri eventualnom restartovanju transakcija odabrati najpovoljniji slučaj (sa najmanjim brojem restartovanja). T Op S RA WA CA RB WB CB RC WC CC RD WD CD TS(T 1 ) TS(T 2 ) TS(T 3 ) 0 0 1 0 0 1 0 0 1 0 0 1 300 200 100

d) Neka se za redosled iz tačke a) za oporavak od kvara koristi mehanizam Sistemskog Dnevnika sa Neodloženim Upisom. Prikazati izgled sistemskog dnevnika i navesti operacije koje sistem zadaje posle popravke sistema, u cilju vraćanja baze u konzistentno stanje ukoliko je kvar nastao neposredno posle trenutka t 22? e) Koje su moguće vrednosti svakog od podataka u bazi neposredno pre trenutka t 22 ako je izgled sistemskog dnevnika kao u tački pod d) i ukoliko pre početka izvršavanja transakcija podaci A, B, C i D imaju vrednosti 10, 20, 30 i 40 respektivno? Vreme Podatak Moguće vrednosti t 22 A t 22 B t 22 C D t 22 f) Koje operacije zadaje mehanizam u cilju vraćanja baze u konzistentno stanje u slučaju opisanom u tački pod d) ukoliko je poznato da je u trenutku neposredno posle Write(C) operacije transakcije T 2 urađena kontrolna tačka koja je završena u trenutku neposredno posle Read(D) operacije transakcije T 1? Kako će izgledati sistemski dnevnika u tom slučaju?

Oktobarski ispitni rok 2008 24.09.2008. 1.(4) Pokazati šta je rezultat sledećeg upita za dati sadržaj posmatranih tabela: PTable Sif Dt Qt Pr Weight 10 1 20 1 800 20 1 10 2 700 30 2 10 1 900 40 2 20 3 1000 50 2 30 1 700 60 5 10 1 700 70 4 20 4 900 SELECT P1.Sif, P1.Weight FROM PTable AS P1, PTable AS P2 WHERE P1.Weight >= P2.Weight GROUP BY P1.Sif, P1.Weight HAVING (SELECT COUNT(*) FROM PTable) - COUNT(*) + 1 <= 3;

2.(16) Dati su šema relacije C(R, S, T, U, V, X) i skup funkcijskih zavisnosti F={X RV, US XR, R UT, TV S}. Potrebno je: a) Odrediti skup kandidat ključeva KK date šeme. b) Ispitati redom da li je data šema u BC, 3. i 2. normalnoj formi i svaki put u tabeli naznačiti da li posmatrana zavisnost narušava posmatranu normalnu formu. BCNF 3NF 2NF X RV US XR R UT TV S c) Sprovesti normalizaciju date šeme u 3. normalnu formu algoritmom koji garantuje očuvanje funkcijskih zavisnosti. d) Sprovesti normalizaciju date šeme u BC normalnu formu, izdvajajući zavisnosti redosledom sdesna na levo. e) Ispitati da li je pri postupku u okviru tačke d) došlo do gubitka funkcijskih zavisnosti i kojih?

3.(50) a) Ako se za oporavak od kvara koristi mehanizam Prateće stranice. Podaci A, B, C, D i E nalaze se u različitim stranicama na disku (podatak A u stranici 1,..., E u stranici 5). Prikazati izgled relevantnih delova sistema u trenutku kvara, neposredno posle trenutka t 24? Koje operacije mehanizam Prateće Stranice vrši posle popravke sistema u cilju vraćanja baze u konzistentno stanje? T1 T2 T3 Oporavak: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 T1 T2 T3 Vreme T 1 T 2 T 3 t 1 Read (E) t 2 E E 1 t 3 Write (E) t 4 Read (C) t 5 C 50 t 6 Write (C) t 7 Read (B) t 8 B B 1 t 9 Write (B) t 10 Read (C) t 11 C C + 1 t 12 Write (C) t 13 Read (A) t 14 A A * 2 t 15 Write (A) t 16 Commit t 17 Read (D) t 18 D D + E t 19 Write (D) t 20 Commit t 21 Read (A) t 22 A A + C t 23 Write (A) Commit t 24 b) Koje su vrednosti svakog od podatka u bazi ukoliko pre početka izvršavanja datog redosleda podaci A, B, C, D i E imaju vrednosti 10, 20, 30, 40 i 50 respektivno? Podatak Vrednosti A B C D E

c) Kako će izgledati transakcije ako se uvede mehanizam zaključavanja po protokolu u obliku stabla. Da li u tom slučaju redosled izvršavanja može izgledati kao na slici? Ako je odgovor na prethodno pitanje da, onda to treba i pokazati, u suprotnom treba dati mogući redosled izvršavanja polazeći od datog redosleda. Vreme T 1 T 2 T 3 t 1 t 2 t 3 t 4 t 5 t 6 t 7 t 8 t 9 t 10 t 11 t 12 t 13 t 14 t 15 t 16 t 17 t 18 t 19 t 20 t 21 t 22 t 23 t 24 t 25 t 26 t 27 t 28 t 29 t 36 t 37 t 38 t 39 t 40 t 41 t 42 t 43 t 44 t 45 t 46 t 47 t 48 t 49 t 50 t 51 t 52 t 53 t 54 t 55 t 56 t 57 t 58 t 59 t 60 t 61 A E B t 30 t 31 t 32 D C t 33 t 34 t 35

d) Neka se za redosled iz tačke a) za oporavak od kvara koristi mehanizam Sistemskog Dnevnika sa Odloženim Upisom. Prikazati izgled sistemskog dnevnika i navesti operacije koje sistem zadaje posle popravke sistema, u cilju vraćanja baze u konzistentno stanje ukoliko je kvar nastao neposredno posle trenutka t 22? e) Koje su moguće vrednosti svakog od podataka u bazi neposredno pre trenutka t 22 ako je izgled sistemskog dnevnika kao u tački pod d) i ukoliko pre početka izvršavanja transakcija podaci A, B, C i D imaju vrednosti 10, 20, 30, 40 i 50 respektivno? Vreme Podatak Moguće vrednosti t 22 A t 22 B t 22 C t 22 D E t 22 f) Koje operacije zadaje mehanizam u cilju vraćanja baze u konzistentno stanje u slučaju opisanom u tački pod d) ukoliko je poznato da je u trenutku neposredno posle Write(D) operacije transakcije T 1 urađena kontrolna tačka koja je završena u trenutku neposredno posle Read(A) operacije transakcije T 3? Kako će izgledati sistemski dnevnika u tom slučaju?

Januarski ispitni rok 2009 29.01.2009. 1.(8) Pokazati šta je rezultat sledećeg upita za dati sadržaj posmatranih tabela: Tabela2 Sif2 Dt Qt Pr Weight 10 1 20 1 12 20 1 10 2 17 30 2 10 1 17 40 2 20 3 NULL 50 2 30 1 NULL 60 5 10 1 19 SELECT P1.Weight, COUNT(*) FROM Tabela2 AS P1 WHERE NOT EXISTS (SELECT * FROM Tabela2 AS C1 WHERE C1.Pr = 3 AND C1.Weight = P1.Weight) GROUP BY P1.Weight; 12 1 17 2 19 1 NULL 2

2.(4) Dat je deo šeme relacione baze podataka, prikazati tri moguća modela entiteta i odnosa kojima data šema odgovara. Primarni ključevi su podvučeni a strani ključevi zaokruženi. (razlike postići uvođenjem različitih tipova odnosa, posrednih i neposrednih, a ne promenom kardinalnosti nad istim odnosima) A(A1, A2); B(A1, C2, B1); C(C1, C2, C3); D(A1, D1, D2) A A1 A2 (0,N) B B1 (0,N) C C1 C2 C3 D I A A1 A2 (0,N) B B1 (0,N) C C1 C2 C3 D1 D2 D (0,1) A A1 A2 I B B1 I C C1 C2 C3 D1 D2 I D D1 D2 3.(8) Dat je deo šeme relacione baze podataka lanca prodavnica. Potrebno je obezbediti ograničenje da svaka prodavnica mora da ima tačno dva menadžera. Poznato je da opis celobrojna vrednost koja može imati sledeće vrednosti (0 nedefisano, 1 radnik, 99 menadžer). Napisati SQL koji obezbeđuje traženo ograničenje i navesti na kom nivou se ono proverava. PRODAVNICA (SifP, Adresa, Površina) RADNIK (SifR, Ime, BrLK) RADI (SifR, SifP, DatumPocetka, DatumKraja, OpisPosla) CREATE ASSERTION TacnoDvaMenadzera CHECK (NOT EXISTS (SELECT * FROM Prodavnica P WHERE 2 <> (SELECT COUNT (*) FROM Radi R WHERE R.SifP=P.SifP AND R.OpisPosla=99)));

4.(16) Dati su šema relacije C(R, S, T, U, V, X) i skup funkcijskih zavisnosti F={X RV, US XR, R UT, TV S}. Potrebno je: a) Odrediti skup kandidat ključeva KK date šeme. KK={X, US, RV, RS, TVU} b) Ispitati redom da li je data šema u BC, 3. i 2. normalnoj formi i svaki put u tabeli naznačiti da li posmatrana zavisnost narušava posmatranu normalnu formu. X RV US XR R UT TV S BCNF x x 3NF 2NF c) Sprovesti normalizaciju date šeme u 3. normalnu formu algoritmom koji garantuje očuvanje funkcijskih zavisnosti. Data šema je već u 3NF. d) Sprovesti normalizaciju date šeme u BC normalnu formu, izdvajajući zavisnosti redosledom sdesna na levo. C 1 (T, V, S) C 2 (R, U, T) C 3 (X, R, V) e) Ispitati da li je pri postupku u okviru tačke d) došlo do gubitka funkcijskih zavisnosti i kojih? Izgubljena funkcijska zavisnost US XR