Professional Documents
Culture Documents
Anomalije ažuriranja kao motiv projektovanja Kada iz univerzalne pojave imamo potrebu da obrišemo podatke
šeme relacione baze podataka. o samo jednoj klasi entiteta, prinuđeni smo da brišemo čitavu
torku, kako ne bi došlo do narušavanja uslova integriteta
U teoriji relacionog modela podataka se polazi od pretpostavke entiteta. Ovakvo brisanje može da dovede do toga da potrebni
da šema univerzalne relacije (U,C) predstavlja inicijalni model podaci o entitetima drugih klasa, zapisani samo u obrisanoj
realnog sistema,bez obzira na njegovu kompleksnost. Skup U torki, budu izgubljeni.
sadrži obeležja realnog sistema, koja su bitna za realizaciju
zadataka IS, a skup C sadrži ograničenja, koja su posledica Anomalija modifikacije:
pravila ponašanja i poslovanja u realnom sistemu. Ta pravila Neka je X->A jedna funkcionalna zavisnost u skupu F.
ponašanja i poslovanja se izražavaju putem: integriteta Modifikacija vrednosti obeležja A u okviru jedne torke
domena, zabrane nula vrednosti za obeležja, funkcionalnih, univerzalne pojave, zahteva pristupanje i svim ostalim torkama
višeznačnih i zavisnosti spoja, kao i putem jednorelacionih radi usaglašavanja vrednosti obeležja A sa vrednošću u
zavisnosti sadržavanja. izmenjenoj torki. Ukoliko se jave torke u kojima vrednost
Univerzalna relacija je, kao baza podataka, nepogodno rešenje, obeležja A nije jednaka za istu vrednost obeležja X, funkcionalna
pre svega sa tačke gledišta efikasnog održavanja baze podataka zavisnost X->A više neće biti zadovoljena.
u konzistentnom stanju. Problemi koji se javljaju pri održavanju Integritet entita je uzročnik problema prilikom upisa i brisanja
univerzalne relacije u konzistentnom stanju, nazivaju se torki, a zadovoljavanje funkcionalnih zavisnosti prilikom
anomalijama ažuriranja. Obezbeđenje uslova za efikasnu modifikacije istih.
kontrolu integriteta predstavlja jedan od osnovnih ciljeva
Primer: Neka univerzalna šema relacije pod nazivom Fakultet sadrži obeležja tri
projektovanja skupa šema relacija šeme baze podataka klase entiteta. To su klase entiteta Student, Nastavnik i Predmet.
Problemi, izazivani anomalijama ažuriranja, rešavaju se Skup obeležja: U={BRI, IMES, PRS, BPI, SN, NP, SP, NP, OCE} .... ponavlja se u 10.
rastavljanjem šeme univerzalne relacije na skup šema relacija S, pitanju
takav da je |S| ˃ 1. To dekomponovanje predstavlja jednu od
metoda, koja sekoristi pri projektovanju šeme baze podataka. 2. Ciljevi i metode normalizacije šeme relacione
baze podataka
Uvođenje dekomponovanja pokreće određeni niz pitanja:
Definisanjem normalnih formi se daje odgovor na pitanje do kog
kakve uslove treba da zadovolji skup šema relacija S dobijen
dekompozicijom. nivoa treba vršiti dekompoziciju šeme univerzalne reakcije.
kako vršiti dekompoziciju. Normalizacija je metoda projektovanja skupa šeme relacione
do kog nivoa rastavljati šemu univerzalne relacije i šeme relacija, baze podataka. Postupak je strogo formalan, a njegov krajnji cilj
dobijene njenim rastavljanjem, je zamena šeme univerzalne relacije skupom šema relacija sa
kako definisati međurelaciona ograničenja. poželjnim osobinama. U te osobine spadaju: određ. normalna
forma, spoj bez gubitaka, konzervacija skupa obeležja i skupa
Na osnovu pojma spoja bez gubitaka se izvode i osnovni postupci za
rastavljanje šeme relacije na šeme relacija. funkc.zavisnosti. Eliminisanje anomalija ažuriranja predst.
osnovni razlog za primenu normalizacije. Saglasno tome,
Anomalije ažuriranja su problemi koji se javljaju prilikom normalizacijom se ostvaruje jedan od preduslova za efikasnu
ažuriranja univerzalne pojave baze podataka, ali i pri upisu, kontrolu integriteta baze podataka.
brisanju i modifikaciji torki u relacijama baze podataka. Uzroci
postojanja su: integritet entiteta, funkcionalne, višeznačne Metode normalizacije
zavisnosti i zavisnosti spoja. Postoje dve osnovne metode normalizacije: metoda
Integritet entiteta je posledica funkcionalnih zavisnosti, pa dekompozicije i metoda sinteze. Svaka od njih ima niz varijanti.
razlikujemo anomalije ažuriranja koje su posledica Metoda dekompozicije je zasnovana na postupnom
funkcionalnih zavisnosti i anomalije ažuriranja koje su rastavljanju šeme univerzalne reakcije (U,C) saglasno tipskim
posledica višeznačnih zavisnosti i zavisnosti spoja. zavisnostima u C, dok se ne dobije skup šema relacija u željenoj
Kada se kao šema baze podataka koristi univerzalna šema normalnoj formi.
relacije (U, C), ona u opštem slučaju sadrži obeležja većeg broja Metoda sinteze se realizuje korišćenjem samo funkcionalnih
klasa entiteta, pa samim tim i ključ univerzalne šeme relacije zavisnosti. Polazi se od šeme univerzalne reakcije (U,C), a
sadrži identifikaciona obeležja više klasa entiteta. Prilikom rezultat je skup šema relacija, najmanje u trećoj normlanoj
izmena baze podataka razlikujemo sl. anomalije ažuriranja: formi. Svaka šema relacije tog skupa sintetizuje se od funkc.
Anomalija upisa: zavisnosti iz kanončnog pokrivanja skupa F. Osnovna ideja
metode sinteze je zasnovana na redukciji i eliminaciji svih
U univerzalnu pojavu se ne mogu upisati podaci o entitetu samo suvišnih funkcionalnih zavisnosti iz polaznog skupa F.
jedne klase, jer bi to podrazumevalo upis nula vrednosti za
obeležja svih drugih klasa identita. S obzirom da i određ. Definicija. Neka je (U,C) šema univerz. reakcije, FC skup funkc.
obeležja drugih klasa entita čine deo ključa šeme relacije, nula zavisnosti, a S=Ri,Ci)|i=1, …, n } skup šema relacija i neka su
vrednosti u novoj torki univerzalne pojave bi dovele do dati sledeći uslovi: πRi
narušavanje uslova integriteta entiteta. U =¿ i=1¿ n Ri
Anomalija brisanja: 1
n ▪ Algoritam sinteze ne pronalazi sve ključeve šeme relacije, već samo
2 ( ∀ r ∈ SAT (U ,C )¿ ¿
i=1 one koji su posledica levih strana FZ u inicijalnom skupu funkc.
zavisnosti F. Ključevi koji nisu odredjeni, nazivaju se implicitnim ili
+¿=(¿i =1 ¿ n F Ri)¿ nesintetizovanim. Jedan od odredjenih ključeva se proglašava za
3F + primarni ključ. Primarnim ključem se proglašava onaj ekvivalentni ključ
Ako skup šema relacija S zadovoljava uslove 1 i 2, naziva se šeme relacije, putem čijih vrednosti se, najčešće, vrši traženje odredj.
torke u relaciji.
dekompozicijom šeme (U,C) sa spojem bez gubitaka. Ako
zadovoljava uslove 1 i 3, naziva se takvom reprezentacijom
šeme (U,C), koja konzervira funkc. zavisnosti. Ako skup šema
reacija S zadovoljava uslove 1 i 2 i , naziva se dekompozicijom 4. Zatvarač i pokrivač skupa funkc. zavisnosti i zatvarač
šeme (U,C) sa spojem bez gubitaka, koja konzervira funkc. skupa obeležja kao osnovni pojmovi korišćeni u
zavisnosti. algoritmu metoda sinteze.
Na osnovu pravila dekompozicije, svaki skup funkc. zavisnosti F
može se zameniti ekvivalentnim skupom G u kome se na desnim
3.Osobine skupa šema relacija nakon primene stranama fz nalazi samo po jedno obeležje.
algoritma metoda sinteze. Postoje tri osnovna aksioma-Armstrongovi aksiomi:
Postupak se primenjuje na šemu relacije ( U , F ), a rezultat je (F1) Refleksivnost –
skup šema relacija S= (, Ki )|i=1, …, n }, gde je Ri U , a Ki skup (F2) Proširenje –
određenih (sintetizovanih) ključeva. (F3) Pseudotranzitivnost –
Kao posledica sistema aksioma F, postoje još dva pravila
Algoritam metode sinteze kao ulazne parametre koristi sledeće izvođenja:
skupove: (F4) Unija
(F5) Dekompozicija
Skup obeležja U = {A, B, C. . . X, Y, Z} ;
Skup funkcionalnih zavisnosti definisan nad skupom obeležja U, Primenom prva tri Armstrongova aksioma na skup funkc.
F = {f1. . .fn} zavisnosti F dobijamo skup funkc. zavisnosti F+ koji sadrži sve
funkc. zavisnosti iz skupa F, kao i one funkc. zavisnosti koje su
Nakon završene normalizacije, dobija se kao rezultat skup šema logička posledica skupa fz F tj. one koje se mogu izvesti
relacija S u oznaci S = {Ni{Ri, Ki}}, pri čemu R predstavlja skup primenom aksioma iz sistema F. Taj novodobijeni skup se naziva
obeležja, a Ki skup sintetizovanih ključeva tj. vrstu ograničenja zatvaranjem (zatvaračem) skupa funkcionalnih zavisnosti F.
u skupu šema relacija.
Zatvaranje skupa funkc. zavisnosti sadrži potpunu informaciju o
Relaciona baza podataka se nalazi u trećoj normalnoj formi i ograničenjima među podacima u ekstenziji. Čak i za mali skup
mora da zadovoljava sl. uslove, tj. da poseduje sledeće osobine: obeležja i funkc. zavisnosti, njegovo zatvaranje sadrži brojne
1. Skup šema relacija sadrži kompletnu informaciju o skupu logički suvišne funkc. zavisnosti, tj. ima veliki kardinalni broj.
obeležja U tj. konzervira inicijalni skup obeležja koja su Primenom pravila dekompozicije i unije, dobijaju se skupovi F+d
prepoznata kao bitna za realni sistem i F+u koji su ekvivalentni sa zatvaračem, ali imaju manji
kardinalni broj.
2. Skup šema relacija sadrži kompletnu informaciju o skupu
funkcionalnih zavisnosti F tj. konzervira inicijalni skup Skup funkc. zavisnosti F+d sadrži takve funkc.zavisnosti čija
funkcionalnih zavisnosti desna strana ima samo jedan član, dok se u skupu F +u svaka
leva strana funkc. zavisnosti javlja samo jednom.
3. Sve šeme relacija su u najmanje 3 NF
-
4. Šema baze podataka reprezentuje jedno zatvaranje skupa F Pokrivanje (pokrivač) skupa funkcionalnih zavisnosti F
funkcionalnih zavisnosti F Skupovi F i G su ekvivalentni, ako i samo ako važi da su
5. U šemu baze podataka je ugrađeno najmanje jedno zatvaranja skupa F i skupa G jednaka F+=G+.
neredundantno pokrivanje skupa funkcionalnih zavisnosti F Za ekvivalente skupove se kaže da pokrivaju jedan drugog.
6. Svaka funkcionalna zavisnost ugrađena u šemu baze Pokrivanje (pokrivač) skupa funkcionalnih zavisnosti F- je svaki
podataka mora biti redukovana skup funkcionalnih zavisnosti G koji ima jednako zatvaranje sa F.
7. Šema baze podataka poseduje osobina spojivosti bez Pokrivanje može biti: neredundantno, redundantno i
gubitaka, tj. implicira zavisnost spoja (R1…Rn) kanonično.
8. Šema baze podataka treba da sadrži neophodan broj šema Skup G je neredundantno pokrivanje skupa funkc. zavisnosti F ako ne
relacija sadrži pravi podskup koji je takođe pokrivanje skupa funkc. zavisnosti F.
Jedan skup FZ može imati više neredundantnih pokrivanja i
9. Ne postoji skup šema relacija T sa manjim brojem šema neredundantno pokrivanje može zavisiti od redosleda kojim se biraju FZ
relacija od skupa S, a da zadovoljava uslove 1-3 prilikom eliminacije redundantnih (zbog postojanja fz oblika X->Y i Y->X).
Ispunjenost ovih osobina garantuje kvalitet šeme baze podataka Redundantno pokrivanje je takvo pokrivanje koje sadrži redundantne
i nemogućnost pojave anomalija ažuriranja, čije je otklanjanje i FZ. Redundantna funkcionalna zavisnost u skupu funkci. zavisnosti F je
bilo cilj postupka projektovanja skupa šema relacija.
takva funkcionalna zavisnost f koja se može izvesti iz F\{f}, odnosno, 6. Metod sinteze - 1. korak algoritma: tumačenje
ako f pripada zatvaranju skupa F bez f, tj. pripada skupu {F\f}+.
postupka i prikaz funkcionisanja na odabranom
Kanonično pokrivanje skupa funkcionalnih zavisnosti F je takvo da primeru.
ispunjava sledeće uslove:
Algoritam sinteze sadrži 7 koraka. Prva dva prevode inicijalno zadati
1. G+=F+ (jednaka zatvaranja)
skup funkc. zavisnosti F u njegov kanonični pokrivač H.
2. G sadrži samo redukovane funkcionalne zavisnosti
3. G je neredundantan skup
4. desna strana svake funkcionalne zavisnosti u G sadrži samo U prvom koraku se vrši redukcija levih strana fz. tj
jedno obeležje transformacija polaznog skupa F u skup E primenom algoritma
redukcije.
Cilj prvog koraka je da se iz svih grupa funkc. zavisnosti u F, a
5. Nesintetizovani ključevi.
samim tim i iz svih FZ u F uklone suvišna obeležja. To znači da se
u prvom koraku žele dobiti isključivo potpune funkc. zavisnosti
Algoritam sinteze ne pronalazi sve ključeve šeme relacije, već tj. FZ koje imaju redukovanu levu stranu, što je u skladu sa
samo one koji su posledica levih strana funkc. zavisnosti u definicijom druge normalne forme( 2 NF).
inicijalnom skupu funkc. zavisnosti F.
Rezultat prvog koraka algoritma sinteze je skup E’ koji u sebi
Određeni (ili sintetizovani) ključ šeme relacije (R, K) je sadrži isključivo redukovane FZ oblika XA, u kojima svaka leva
skup obeležja XÎ K takav da važi: strana FZ ne sadrži ni jedno suvišno obeležje.
(X Í R) (X Î lhs(H)) Algoritam za 1. korak algoritma sinteze:
Ključevi koji nisu određeni, nazivaju se implicitnim ili
nesintetizovanim.
Skup obeležja (X R) predstavlja nesintetizovani ključ šema
relacije N (R, K), ako predstavlja ključ i važi XK.
Za uspešnu primenu algoritma transformacije je neophodno
generisati sve ključeve svake šeme relacije iz S osim za one koji
predstavljaju minimalne čvorove grafa zatvaranja. Za to se
koristi algoritam za generisanje svih dodatnih ključeva šeme
relacije.
Svi ključevi šeme relacije, određeni i implicitni, međusobno su
ekvivalentni.
detaljno:
Jedan od određenih ključeva se proglašava za primarni ključ. U prvom koraku se vrši transformacija polaznog skupa F’ u skup E’
Primarnim ključem se proglašava onaj ekvivalentni ključ šeme redukcijom levih strana funkc. zavisnosti skupa F’. Leve strane u oznaci
relacije, putem čijih vrednosti se, najčešće, vrši traženje određene ovog algoritma su obeležene sa X, a oblik zavisnosti je X A. Skupovi
torke u relaciji. obeležja A i X moraju biti podskupovi skupa U.
U prvoj naredbi prvog koraka algoritma skup E’ poprima vrednost
praznog skupa (POSTAVI E u E’).
Druga naredba je programska petlja REDUKCIJA, u kojoj je ulazna
vrednost svaka funkc. zavisnost polaznog skupa F’ (RADI redukcija (∀X
A∈F’).
U okviru ove programske petlje je ugnježđena jos jedna programska
petlja - RADI eliminacija_obelezja ∀B∈X.
U uslovu naredbe grananja izraz “AKO JE A elemenat skupa zatvaranja
obelezja X-B+ u odnosu na F’” TADA se iz skupa obelezja X eliminise
obelezje B, jer je bilo suvisno. Ukoliko prethodni uslov nije zadovoljen
TADA obelezje B se ne odstranjuje iz skupa X. Unutrašnja ugnježđena
petlja “eliminacija_obelezja” se ponavlja za svako obeležje leve strane
odabrane funkcionalne zavisnosti skupa X.
Spoljna petlja vrši redukciju za sve funkc. zavisnosti tipa XA iz F’. Ovo
praktično znači da dve ugnježđene programske petlje tipa DO
WHILEanaliziraju svako obeležje leve strane svake funkcionalne
zavisnosti polaznog skupa F’.
U okviru programske petlje REDUKCIJA se u svakom koraku u skup E’,
koji je u početku bio prazan, dodaje zavisnost tipa X A (X određuje A)
za koju sada možemo garantovati da leva strana te zavisnosti u oznaci X
kao skup obeležja nema suvišnog obeležja.
7. Metod sinteze - 2. korak algoritma: tumačenje 8.Metod sinteze - 3. i 4. korak algoritma: tumačenje
postupka i prikaz funkcionisanja na odabranom postupka i prikaz funkcionisanja na odabranom
primeru. primeru.
Treći korak algoritma normalizacije metodom sinteze kao ulazni
skup funkcionalnih zavisnosti koristi skup H dobijen u drugom
koraku.
U koraku III skup H treba podeliti na disjunktivne (nepresečne)
podskupove funkcionalnih zavisnosti sa istim levim stranama.
Ovaj korak naziva se particionisanje neredundantnog
pokrivanja H na disjunktne podskupove.
Rezultat trećeg koraka je skup G(X) = {G1(X1), G2(X2), . . .
Gn(Xn)}, koji formiramo od disjunktnih podskupova
neredundantnog pokrivanja H.
Peti korak algoritma predst. eliminaciju tranzitivnih trivijalnih Ukupno postoji šest NF: I NF., II NF, III NF, Boyce Coddova NF, IV
zavisnosti u skupovima J i G’(X) primenom pravila impliciranih NF i V NF. Najveći značaj za projektovanja šeme baze podataka
algoritmom redukcije. imaju treća, Boyce Coddova i četvrta NF. Prve tri i Boyce
Coddova normalna forma se definišu isključivo na osnovu funkc.
Rezultat petog koraka predstavlja skup L koji se formira od zavisnosti. Četvrta NF je zasnovana na višeznačnim, a peta na
novopronađenih tranzitivnih i trivijalnih funkcionalnih zavisnostima spoja.
zavisnosti.
-----------1NF
Za definisanje 1. NF koristi se pojam elementarnog obeležja. To
je ono obeležje čiji domen sadrži atomične elemente. Elementi
domena se nazivaju atomičnim ili ako ne predstavljaju torke
reda n2 ili ako se struktura elemenata ne posmatra. Obeležje
je elementarno ili ako se ne može dekomponovati na
komponente koje takođe predstavljaju obeležja ili ako ako student sluša određeni predmet, sluša ga i polaže kod samo
posmatrana primena ne zahteva dekomponovanje. jednog nastavnika,
svaki student, iz određ. predmeta , ima najviše jednu ocenu.
1. def. Šema relacije (R, F) je u prvoj normalnoj formi (1NF) ako
Pravila poslovanja omogućavaju definisanje sledećeg skupa
su vrednosti dom(A) atomične tj. ako su sva obeležja A iz skupa
funkcionalnih zavisnosti
R elementarna. Šema baze podataka je u 1NF ako su sve njene
šeme relacije u prvoj normalnoj formi. F = {BRI IMS+PRS+BPI, OZP NAP,NAP OZP, OZN
Druga normalna forma predst. mogući metodološki međukorak Anomalije ažuriranja relacije na prethodnoj relaciji se mogu
između I i III NF. ilustrovati sledećim primerima:
def. Šema relacije (R, F) je u drugoj normalnoj formi (2NF) s 1.U relaciju Fakultet se ne mogu upisati podaci o novom
obzirom na F ako je u 1NF i ako je svako neprimarno obeležje u nastavniku, dok se ne zna predmet, koji će predavati i bar jedan
potpunosti zavisno od svakog ključa R. student, kojem će predavati. Ovakve pojave se nazivaju
anomalijama upisa.
Šema baze podataka je u 2NF, ako je svaka njena šema relacije u
2NF. 2.Ako se, iz relacije, žele brisati podaci npr o nastavniku, gube se
podaci o predmetu. Ovakve pojave se nazivaju anomalijama
Netrivijalna funkc. zavisnost X->A se naziva nepotpunom ako brisanja.
Y⊂X takvo da važi Y->A ∈ F+. Ako za svako Y⊂X važi da Y->A ∉
F+, funkc. zavisnost X->A je potpuna ili redukovana. 3.Modifikacija naziva predmeta zahteva pristupanje svim
torkama sa OZP=p .Ovakve pojave se nazivaju anomalijama
Skup funkc. zavisnosti je redukovan ili ima redukovane leve modifikacije.
strane ako je svaka FZ iz ovog skupa redukovana FZ.
---------3NF
Šema relacije je u drugoj normalnoj formi, ako je svako
neprimarno obeležje skupa obeležja R u potpunoj funkc. Treća NF predst. najčešći praktični cilj normalizacije.
zavisnosti od svakog ključa šeme relacije (R,C). Dovođenjem skupa šema relacija u treću NF, eliminiše se većina,
ali ne i svi uzroci anomalija ažuriranja.
Primer:
Šema relacije Fakultet
Šema baze podataka je u trećoj NF ako je svaka njena šema
Skup U = { BRl, IMS, PRS, BPI, OZP, NAP, OZN, PRN, OCE } relacije u trećoj NF.
sadrži obeležja klasa entiteta: Student, Predmet i Nastavnik. Netrivijalna funkc. zavisnost X->A se naziva tranzitivnom ako
Neka su odnosi:
važi X->Y, Y->AF+ i Y->X ∉ F+
student ima: broj indeksa (BRl), ime (IMS), prezime (PRS)
i broj položenih ispita (BPI). Šema relacije je u trećoj normalnoj formi (3NF) ako se svako
predmet ima: oznaku (OZP) i naziv (NAP). neprimarno obeležje skupa R nalazi u netranzitivnoj zavisnosti
nastavnik ima: oznaku (OZN) i prezime (PRN). od svakog ključa X šeme rlacije (R,C).
student ima ocenu (OCE) iz predmeta (PRN),
nastavnik predaje studentu, def. Šema relacije (R,C) je u trećoj NF ako svaka netrivijalna
nastavnik izvodi nastavu iz predmeta. funkc. zavisnost F+, čija desna strana sadrži neprimarno
I neka važe sledeća pravila poslovanja: obeležje, na levoj strani sadrži ključ šeme relacije.
svaki broj indeksa se dodeljuje najviše jednom studentu, a svaki
student ima samo jedan indeks, Nepotpuna funkc. zavisnost predst. poseban slučaj tranzitivne
svaka oznaka predmeta se dodeljuje najviše jednom predmetu, a zavisnosti. Ako je netrivijalna funkc. zavisnost Y->AF
svaki predmet ima samo jednu oznaku, nepotpuna, tada postoji Y takvo da je Y⊂X i važi Y-> AF+.
svaka oznaka nastavnika se dodeljuje najviše jednom nastavniku,
a svaki nastavnik ima samo jednu oznaku. Na osnovu Armstrongovih pravila izvođenja F1-Refleksivnost-
ne postoje dva predmeta sa istim nazivom, sledi X->YF+ i Y-> AF+.
nastavnik izvodi nastavu iz najviše jednog predmeta.
Saglasno tome, funkc. zavisnost X->A je tranzitivna. –složenija pravila poslovanja, poput ograničenja:“student
može upisati određenu godinu studija samo ako je položio
Šema relacije je u trećoj NF i u drugoj NF.
najmanje 80% predmeta prethodne godine studija.”.
Primer. Fakultet.
Način deklarisanja i definisanja proceduralnih specifikacija
Šema relacije Nast_Pred nije u trećoj NF jer skup FZ sadrži tranzitivnu uslova integriteta, u velikoj meri zavisi od proizvođača SUBP.
zavisnost OZN ->NAP. Šema relacije Nastavnik(OZN,PRN, OZN -
>PRN) i Predmet(OZP,NAP, OZP NAP, NAPOZP) su u trećoj Proceduralni mehanizmi za proveru uslova integriteta se, u
NF. Pojave nad ovim šemama relacija ne poseduju anomalije SUBP, najčešće realizuju korišćenjem okidača (eng.
ažuriranja, što je samo u ovom primeru. trigger), procedura i funkcija baza podataka.
Anomalije ažuriranja se manifestuju i pri ažuriranju šeme Okidač je mehanizam sistema za upravljanje bazom podataka
relacije u trećoj NF, ako njen skup ograničenja sadrži tranzitivnu vezan za određeni događaj. Okidač pokreće određ. aktivnost
funkc. zavisnost na čijoj desnoj strani je primarno obeležje. nad bazom podataka uvek kada se taj događaj desi.
Problem se rešava prevođenjem šeme relacije u Boyce-Codd-
Def.:Procedura baze podataka je mehanizam SUBP koji se
ovu NF.
pokreće po eksplicitnom pozivu (korisnika ili drugog
proceduralnog mehanizma), vrši određenu obradu (na osnovu
11.Normalne forme - BC (Boyce-Coddova) normalna prosleđenih parametara ili bez njih) i po potrebi vraća neke
vrednosti kao izlazne argumente.
forma.
Funkcije su rutine koje prihvataju parametre, izvršavaju različite
Stroža je od treće normalne forme. Strogost se ogleda u zabrani iskaze i vraćaju rezultate tih iskaza kao vrednosti. Postoje
postojanja svake tranzitivne zavisnosti u skupu ograničenja sistemske i korisnički definisane funkcije baze podataka.
šeme relacija, uključujući i one na čijoj desnoj strani je primarno
obeležje. posle imaju posebno i okidači i procedure i funkcije
Zasniva se na funkcionalnim zavisnostima.
Boyce Coddova NF zahteva da svaka netrivijalna funkcionalna
13. Okidači: definicija i namena.
zavisnost sadrži ključ na levoj strani,bez obzira kakvo obeležje Okidač (triger) je mehanizam SUBP vezan za određeni događaj.
sadrži na desnoj strani. Okidač automatski pokreće određ. aktivnost nad bazom
podataka uvek kada se taj događaj desi.
Definicija
Događaj koji aktivira triger je neka operacija ažuriranja (insert,
Šema relacije (R,F) se nalazi u BCNF s obzirom na skup
update, delete) koja se vrši nad nekom tabelom ili pogledom.
funkcionalnih zavisnosti F, ako je u 1NF i ni jedno obeležje iz R
nije tranzitivno zavisno od bilo kog ključa u R. U definiciji okidača se navodi koja operacija ažuriranja (jedna ili
više njih) i nad kojom tabelom/pogledom će je aktivirati.
Najčešće se za svaku operaciju nad nekom tabelom definiše
poseban okidač.
DDL iskazi koji se koriste za rad sa okidačima su CREATE
TRIGGER, ALTER TRIGGER i DROP TRIGGER.
?????
v Transact-SQL iskazi –deklaracija promenljivih
Okidači, poput procedura i funkcija baza podataka se mogu
posmatrati i kao programski moduli pohranjeni u bazi podataka.
Kada u nekom programu želimo privremeno memorisati neke
podatke (najčešće međurezultate obrade) za ove potrebe
uvodimo programske promenljive. Programske promenljive
rezervišu deo RAM-a i u tom delu radne memorije se pamte
njihove vrednosti.
Sintaksa iskaza za deklaraciju promenljivih je sledeća:
prostora baze podataka, –Strane ključeve često i sam SUBP zahteva kreiranje indeksa
različitih vrsta organizacije datoteka i metoda pristupa, nad ovim kolonama
tehnika particionisanja i klasterizovanja, – Kolone za sortiranje- upiti koji koriste JOIN, ORDER BY, GROUP
metoda denormalizacije itd. BY, UNION i DISTINCT mogu naterati SUBP da sortira
1.Organizovanje prostora baze podataka međurezultate ili krajnji rezultat.
Podaci u distribuiranom sistemu mogu biti particionisani •oblikovanje idejnog rešenja hardverske i komunikacione
(fragmentirani) ili replicirani u fizičkoj memoriji. infrastrukture sistema i
Replikacija predstavlja skup tehnologija za kopiranje i •definisanje konfiguracije sistemskog softvera (operativnih sis-
distribuiranje podataka i objekata baze podataka između tema, SUBP, kao i programskih paketa za razvoj aplikacija IS).
različitih instanci baza podataka. Potrebno je:
Jedan objekat (cela tabela ili njen deo) može imati više kopija na •za svaki tip lokacije specificirati da li, i u kom broju, postoje
više različitih lokacija. raču-nari koji imaju ulogu servera baze podataka i servera
Dve fundamentalne kategorije replikacije su: aplikacija.
•uvesti šemu imenovanja servera
•za svaku lokaciju u sistemu, saglasno specifikaciji konfiguracije
po tipu lokacije, naznačiti i imenovati servere.