ACCESS 2007 |
-RELACIONI MODEL- |
|
|
|
|
Relacioni model bio je teoretski zasnovan još krajem
60-tih godina 20. vijeka, u radovima E.F. Codd-a. Model se dugo
pojavljivao samo u akademskim raspravama i knjigama. Prve realizacije na
računaru bile su suviše spore i neefikasne. Zahvaljujući intenzivnom
istraživanju, te napretku samih računara, efikasnost relacionih baza
postepeno se poboljšavala. Sredinom 80-tih godina 20. vijeka relacioni
model je postao prevladavajući. I danas većina DBMS koristi taj model.
Relacija, atribut, n-torka, ključ
Relacioni model zahtijeva da se baza podataka sastoji od skupa
pravougaonih tabela - tzv. relacija. Svaka relacija ima svoje ime po
kojem je razlikujemo od ostalih u istoj bazi. Jedna kolona relacije
obično sadrži vrijednost jednog atributa (za entitet ili vezu) - zato
kolonu poistovjećujemo s atributom i obratno. Atribut ima svoje ime po
kojem ga razlikujemo od ostalih u istoj relaciji. Vrijednosti jednog
atributa su podaci istog tipa. Dakle, definisan je skup dozvoljenih
vrijednosti za atribut, koji se zove domen atributa. Vrijednost atributa
mora biti jednostruka i jednostavna. Pod nekim uslovima tolerišemo
situaciju da vrijednost atributa nedostaje (nije upisana). Jedan red
relacije obično predstavlja jedan primjerak entiteta, ili bilježi vezu
između dva ili više primjeraka. Red nazivamo n-torka. U jednoj
relaciji ne smiju postojati dvije jednake n-torke. Broj atributa je stepen relacije, a broj n-torki je kardinalnost relacije. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Ključ K relacije R je podskup atributa od R
koji ima sljedeća “vremenski nezavisna” svojstva:
1. Vrijednosti atributa iz K jednoznačno određuju n-torku u R. Dakle ne
mogu u R postojati dvije n-torke s istim vrijednostima atributa iz K.
2. Ako izbacimo iz K bilo koji atribut, tada se narušava svojstvo 1.
Budući da su sve n-torke u R medusobno različite, K uvijek postoji.
Naime, skup svih atributa zadovoljava svojstvo 1. Izbacivanjem suvišnih
atributa doći ćemo do podskupa koji zadovoljava i svojstvo 2.Dešava se da relacija ima više kandidata za ključ. Tada jedan on njih
proglašavamo primarnim ključem. Atributi koji sastavljaju primarni ključ
zovu se primarni atributi. Vrijednost primarnog atributa ne smije ni u
jednoj n-torki ostati neupisana.
Građu relacije kratko opisujemo tzv. shemom relacije, koja se sastoji od
imena relacije i popisa imena atributa u zagradama. Primarni atributi su
podvučeni. |
|
|
|
|
|
Pretvaranje ER sheme u relacionu: |
|
|
Pretvaranje tipova entiteta. Svaki tip entiteta
prikazuje se jednom relacijom. Atributi tipa postaju atributi relacije.
Jedan primjerak entiteta prikazan je jednom n-torkom. Primarni ključ
entiteta postaje primarni ključ relacije. Doduše, učešće
entiteta u vezama može zahtijevati da se u relaciju dodaju još neki
atributi koji nisu postojali u odgovarajućem tipu entiteta.
Pretvaranje binarnih veza. Ako tip entiteta E2 ima obavezno članstvo u
(N : 1) vezi s tipom E1, tada relacija za E2 treba uključiti primarne
atribute od E1. Ključ jedne relacije koji je prepisan u drugu relaciju
zove se strani ključ (u toj drugoj relaciji).Ako tip entiteta E2 ima
neobavezno članstvo u (N : 1) vezi s tipom E1, tada vezu možemo
prikazati na prethodni način, ili uvodenjem nove relacije čiji atributi
su primarni atributi od E1 i E2. |
|
|
|
Normalizacija relacione sheme: |
Povratak na vrh |
|
Relaciona shema, dobijena iz ER-sheme na osnovu
prethodnih uputstava, može sadržavati nedorečenosti koje treba otkloniti
prije implementacije. Proces daljnjeg dotjerivanja sheme zove se
normalizacija.Teorija normalizacije zasnovana je na pojmu normalnih formi. Relacije
dobijene u skladu s poglavljem morale bi u najmanju ruku biti u
prvoj normalnoj formi (1NF). Naime, relacija je u 1NF ako je vrijednost
svakog atributa jednostruka i nedjeljiva - to svojstvo već je bilo
uključeno u našu definiciju relacije. U svojim radovima (1970-1974.
godina) E.F. Codd je najprije definisao drugu i treću normalnu formu
(2NF, 3NF), a zatim i poboljšanu varijantu 3NF koja se zove Boyce-Codd-ova
normalna forma (BCNF). R. Fagin je 1977. i 1979. uveo četvrtu i petu
normalnu formu (4NF, 5NF). U praksi je lako naići na relacije koje
odstupaju od 2NF, 3NF, BCNF, no vrlo rijetko se susreću relacije u BCNF
koje nisu u 4NF i 5NF.
Teorija normalizacije nije ništa drugo nego formalizacija nekih
intuitivno prihvatljivih principa o “zdravom” oblikovanju sheme. Ukoliko
već na početku dobro uočimo sve potrebne entitete, atribute i veze, tada
nam nikakva daljnja normalizacija neće biti potrebna. No ako je polazna
relaciona shema bila loše oblikovana, tada će postupak normalizacije
ispraviti te greške.
Za zadanu relaciju R, atribut B od R je funkcionalno zavisan o atributu
A od R (oznaka: A → B) ako vrijednost od A jednoznačno određuje
vrijednost od B. Dakle ako u isto vrijeme postoje u R dvije n-torke s
jednakom vrijednošću A, tada te n-torke moraju imati jednaku vrijednost
B. Analogna definicija primjenjuje se i za slučaj kad su A i B složeni
atributi.Za zadanu relaciju R, atribut B od R je potpuno funkcionalno
zavisan o (složenom) atributu A od R ako vrijedi: B je funkcionalno
zavisan o A, no B nije funkcionalno zavisan ni o jednom pravom podskupu
od A. |
|
|
|
Druga normalna forma: |
|
|
Relacija je u drugoj normalnoj formi (2NF) ako je u
1NF i ako je svaki ne-primarni atribut potpuno funkcionalno zavisan o
primarnom ključu. |
Povratak na vrh |
|
|
|
|
Treća normalna forma:
Relacija je u trećoj normalnoj formi (3NF) ako je u 2NF i ako ne sadrži
tranzitivne zavisnosti. Preciznije, relacija R je u 3NF ako za svaku
funkcionalnu zavisnost X → A u R, takvu da A nije u X, vrijedi: X sadrži
ključ za R ili je A primarni atribut. |
|
|
|
|
|
Boyce-Codd-ova normalna forma: |
|
|
Determinanta je atribut (ili kombinacija atributa) o
kojem je neki drugi atribut potpuno funkcionalno zavisan. Relacija je u
Boyce-Codd-ovoj normalnoj formi (BCNF) ako je svaka njena determinanta i kandidat za ključ. Očito relacija koja je u BCNF takođe i u
2NF i 3NF. No postoje relacije koje su u 3NF, no nisu u BCNF. |
|
|
|
|
|
Četvrta normalnu formu: |
|
|
Višeznačna zavisnost A ->-> B vrijedi ako:
skup B-vrijednosti koje se u R pojavljuju uz zadani par (A-vrijednost,
C-vrijednost) zavisi samo o A-vrijednosti, a ne i o C-vrijednosti. Ista
definicija primjenjuje se i kad su A, B i C složeni atributi (dakle
skupovi atributa).
Relacija R je u četvrtoj normalnoj formi (4NF) ako vrijedi: kad god
postoji višeznačna zavisnost u R, na primjer A ->-> B, tada su svi
atributi od R funkcionalno zavisni o A.
Ekvivalentno, R je u 4NF ako je u BCNF i sve višeznačne zavisnosti u R
su zapravo funkcionalne zavisnosti. |
Povratak na vrh |
|
|
|
|
Razlozi zbog kojih se može odustati od normalizacije: |
|
|
Za većinu praktičnih primjera dovoljno je relacije
normalizovati do 3NF. Ponekad je potrebno neku relaciju i dalje
normalizovati do BCNF ili 4NF. Peta normalna forma, koja se također
navodi u literaturi, nije od praktičnog značaja.
Postoje razlozi zbog kojih izuzetno možemo odustati od pune
normalizacije.
Složeni atribut . Dešava se da nekoliko atributa u relaciji čine
cjelinu koja se u aplikacijama nikad ne rastavlja na sastavne dijelove.
Efikasno čitanje podataka . Normalizacijom se velike relacije
razbijaju na mnogo manjih. Kod čitanja je često potrebno podatke iz
malih relacija ponovo sastaviti u veće n-torke. Uspostavljanje veza među
podacima u manjim relacijama traje znatno duže nego čitanje podataka
koji su već povezani i upisani u jednu veliku relaciju. |
|
|
|
|
|
|
|