You are on page 1of 30

Relacioni model podataka

(osnovni pojmovi)
Relacioni model – zaš to?

Motiv za definisanje relacionog modela podataka bili


su nedostaci koji su uočeni pri koriš ćenju do tada
koriš ćenih modela podataka, poput hijerarhijskih i
mrežnih modela:
n nepostojanje jasne granice između logičkih i fizičkih
aspekata baza podataka
n strukturalna kompleksnost
n navigacioni jezik za manipulaciju podacima

Osnovu novog modela predstavljaju relacije i


njihova reprezentacija putem dvodimenzionalnih
tabela.
Nezavisnost podataka u RM
U dotadaš njim SUBP opis podataka je bio preplavljen
informacijama o karakteristikama fizičke strukture podataka. U
svaki aplikativni program bila je ugrađena informacija o fizičkoj
strukturi. Ako bi se ta struktura promenila...?
Nezavisnost se postiže potpunim razdvajanjem oblika u
kojem se podaci prezentiraju programu ili korisniku (logički
aspekt) od oblika u kojem se ti podaci memoriš u u bazi
podataka (fizički aspekt).
Delegiranjem zadataka prevođenja jednog oblika u drugi
sistemu za upravljanje bazama podataka eliminiš e se potreba
ugradnje bilo kakve informacije o fizičkoj strukturi podataka u
programe – veliki napredak.
Relacije

U RM je za najveću organizacionu jedinicu podataka


odabrana n-arna relacija.
Relacija je skup n-torki (kraće: torki) pri čemu
svaka komponenta torke predstavlja vrednost
iz jednog skupa tzv. “ domena obeležja”.
Šema (shema) relacije jeste imenovana dvojka
N(R,K) gde je N naziv relacije, R skup obeležja, a K
skup uslova integriteta relacije (oni ukazuju na
neophodne osobine torki relacije; primer – ključ š eme
relacije).
Relacije
Primer: š ema relacije Student

Student ({brInd, ime, prezime, bpi},{brInd})

Alternativna notacija:

Student (brInd, ime, prezime, bpi)

Ovoj š emi odgovara relacija:

r(Student) = {(15, Jova, Ć uk, 4), (16, Ana, Ras, 8), (78, Maja, Pavić,
15)}

(zbog uslova integriteta (ovde je to ograničenje primarnog ključa, koje


je i najčeš će), torka (16, Jovica, Pap, 7) ne bi mogla biti upisana u
relaciju)
Šema relacione baze podataka

Šema relacione baze podataka predstavlja


dvojku N(S,I), gde je S skup š ema
relacija, a I skup uslova integriteta baze
podataka (obično međurelaciona ograničenja
i ograničenja koja su posledica pravila
poslovanja).
Relacionu bazu podataka čini skup
relacija.
Strukturalna jednostavnost

Zbog jednostavnosti – reprezent relacije je


obična dvodimenzionalna tabela:
n tabela nosi naziv relacije
n u zaglavlju tabele nalazi se skup obeležja š eme
relacije
n nazivi kolona – obeležja
n kolone - elementi domena odgovarajućih obeležja
n vrste tabele su n-torke.
Redosled uvođenja kolona i vrsta u
tabelu je proizvoljan i nevažan.
Strukturalna jednostavnost
Strukturalna jednostavnost
Strukturalna jednostavnost
Strukturalna jednostavnost
Strukturalna jednostavnost
Strukturalna jednostavnost
Odnosi između podataka

Informacija o odnosima između podataka


predstavlja se unutar postojeće tabele ili
putem nove tabele
n Prvo reš enje: u slučaju odnosa 1:1 ili 1:N (pojam
stranog ključa)
n Drugo reš enje: odnos M:N (i u ovom slučaju
takođe imamo koriš ćenje stranog ključa za
implementaciju)
Međurelaciona ograničenja

Predstavljaju deo integritetne komponente


relacionog modela podataka.
Reguliš u globalnu usaglaš enost BP, kao
pojave, sa ograničenjima definisanim u š emi
baze podataka.

Primer: grad (ptt, naziv)


student (bri, ime, prz, pttRodj)
student [pttRodj] ⊆ grad [ptt]
Normalizacija
Normalizacija

Normalizacija predstavlja svođenje relacionog modela


podataka, određenim metodama, na neku od
normalnih formi. Ove forme daju formalne
kriterijume prema kojima se utvrđuje da li model:
n sadrži redudansu,

n da li se može jednostavno koristiti i menjati.

Redudansa – nepotrebno ponavljanje podataka


(velik prostor na disku, mnogo I/O operacija, zauzeti
mrežni resursi, mogućnost greš ke prilikom
viš estrukog upisivanja).
Šta nije u redu sa ovom relacijom?
Ponavljanje podataka
(redudansa)
Ponavljanje podataka Mogućnost praćenja
(redudansa) samo tri ispita
Ponavljanje podataka Mogućnost praćenja
(redudansa) samo tri ispita

Anomalija upisa – nastaje kad su


informacije o svojstvima jednog
objekta memorisane kao deo opisa
drugog. Dok Mila ne položi neki ispit,
nećemo znati ko joj je nadređen.
Ponavljanje podataka Mogućnost praćenja
(redudansa) samo tri ispita

Anomalija upisa – nastaje kad su


Anomalija izmene – nastaje jer u slučaju
informacije o svojstvima jednog
izmene podataka menjamo podatke na
objekta memorisane kao deo opisa
viš e mesta u tabeli. Ako neko zaboravimo,
drugog. Dok Mila ne položi neki ispit,
dobijamo nekonzistentnu bazu!
nećemo znati ko joj je nadređen.
Ponavljanje podataka Mogućnost praćenja
(redudansa) samo tri ispita

Anomalija upisa – nastaje kad su


Anomalija izmene – nastaje jer u slučaju
informacije o svojstvima jednog
Različiti ispiti izmene podataka menjamo podatke na
objekta memorisane kao deo opisa
ili greš ka u kucanju? viš e mesta u tabeli. Ako neko zaboravimo,
drugog. Dok Mila ne položi neki ispit,
dobijamo nekonzistentnu bazu!
nećemo znati ko joj je nadređen.
Anomalija brisanja – ukoliko obriš emo
Ponavljanje podataka podatke o pojedinim zaposlenima, gubimo Mogućnost praćenja
(redudansa) i podatke o nadređenima (problem obrnut samo tri ispita
u odnosu na anomaliju upisa)

Anomalija upisa – nastaje kad su


Anomalija izmene – nastaje jer u slučaju
informacije o svojstvima jednog
Različiti ispiti izmene podataka menjamo podatke na
objekta memorisane kao deo opisa
ili greš ka u kucanju? viš e mesta u tabeli. Ako neko zaboravimo,
drugog. Dok Mila ne položi neki ispit,
dobijamo nekonzistentnu bazu!
nećemo znati ko joj je nadređen.
Normalizacija

Normalizacijom transformiš emo


nenormalizovanu relaciju u skup
manjih, normalizovanih relacija. Izvodi
se na osnovu funkcionalnih zavisnosti.
Bitna osobina normalizacije jeste
reverzibilnost – potrebno je omogućiti
rekonstrukciju polazne, nenormalizovane
relacije (praktično, to ćemo raditi spojevima
tabela putem SQL jezika).
Normalizacija
Definisano je 5+1 (Boyce-Codd) normalnih formi, za
praktičnu upotrebu idemo do treće.
Polazeći od nenormalizovane š eme relacije, vrš ićemo
vertikalnu normalizaciju dekompozicijom sve
dok ne dođemo u situaciju da:
n su sva obeležja ATOMARNA (1NF),
n sva obeležja zavise od CELOG ključa (2NF),
n ne postoje TRANZITIVNE zavisnosti (3NF).
U praksi se često vrš i i obrnuti postupak –
denormalizacija - zbog performansi (primer:
SQL Server-ove izračunate kolone).
Prilikom prevođenja ERD u relacioni model
garantovano dolazimo do treće normalne forme!
zaposleni zaposleni
idZaposlenog idZaposlenog
imeZaposlenog Razdvajanje atributa imeZaposlenog
postBrojMesto postBroj
idNadredjenog nazivMesta
imeNadredjenog idNadredjenog
idIspita1 imeNadredjenog
nazivIspita1
datumSticanja1
idIspita2
zaposleniIspiti
nazivIspita2
idZaposlenog
datumSticanja2
idIspita
idIspita3
nazivIspita
nazivIspita3
datumSticanja
datumSticanja3

PK
Neatomarna vrednost
Ponavljajuć e grupe
Prva normalna forma
Druga normalna forma
Treća normalna forma
Finalna verzija – normalizovana š ema

You might also like