You are on page 1of 21

Relacijski model

Relacijski model je teorijski zasnovao E.F. Codd krajem 60-


tih godina. Prve realizacije na računalu bile su suviše spore
i neefikasne. Razvojem računala efikasnost relacijskih
baza se poboljšava, te u današnje većina DBMSova koristi
relacijski model.
⊲ U relacijskom modelu baza podataka se sastoji od skupa
pravokutnih tablica ili relacija.
⊲ Svaka relacija ima ime po kojem se razlikuje od ostalih
relacija u BP.
Atributi

⊲ Svaki stupac relacije sadrži vrijednost jednog atributa en-


titeta ili veze koji/koja se prikazuju relacijom (tablicom).
⊲ Atribut ima svoje ime kojim se razlikuje od ostalih atributa.
⊲ Vrijednost jednog atributa su podaci iste vrste ili tipa.
⊲ Skup vrijednosti jednog atributa zovemo domenom
atributa.
⊲ Vrijednost atributa treba biti jednostruka i jednostavna - ne
smije se moći rastaviti na dijelove.
⊲ Tolerira se ponekad da vrijednost atributa nije definirana ili
upisana (neostaje).
⊲ Broj atributa je stupanj relacije.
n-torke
⊲ Jedan redak relacije predstavlja primjerak entiteta ili bilježi
vezu izmed̄u dva ili više primjeraka entiteta.
⊲ Primjerak zovemo n-torka
⊲ U jednoj relaciji ne mogu biti dvije jednake n-torke.
⊲ Broj n-torki je kardinalnost relacije.
⊲ Relacija ne propisuje redoslijed svojih n-torki ili atributa. Per-
mutacijom stupaca ili redaka dobiva se drugi zapis, ali ista
relacija.
relacija AUTO
REG. PROIZVOÐAČ MODEL GODINA
ZG 456-AA Ford Fiesta 1987
VŽ 505-D VW Golf 1986
KR 204-T Nissan Sunny 1987
ST 609-GF Ford Escort 1986
... ... ... ...
Uvedena terminologija potječe iz matematike.
Neka je R relacija stupnja n, a neka su domene njenih atributa
redom D1, D2, D3 . . . Dn . Tada je R podskup Kartezijevskog
produkta domena:

D1 ⊗ D2 ⊗ D3 ⊗ . . . ⊗ Dn.

Relacija u bazi podataka odgovara n-narnoj relaciji u matem-


atici.
Terminologija u matematici, programskim jezicima i DBMS:
DBMS relacijski račun programski jezici
tabela relacija datoteka
redak n-torka zapis
stupac atribut polje
Ključ
Ključ K relacije R je podskup atributa od R, koji ima slijedeća
svojstva:
1. Vrijednosti atributa iz K jednoznačno odred̄uju n-torku u R.
2. Ako izbacimo iz K bilo koji atribut, tada se narušava 1. svo-
jstvo
Budući da su sve n-torke u R med̄usobno različite, K uvijek
postoji, jer skup svih atributa zadovoljava svojstvo 1. Izbaci-
vanjem suvišnih atributa dolazi se do podskupa koji zadovol-
java svojstvo 2.
⊲ Moguće je da postoji više skupova atributa koji zadovoljavaju
navedena svojstva, pa se tada jedan od njih proglašava pri-
marnim ključem.
⊲ A skup atributa koji čine primarni ključ zovu se primarni
atributi.
⊲ Vrijednost primarnog atributa ne bi ni u jednoj n-torki smjela
biti neupisana (nedefinirana)!!
Shema relacije
Grad̄u relacije kratko opisujemo tzv. shemom relacije, koja se
sastoji od imena relacije i popisa imena atributa u zagradama.
Primarni atributi označavaju se podvučenom crtom.
Primjer:
AUTO ( registracija, proizvod̄ač, model, godina )
ili za relaciju OSOBA:
OSOBA ( JMBG, ime, ime oca, adresa, . . . )
Pretvaranje ER sheme u relacijsku
Entitet
⊲ Svaki tip entiteta prikazuje se jednom relacijom.
⊲ Atributi entiteta postaju atributi relacije.
⊲ Pojedini primjerci entiteta prikazuju se n-torkama relacije.
⊲ Primarni ključ entiteta postaje primarni ključ relacije.
⊲ Postojanje veza s drugim entitetima može zahtijevati dodavanje
još nekih atributa.

Npr. entitet STUDENT postaje relacija:


STUDENT ( indeks#, ime, adresa, spol, . . . )
Binarne veze

Pravilo 1. Ako tip entiteta E2 ima obavezno članstvo u N:1–vezi


s entitetom E1, tada relacija za E2 treba uključiti primarne
atribute (primarni ključ) od E1.

Ključ jedne relacije koji je prepisan u drugu relaciju zove se strani


ključ.
Primjer. relacija KOLEGIJ, obavezno svaki primjerak je vezan za
neki ZAVOD.
KOLEGIJ ( kid#, ime zavoda, naslov, semestar, . . . )
gdje je
ZAVOD ( ime zavoda, adresa, . . . )
Pravilo 2. Ako tip entiteta E2 ima neobavezno članstvo u N:1–
vezi s entitetom E1, tada vezu možemo prikazati
i) na prethodni način uvod̄enjem ključa, ili
ii) uvod̄enjem nove relacije čiji su atributi primarni atributi (pri-
marni ključevi) od entiteta E1 i E2.

Primjer:
1 N
ČLAN KNJIŽNICE posudba KNJIGA

ER-dijagram za knjižnicu
1. varijanta:
ČLAN KNJIŽNICE ( iskaznica#, ime, adresa, . . . )
KNJIGA ( knjiga#, naslov, pisac, . . . , iskaznica# )
2. varijanta:
ČLAN KNJIŽNICE ( iskaznica#, ime, adresa, . . . )
KNJIGA ( knjiga#, naslov, pisac, . . . )
POSUDBA ( knjiga#, iskaznica# )
Primarni ključ relacije POSUDBA je knjiga# jer on jednoznačno
odred̄uje svaku posudbu. Iskaznica člana knjižnice ne zadovol-
java to pravilo jednoznačnosti !
Druga varijanta (posebna relacija) se preporuča ako veza ima
svoje atribute. U slučaju veze POSUDBA, dodatni atribut može
biti datum posudbe knjige.
Pravilo 3. Ako je tipa N:M uvijek se prikazuju posebnom
relacijom koja uključuje primarne atribute oba entiteta te još
možda dodatne koje sama veza ima.

STUDENT ( indeks#, ime, adresa, spol, . . . )


KOLEGIJ ( kid#, naslov, ime zavoda, semestar . . . )
UPISAO ( indeks#, kid#, datum upisa, . . . )

Vezu UPISAO prikazana je preko posebne relacije, a njen ključ


se složen od atributa obje relacija koje povezuje.
Pravilo 4. Involuiranu vezu tipa 1:1 prikazujemo posebnom
relacijom.
Primjer: veza brak izmed̄u osoba
OSOBA ( JMBG, ime, adresa, . . . )
BRAK ( JMBG muža, JMBG žene, datum vjenčanja, . . . )

Pravilo 5. Involuiranu vezu tipa N:M prikazujemo posebnom


relacijom.
Primjer: složeni proizvod sadrži jednostavnije proizvode
(djelove)
DIO PROIZVODA ( dio#, ime dijela, . . . )
SADRŽI ( slož dio#, jed dio#, količina, . . . )
Pravilo 6. Involuiranu vezu tipa 1:N možemo prikazati dodat-
nim atributom.
Primjer: relacija SURADNIK i veza je šef
SURADNIK ( ID zaposlenog#, ime, vrst posla, ID šefa#, . . . )

Pravilo 7. Podtip se prikazuje posebnom relacijom koja sadrži


primarne atribute nadred̄enog tipa, te atribute specifične za
taj podtip.
Primjer: entiteti OSOBA, STUDENT, NASTAVNIK i PROFESOR
OSOBA ( JMBG, ime, adresa, . . . )
STUDENT ( indeks#, godina, JMBG, . . . )
NASTAVNIK ( JMBG, zavod, e mail, . . . )
PROFESOR ( JMBG, . . . atributi specifični za profesora . . . )
Pravilo 8. Ternarna veza se prikazuje posebnom relacijom
koja sadrži primarne atribute svih triju entiteta, te moguće
dodatne atribute specifične za vezu.
Primjer: veza IZVOZI

KOMPANIJA ( šifra kompanije, ime, sjedište, . . . )


PROIZVOD ( šifra prodizvoda, ime, . . . )
ZEMLJA ( ime zemlje, . . . )
IZVOZI ( šifra kompanije, šifra prodizvoda, ime zemlje )

Sva tri atributa čine ključ u relaciji IZVOZI. Kod ternarnih veza
koje nisu N:M:P broj primarnih atributa može biti manji.
Usporedba raznih modela

Mrežni i hijerarhijski modeli su dosta slični. Hijerarhijski model


se može smatrati specijalnom vrstom mrežnog. U ovim mode-
lima pojedini zapisi sadrže sve: atribute i veze (preko pointera
na druge zapise). Pristup zapisima je brz i efikasan, ali teško
je doći do veza koje nisu eksplicitno naznačene u predvid̄enoj
shemi.

Relacijski modeli se sasvim razlikuju od ova dva. U relacijskom


modelu veze se implicitno pojavljuju kroz zajedničke atribute
relacija, te je lako uspostaviti i one veze med̄u entitetima koje
nisu bile eksplicirane u trenutku tvorbe baze podataka. Mana
se na uspostavljanje veza troši računalno vrijeme.
Primjer mrežnog modela

I. Ivić, F-9876 Kvantna fizika prof. Predavčić

P. Perić, F-9875 Elektrodinamika prof. Ispitić

M. Matić, F-9853 Baze podataka doc. Teškić

M. Mirić, F-9823 Engleski jezik prof. Padić

Pojedini zapisi sadrže pokazivače na druge zapise s kojima su povezani.


Primjer relacijskog modela
Studenti
F-9876 I. Ivić
Studeni i upisani predmenti
F-9875 P. Perić
F-9876 K-1234
F-9853 M. Matić
F-9876 K-3456
F-9823 M. Mirić
F-9875 K-1234
F-9875 K-2345
Predmeti F-9875 K-3456
K-1234 Kvantna fizika
F-9823 K-2345
K-2345 Elektrodinamika
F-9823 K-3456
K-3456 Baze podataka
K-4567 Engleski jezik
Nastavnici predmenta
K-1234 prof. Predavčić
Nastavnici
prof. Predavčić K-2345 prof. Predavčić
doc. Ispitić K-3456 doc. Teškić
doc. Teškić K-4567 prof. Padić
prof. Padić

Tablica 1: U relacijskom modelu struktura podataka je jednostavna, bez pokazivača koji


opisuju veze s nekim drugim podacima. Veze med̄u podacima su opisane u posebnim tabli-
cama i koje takod̄er imaju jednostavnu strukturu.
⊲ Mrežni model zahtijeva da se unaprijed predvide moguće veze
med̄u podacima, te da se rezervira potreban prostor za njihovo
spremanje.
⊲ U relacijskom modelu nije potrebno predvidjeti veze, niti je
potrebno rezervirati prostor za njihov spremanje.
Ako znamo da postoji veza med̄u nekim podacima, otvaramo
novu tablicu koja će opisivati veze. Ako znamo da postoji veza
koja povezuje dva primjerka podataka, onda se to upisuje u
tablicu. Ako ta konkretna veza više ne postoji, podaci se brišu
iz tablice.
⊲ U relacijskom modelu veze med̄u podacima se mogu us-
postaviti indirektno i naknadno. One mogu postojati i kada mi
nismo svjesni da one postoje.
Vremenski uvjeti
Saobraćajne nesreće 02.01.2005 kiša
02.01.2005 11:32 ZG-001-AT M.M. 03.01.2005 sunčano
02.01.2005 11:32 ZG-991-BV P.P. ... ...
08.01.2005. 08:11 RI-44-IJ C.C 07.01.2005 sunčano
08.01.2005. 08:11 PU-33-ZA B.B 08.01.2005. snjeg
09.01.2005. 17:19 KR-10-AB B.B 09.01.2005. snjeg
10.01.2005. 23:43 ST-563-CC S.S. 10.01.2005. ledena kiša
... ... ... ... 11.01.2005. vedro
... ...

Tablica 2: Uspored̄ujući tablicu Vremenskih uvjeta i tablicu Saobraćajnih nesreća uočavamo


da se većina nesreća dogad̄a pod nepovoljnim vremenskim uvjetima. Iako se radi o dvije
sasvim različite tablice, njihovim povezivanjem preko datuma upotpunjuju se podaci o sao-
braćajnim nesrećama.
Skica pravila pretvaranja ER sheme u relacijsku shemu
Entitet

Relacija

veze meðu entitetima

Binarna veza Unarna veza Ternarna veza Podtip

1:N 1:N 1:1


M:N M:N 1:N M:N:P 1:1
obavezna neobavezna neobavezna

Dodatni Posebna Posebna Dodatni Posebna Dodatni


atribut relacija relacija atribut relacija atribut

You might also like