130

Relacijski model

  • Upload
    vanliem

  • View
    220

  • Download
    1

Embed Size (px)

Citation preview

Page 1: Relacijski model

Relacijski model

Relacijski model je teorijski zasnovao E.F. Codd krajem 60-tih godina. Prve realizacije na racunalu bile su suviše sporei neefikasne. Razvojem racunala efikasnost relacijskihbaza se poboljšava, te u današnje vecina DBMSova koristirelacijski model.

⊲ U relacijskom modelu baza podataka se sastoji od skupapravokutnih tablica ili relacija .

⊲ Svaka relacija ima ime po kojem se razlikuje od ostalihrelacija u BP.

Page 2: Relacijski model

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 domenomatributa.

⊲ Vrijednost atributa treba biti jednostruka i jednostavna - nesmije se moci rastaviti na dijelove.

⊲ Tolerira se ponekad da vrijednost atributa nije definirana iliupisana (neostaje).

⊲ Broj atributa je stupanj relacije.

Page 3: Relacijski model

n-torke

⊲ Jedan redak relacije predstavlja primjerak entiteta ili bilježivezu izmedu 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 istarelacija.

relacija AUTOREG. PROIZVOÐAC MODEL GODINAZG 456-AA Ford Fiesta 1987VŽ 505-D VW Golf 1986KR 204-T Nissan Sunny 1987ST 609-GF Ford Escort 1986. . . . . . . . . . . .

Page 4: Relacijski model

Uvedena terminologija potjece iz matematike.

Neka je R relacija stupnja n, a neka su domene njenih atributaredom D1, D2, D3 . . . Dn. Tada je R podskup Kartezijevskogprodukta 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 racun programski jezicitabela relacija datotekaredak n-torka zapisstupac atribut polje

Page 5: Relacijski model

Klju c

Klju c K relacije R je podskup atributa od R, koji ima slijedecasvojstva:

1. Vrijednosti atributa iz K jednoznacno odreduju n-torku u R.

2. Ako izbacimo iz K bilo koji atribut, tada se narušava 1. svo-jstvo

Buduci da su sve n-torke u R medusobno razlicite, K uvijekpostoji, jer skup svih atributa zadovoljava svojstvo 1. Izbaci-vanjem suvišnih atributa dolazi se do podskupa koji zadovol-java svojstvo 2.

Page 6: Relacijski model

⊲ Moguce je da postoji više skupova atributa koji zadovoljavajunavedena svojstva, pa se tada jedan od njih proglašava pri-marnim klju cem .

⊲ A skup atributa koji cine primarni kljuc zovu se primarniatributi .

⊲ Vrijednost primarnog atributa ne bi ni u jednoj n-torki smjelabiti neupisana (nedefinirana)!!

Page 7: Relacijski model

Shema relacije

Gradu relacije kratko opisujemo tzv. shemom relacije , koja sesastoji od imena relacije i popisa imena atributa u zagradama.

Primarni atributi oznacavaju se podvucenom crtom.

Primjer:

AUTO ( registracija, proizvodac, model, godina )

ili za relaciju OSOBA:

OSOBA ( JMBG, ime, ime oca, adresa, . . . )

Page 8: Relacijski model

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 kljuc entiteta postaje primarni kljuc relacije.

⊲ Postojanje veza s drugim entitetima može zahtijevati dodavanjejoš nekih atributa.

Npr. entitet STUDENT postaje relacija:

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

Page 9: Relacijski model

Binarne veze

Pravilo 1. Ako tip entiteta E2 ima obavezno clanstvo u N:1–vezis entitetom E1, tada relacija za E2 treba ukljuciti primarneatribute (primarni kljuc) od E1.

Kljuc jedne relacije koji je prepisan u drugu relaciju zove se straniklju c.

Primjer. relacija KOLEGIJ, obavezno svaki primjerak je vezan zaneki ZAVOD.

KOLEGIJ ( kid#, ime zavoda, naslov, semestar, . . . )

gdje je

ZAVOD ( ime zavoda, adresa, . . . )

Page 10: Relacijski model

Pravilo 2. Ako tip entiteta E2 ima neobavezno clanstvo u N:1–vezi s entitetom E1, tada vezu možemo prikazati

i) na prethodni nacin uvodenjem kljuca, iliii) uvodenjem nove relacije ciji su atributi primarni atributi (pri-

marni kljucevi) od entiteta E1 i E2.

Primjer:

CLAN KNJIŽNICE1 posudba N

KNJIGA

ER-dijagram za knjižnicu

Page 11: Relacijski model

1. varijanta:

CLAN KNJIŽNICE ( iskaznica#, ime, adresa, . . . )KNJIGA ( knjiga#, naslov, pisac, . . . , iskaznica# )

2. varijanta:

CLAN KNJIŽNICE ( iskaznica#, ime, adresa, . . . )KNJIGA ( knjiga#, naslov, pisac, . . . )POSUDBA ( knjiga#, iskaznica# )

Primarni kljuc relacije POSUDBA je knjiga# jer on jednoznacnoodreduje svaku posudbu. Iskaznica clana knjižnice ne zadovol-java to pravilo jednoznacnosti !

Druga varijanta (posebna relacija) se preporuca ako veza imasvoje atribute. U slucaju veze POSUDBA, dodatni atribut možebiti datum posudbe knjige.

Page 12: Relacijski model

Pravilo 3. Ako je tipa N:M uvijek se prikazuju posebnomrelacijom koja ukljucuje 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 kljucse složen od atributa obje relacija koje povezuje.

Page 13: Relacijski model

Pravilo 4. Involuiranu vezu tipa 1:1 prikazujemo posebnomrelacijom.

Primjer: veza brak izmedu osobaOSOBA ( JMBG, ime, adresa, . . . )BRAK ( JMBG muža, JMBG žene, datum vjencanja, . . . )

Pravilo 5. Involuiranu vezu tipa N:M prikazujemo posebnomrelacijom.

Primjer: složeni proizvod sadrži jednostavnije proizvode(djelove)

DIO PROIZVODA ( dio#, ime dijela, . . . )SADRŽI ( slož dio#, jed dio#, kolicina, . . . )

Page 14: Relacijski model

Pravilo 6. Involuiranu vezu tipa 1:N možemo prikazati dodat-nim atributom.

Primjer: relacija SURADNIK i veza je šefSURADNIK ( ID zaposlenog#, ime, vrst posla, ID šefa#, . . . )

Pravilo 7. Podtip se prikazuje posebnom relacijom koja sadržiprimarne atribute nadredenog tipa, te atribute specificne zataj podtip.

Primjer: entiteti OSOBA, STUDENT, NASTAVNIK i PROFESOR

OSOBA ( JMBG, ime, adresa, . . . )STUDENT ( indeks#, godina, JMBG, . . . )NASTAVNIK ( JMBG, zavod, e mail, . . . )PROFESOR ( JMBG, . . . atributi specificni za profesora . . . )

Page 15: Relacijski model

Pravilo 8. Ternarna veza se prikazuje posebnom relacijomkoja sadrži primarne atribute svih triju entiteta, te mogucedodatne atribute specificne 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 cine kljuc u relaciji IZVOZI. Kod ternarnih vezakoje nisu N:M:P broj primarnih atributa može biti manji.

Page 16: Relacijski model

Usporedba raznih modela

Mrežni i hijerarhijski modeli su dosta slicni. Hijerarhijski modelse može smatrati specijalnom vrstom mrežnog. U ovim mode-lima pojedini zapisi sadrže sve: atribute i veze (preko pointerana druge zapise). Pristup zapisima je brz i efikasan, ali teškoje doci do veza koje nisu eksplicitno naznacene u predvidenojshemi.

Relacijski modeli se sasvim razlikuju od ova dva. U relacijskommodelu veze se implicitno pojavljuju kroz zajednicke atributerelacija, te je lako uspostaviti i one veze medu entitetima kojenisu bile eksplicirane u trenutku tvorbe baze podataka. Manase na uspostavljanje veza troši racunalno vrijeme.

Page 17: Relacijski model

Primjer mrežnog modela

I. Ivic, F-9876

P. Peric, F-9875

M. Matic, F-9853

M. Miric, F-9823

Kvantna fizika

Elektrodinamika

Baze podataka

Engleski jezik

prof. Predavcic

prof. Ispitic

doc. Teškic

prof. Padic

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

Page 18: Relacijski model

Primjer relacijskog modela

StudentiF-9876 I. IvicF-9875 P. PericF-9853 M. MaticF-9823 M. Miric

PredmetiK-1234 Kvantna fizikaK-2345 ElektrodinamikaK-3456 Baze podatakaK-4567 Engleski jezik

Nastavniciprof. Predavcicdoc. Ispiticdoc. Teškicprof. Padic

Studeni i upisani predmentiF-9876 K-1234F-9876 K-3456F-9875 K-1234F-9875 K-2345F-9875 K-3456F-9823 K-2345F-9823 K-3456

Nastavnici predmentaK-1234 prof. PredavcicK-2345 prof. PredavcicK-3456 doc. TeškicK-4567 prof. Padic

Tablica 1: U relacijskom modelu struktura podataka je jednostavna, bez pokaziva ca kojiopisuju veze s nekim drugim podacima. Veze medu podacima su opisane u posebnim tabli-cama i koje takoder imaju jednostavnu strukturu.

Page 19: Relacijski model

⊲ Mrežni model zahtijeva da se unaprijed predvide moguce vezemedu podacima, te da se rezervira potreban prostor za njihovospremanje.

⊲ U relacijskom modelu nije potrebno predvidjeti veze, niti jepotrebno rezervirati prostor za njihov spremanje.

Ako znamo da postoji veza medu nekim podacima, otvaramonovu tablicu koja ce opisivati veze. Ako znamo da postoji vezakoja povezuje dva primjerka podataka, onda se to upisuje utablicu. Ako ta konkretna veza više ne postoji, podaci se brišuiz tablice.

⊲ U relacijskom modelu veze medu podacima se mogu us-postaviti indirektno i naknadno. One mogu postojati i kada minismo svjesni da one postoje.

Page 20: Relacijski model

Saobracajne nesrece02.01.2005 11:32 ZG-001-AT M.M.02.01.2005 11:32 ZG-991-BV P.P.08.01.2005. 08:11 RI-44-IJ C.C08.01.2005. 08:11 PU-33-ZA B.B09.01.2005. 17:19 KR-10-AB B.B10.01.2005. 23:43 ST-563-CC S.S.. . . . . . . . . . . .

Vremenski uvjeti02.01.2005 kiša03.01.2005 suncano

. . . . . .07.01.2005 suncano08.01.2005. snjeg09.01.2005. snjeg10.01.2005. ledena kiša11.01.2005. vedro

. . . . . .

Tablica 2: Usporedujuci tablicu Vremenskih uvjeta i tablicu Saobra cajnih nesre ca uocavamoda se vecina nesreca dogada pod nepovoljnim vremenskim uvjetima. Iako se radi o dvijesasvim razlicite tablice, njihovim povezivanjem preko datuma upotpunjuju se podaci o sao-bracajnim nesrecama.

Page 21: Relacijski model

Skica pravila pretvaranja ER sheme u relacijsku shemu

Entitet

Relacija

veze meðu entitetima

Binarna veza Unarna veza Ternarna veza Podtip

1:N obavezna

1:N neobavezna

M:N1:1

neobavezna1:NM:N M:N:P 1:1

Dodatniatribut

Posebnarelacija

Posebnarelacija

Dodatniatribut

Posebnarelacija

Dodatniatribut