51
Relacioni model podataka

Relacioni Model Podataka

Embed Size (px)

DESCRIPTION

relacioni model podataka

Citation preview

  • Relacioni model podataka

  • Ciljevi

    Uvoenje jasne granice izmeu logikih i fizikih aspekata baze podataka nezavisnost podataka

    n-arna relacija

    ema relacije

    ema baze podataka

    Strukturalna jednostavnost

    dvodimenzinalna tabela

    Deklarativni jezik za defnisanje i korienje baze podataka

    SQL

  • Strukturalna komponenta RMP

    Skup obeleja realnog sistema ili njegovog dela koji je predmet posmatranja univerzalni skup obeleja

    U = {Ai | i = 1, ..., m}

    Dom: U D, ( Ai U)(Dom(Ai) D) svakom obeleju iz univerzalnog skupa obeleja pridruuje se domen

  • Strukturalna komponenta RMP R vrednost (torka)

    R U, R = {Ai | i = 1, ..., k} t[R], t - funkcija koja preslikava svako obeleje iz R u

    odgovarajuu vrednost t: R Dom, Dom = ()=1 t(Ai) dom(Ai, i = 1, ..., k) t(Ai) = ai, ai dom(Ai)

    {(Ai, ai), Ai R}

    Restrikcija R-vrednosti X R, t[R] X-vrednost t[X], u kojoj je svakom obeleju A iz X

    pridruena ista vrednost kao i u R-vrednosti t[R] t[X] = {(Ai, ai) | Ai X} Realan entitet ili poveznik

  • Strukturalna komponenta RMP

    Relacija, r(R) konaan skup torki

    predstavlja se dvodimenzionalnom tabelom

    Skup realnih entiteta ili poveznika

    SAT(R) skup svih relacija nad skupom obeleja R

    Projekcija relacije na skup obeleja X R, r relacija nad R

    projekcija (restrikcija) relacije r na skup obeleja X je relacija r[X], definisana kao r[X] = {t[X] | t r(R)}

    X(r(R)))

  • Strukturalna komponenta RMP

    ema relacije

    imenovana dvojka N(R, C)

    N naziv eme relacije

    R skup obeleja eme relacije, R U

    C skup ogranienja

    Pojava nad emom relacije

    relacija r(R) koja zadovoljava sva ogranienja iz skupa C eme relacije N(R, C) je pojava nad tom emom relacije

  • Strukturalna komponenta RMP

    Klju eme relacije

    obeleje ili skup obeleja koji jedinstveno odreuju svaku torku u relaciji nad zadatom emom relacije

    skup obeleja K, K R, je klju eme relacije N(R, C), ako za svaku pojavu nad emom relacije r vae sledea dva uslova:

    ( u, v r) u[K]=v[K] u=v (JEDINSTVENOST)

    ( X, X K) ne vai prvi uslov (MINIMALNOST)

  • Strukturalna komponenta RMP

    ema baze podataka

    imenovana dvojka N(S, I)

    N naziv eme baze podataka

    S skup ema relacija

    I skup meurelacionih ogranienja meurelaciona ogranienja prikazuju odnose izmeu relacija

    referencijalni integritet

  • Strukturalna komponenta RMP

    Pojava nad emom baze podataka

    pojava nad skupom ema relacija S = {(Ri, Ci) | i = 1, ..., n} je funkcija koja preslikava svaku emu relacije (Ri, Si) S u pojavu nad emom relacije (Ri, Si)

  • Integritetna komponenta RMP

    Klju

    Funkcionalna zavisnost

    Zavisnost sadravanja

    Referencijalni integritet

  • Integritetna komponenta RMP

    Zavisnost sadravanja

    domen kompatibilni skupovi (dom(X) dom(Y))

    r je relacija nad U, A1, ..., An i B1, ..., Bn dva niza razliitih obeleja iz U; relacija r zadovoljava zavisnost sadravanja [A1, ..., An] [B1, ..., Bn], ako vai da za svaku torku t iz relacije r postoji torka u iz relacije r, tako da su t[Ai]=u[Bi], za svako i{1, ..., n}

    neka su r1 i r2 relacije nad razliitim emama relacija N1(R1, C1) i N2(R2, C2), A1, ..., An R1 i B1, ..., Bn R2; zavisnost sadravanja N1[A1, ..., An] N2[B1, ..., Bn] je zadovoljena, ako vai da za svaku torku t1 iz relacije r1, postoji torka t2 iz relacije r2, tako da su t1[Ak]=t2[Bk], za svako k{1, ..., n}

  • Integritetna komponenta RMP

    Referencijalni integritet

    osnovno i najee korieno meurelaciono ogranienje

    meurelaciona zavisnost sadravanja N1[A1, ..., An] N2[B1, ..., Bn] kod koje je {B1, ..., Bn} primarni klju relacije sa nazivom N2

    ako vai i zavisnost sadravanja N2[B1, ..., Bn] N1[A1, ..., An], tada se ona naziva inverzni referencijalni integritet

  • Integritetna komponenta RMP

    Funkcionalna zavisnost

    f: X Y

    X leva strana funkcionalne zavisnosti, lhs(f)

    Y desna strana funkcionalne zavisnosti, rhs(f)

    X, Y su skupovi obeleja

    r relacija nad skupom obeleja R, X, Y R; skup torki relacije r zadovoljava funkcionalnu zavisnost X Y ako za svake dve torke u i v vai u[X]=v[X] u[Y]=v[Y]

  • Funkcionalne zavisnosti

    F skup funkcionalnih zavisnosti

    F logiki implicira X Y (F X Y) ako svaka relacija nad U, koja zadovoljava sve funkcionalne zavisnosti iz F, zadovoljava i X Y

    Skup logikih posledica skupa F

    Trivijalna funkcionalna zavisnost

    X Y je trivijalna akko r SAT(U) vai X Y

    Teorema: X Y je trivijalna akko Y X

  • Armstrongove aksiome

    Skup formalnih pravila putem kojih se mogu izvesti sve logike posledice nekog skupa funkcionalnih zavisnosti

    Neredundantan

    Neprotivrean

    Kompletan

  • Armstrongove aksiome

    F definisan nad U

    X, Y, Z, W U

    A1 (refleksivnost): Y X X Y (trivijalna f.z.)

    A2 (proirenje): X Y i Z W XW YZ

    A3 (pseudotranzitivnost): X Y i YW Z XW Z

    W = {} - tranzitivnost

  • Armstrongove aksiome

    A4 (unija):

    X Y1 i X Y2 X Y1 Y2

    A5 (dekompozicija):

    X Y i Z Y X Z

    Primenom pravila A1-A5 na skup F, dobija se skup F+ - ZATVARANJE SKUPA FUNKCIONALNIH ZAVISNOSTI

  • Funkcionalne zavisnosti

    Nakon svakog auriranja baze podataka potrebno je proveriti da li su zadovoljene sve funkcionalne zavisnosti iz skupa F

    F moe sadrati veliki broj logiki suvinih funkcionalnih zavisnosti

    Minimalan skup koji je podskup skupa F, a iz kog se mogu izvesti sve funkcionalne zavisnosti iz F zadatak! Redukovan skup funkcionalnih zavisnosti

    Neredundantno pokrivanje skupa funkcionalnih zavisnosti

  • Zatvaranje skupa obeleja

    Zatvaranje skupa obeleja X U s obzirom na skup f.z. F, definisan u U, je skup XF

    + definisan na sledei nain:

    XF+ = {A | A U i X A F+} skup svih obeleja

    koja funkcionalno zavise od X

    Algoritam...

  • Zatvaranje skupa obeleja - algoritam

    Ulaz: skup funkcionalnih zavisnosti F, X U

    Izlaz: XF+ zatvaranje skupa obeleja

    X+ X

    Q 0

    dok Q = X+ radi

    Q X+

    f F, ako je lhs(f) X+

    X+ X+ rhs(f)

    kraj ako

    kraj dok

    XF+ Q

  • Zatvaranje skupa obeleja

    Utvrivanje ekvivalentnosti dva skupa f.z.

    F G F G i G F

    ( f F)rhs(f) (lhs(f)) + G

    ( g G) rhs(g) (lhs(g)) + F

    Redukcija levih strana f.z.

    (X \ {A}) B F B (X \ {A})+F

    Traenje neredundantnog pokrivanja skupa f.z.

    f (F \ {f})+, f: X B B X+F\{f}

  • Redukcija

    Funkcionalna zavisnost X A F+ je REDUKOVANA ili IMA REDUKOVANU LEVU STRANU s obzirom na F, ako vai:

    ( Y X) (Y A F+)

    Skup funkcionalnih zavisnosti F je REDUKOVAN ili IMA REDUKOVANE LEVE STRANE, ako je svaka f.z. f: X A iz F redukovana

    Algoritam...

  • Redukcija levih strana - algoritam Ulaz:

    zadati skup funkcionalnih zavisnosti F svaka fz je desno redukovana (ima samo jedno obeleje sa desne

    strane)

    Izlaz: skup funkcionalnih zavisnosti G sa redukovanim levim stranama G je ekvivalentno sa F

    G 0 radi f : X B F radi A X ako je X\{A} B F+ tada X X\{A} kraj radi G G {X B} kraj radi

    U proveri X\{A} B F+ koriste se sve fz iz F+, pa i X B Rezultat redukcije zavisi od redosleda izbora elemenata sa leve

    strane izabrane funkcionalne zavisnosti

  • Neredundantno pokrivanje Za ekvivalentne skupove kaemo da pokrivaju

    jedan drugog

    POKRIVANJE (pokriva) skupa f.z. F je svaki skup f.z. G koji ima isto zatvaranje kao F F+ = G+

    Skup G je NEREDUNDANTNO POKRIVANJE skupa f.z. F, ako ne sadri pravi podskup koji takoe predstavlja pokrivanje skupa F

    Funkcionalna zavisnost f: X Y je REDUNDANTNA u F, ako se moe izvesti iz F \ {f} f (F \ {f})+

    Algoritam...

  • Neredundantno pokrivanje - algoritam

    Ulaz: F = {X A | X U i A U} (desne strane su jednolani skupovi)

    Izlaz: G neredundantno pokrivanje skupa F G F

    radi f G

    ako je f (G \ {f})+ tada

    G G \ {f}

    kraj ako

    kraj radi

    Prilikom provere da li je neka fz suvina, ona sama se ne posmatra

  • Kanoniko pokrivanje

    G, F skupovi funkcionalnih zavisnosti

    G je kanoniko pokrivanje skupa F ako:

    G+ = F+

    G je levo redukovan (sadri samo redukovane fz)

    G je neredundantan

    Desna strana svake fz u G sadri samo jedno obeleje

  • Projekcija skupa funkcionalnih zavisnosti

    Projekcija (restrikcija) skupa funkcionalnih zavisnosti F definisanih u U na skup obeleja WU, u oznaci F|W ili W(F), je:

    F|W = {XY | (XY F+) (XY W)}

  • Algoritam za izraunavanje kljua eme relacije

    Skup obeleja XR je klju eme relacije (R, F) ako vai: XR F+

    ( Y X)(Y R F+)

    Ulaz: (R, F)

    Izlaz: X (jedan klju eme relacije (R, F)) XR

    radi (AX)

    ako je A(X\{A})+ tada

    XX\{A}

    kraj ako

    kraj radi

  • Algoritam za izraunavanje skupa kljueva eme relacije

    Ulaz: (R, F)

    Izlaz: K skup kljueva eme relacije (R, F) K 0

    radi X R

    ako je R=XF+ tada

    radi (AX)

    ako je A(X\{A})+ tada

    XX\{A}

    kraj ako

    kraj radi

    K K X

    kraj ako

    kraj radi

  • Anomalije auriranja

    Anomalije prilikom upisa, brisanja, modifikacije torki

    Integritet entiteta: Jedinstvenost vrednosti kljua

    (XK)(ti,tjr)(ti[X]=tj[X] ti=tj)

    Ni kompletan klju ni bilo koje obeleje kljua ne sme imati nepoznatu ili nula vrednost nad emom relacije (XK)(AX)(tr)(t[A]=)

    Vrednost kljua se ne sme menjati prilikom auriranja

  • Anomalije auriranja

    Anomalija upisa

    Anomalija brisanja

    Anomalija modifikacije

    Kad postoji samo jedna ema relacije (univerzalna relacije), sigurno dolazi do redundanse podataka

  • Normalne forme

    Prva normalna forma

    Obeleje je elementarno (atomino) ako se ne moe dekomponovati; njegov domen sadri samo atomine elemente.

    ema relacije je u 1NF ako su sva njenaobeleja elementarna.

    ema baze podataka je u 1NF ako su sve njene eme relacija u 1NF.

  • Normalne forme

    Druga normalna forma Atribut A relacije r je potpuno funkcionalno zavisan od

    atributa X relacije r, ako je funkcionalno zavisan od atributa X, a nije funkcionalno zavisan ni od jednog pravog podskupa atributa X. XA je potpuna, ako vai (YX)YAF+

    ema relacije je u 2NF ako je u 1NF i ako je svako neprimarno obeleje skupa R u potpunoj funkcionalnoj zavisnoti od svakog kljua eme relacije (R,F) Neprimarno obeleje je ono koje nije kandidat za klju

    ema baze podataka je u 2NF, ako je svaka njena ema relacije u 2NF

  • Normalne forme

    Trea normalna forma

    Netrivijalna funkcionalna zavisnost XA je tranzitivna ako vai XYF+, YAF+, YXF+

    ema relacije je u 3NF ako je u 2NF a ako svi njeni nekljuni (neprimarni) atributi netranzitivno zavise od primarnog kljua.

    ema baze podataka je u 3NF, ako je svaka njena ema relacije u 3NF.

  • Normalne forme

    Boyce-Codd normalna forma (BCNF)

    ema relacije je u BCNF ako svaka netrivijalna funkcionalna zavisnost u F+ sadri klju eme relacije (R,F).

    ema baze podataka je u BCNF, ako je svaka njena ema relacije u BCNF.

  • Normalne forme - primeri BRI IMES PREZS BPI OZP NAP OZN PRN OCE

    123 Ana Peri 5 P1 Baze podataka 1 N1 Markovi 10

    123 Ana Peri 5 P2 Analiza 1 N2 Ili 9

    456 Ivan Mari 8 P1 Baze podataka 1 N1 Markovi 8

    135 Maja Savi 10 P2 Analiza 1 N3 Anti 9

    765 Marko Daki 4 P3 Web dizajn N4 Panti 10

    456 Ivan Mari 8 P3 Web dizajn N4 Panti 7

    765 Marko Daki 4 P1 Baze podataka 1 N1 Markovi 6

    U = {BRI, IMES, PREZS, BPI, OZP, NAP, OZN, PRN, OCE} F = {BRI IMES+PREZS+BPI, OZP NAP, NAP OZP, OZN PRN+OZP+NAP, BRI+OZP OCE+OZN} K = {BRI+OZN, BRI+OZP, BRI+NAP}

  • Normalne forme - primeri BRI SPR IME SEM SSMER NAZSMER IMERUK NAZPRED OCENA

    123 P1 Ana 5 1 Raunarske nauke

    Sima Analiza 1 7

    123 P2 Ana 5 1 Raunarske nauke

    Sima Baze podataka 8

    123 P3 Ana 5 1 Raunarske nauke

    Sima Uvod u programiranje

    8

    345 P3 Ivan 7 1 Raunarske nauke

    Sima Uvod u programiranje

    10

    345 P1 Ivan 7 1 Raunarske nauke

    Sima Analiza 1 5

    987 P2 Mila 4 2 Informacione tehnologije

    Mika Baze podataka 8

    987 P5 Mila 4 2 Informacione tehnologije

    Mika Informacioni sistemi

    9

    987 P4 Mila 4 2 Informacione tehnologije

    Mika Operativni sistemi

    6

    987 P1 Mila 4 2 Informacione tehnologije

    Mika Analiza 1 7

    BRI jedinstveno odreuje ime studenta, semestar i ifru i naziv smera koji student studira. SPR jedinstveno odreuje naziv predmeta. SSMER jedinstveno odreuje naziv smera i ime rukovodioca. Jedan student iz jednog predmeta moe da ima samo jednu ocenu.

  • Normalne forme - primeri

    BRI SPR NAZPRED OCENA 123 P1 Analiza 1 7 123 P2 Baze podataka 8

    123 P3 Uvod u programiranje 8

    345 P3 Uvod u programiranje 10

    345 P1 Analiza 1 5 987 P2 Baze podataka 8

    987 P5 Informacioni sistemi 9

    987 P4 Operativni sistemi 6

    987 P1 Analiza 1 7

  • Normalne forme - primeri

    Predmet_id Predmet_naziv Semestar Godina Profesor

    IT1 Analiza 1 1 2012 Pap

    IT1 Analiza 1 1 2013 Takai

    IT2 Algebra 1 1 2012 Vojvodi

    IT2 Algebra 1 1 2013 eelja

    IT3 Programski jezici 2 2012 Ivanovi

    IT3 Programski jezici 2 2013 Ivanovi

    IT4 Baze podataka 1 3 2013 Rackovi

    IT5 OOP 3 2013 Radovanovi

    IT6 Baze podataka 2 4 2013 Rackovi

    Predmet_id odreuje Predmet_naziv, semestar Predmet_id i godina odreuju profesora

  • Normalne forme - primeri

    Predmet_id Godina Profesor_id Profesor

    IT1 2012 P1 Pap IT1 2013 P2 Takai IT2 2012 P3 Vojvodi IT2 2013 P4 eelja IT3 2012 P5 Ivanovi IT3 2013 P5 Ivanovi IT4 2013 P6 Rackovi IT5 2013 P7 Radovanovi IT6 2013 P6 Rackovi

  • eme relacija:

    A({A1, A2}, {A1A2})

    B({B1, B2}, {B1B2})

    X({A1, B1, X1}, {A1+B1X1})

    C({C1, C2, B1}, {C1C2, C1B1})

    Y({A1, B1, C1, Y1}, {A1+B1+C1Y1, C1B1})

  • eme relacija:

    A({A1, A2}, {A1})

    B({B1, B2}, {B1})

    X({A1, B1, X1}, {A1+B1})

    C({C1, C2, B1}, {C1})

    Y({A1, B1, C1, Y1}, {A1+B1+C1}) da li je klju dobar?

    Fukcionalne zavisnosti:

    A1A2

    B1B2

    A1+B1X1

    C1C2, C1B1

    A1+B1+C1Y1

  • SP - ifra predmeta

    N- naziv predmeta

    SN - ifra nastavnika

    IP ime nastavnika

    BI broj indeksa

    IS ime studenta

    BC broj asova

    SE - semestar

    eme relacija:

    Predmet({SP, N}, {SPN})

    Nastavnik({SN, IP}, {SNIP})

    Predaje({BC, SP, SN}, {SP+SNBC})

    Student({BI, IS, SN}, {BIIS, BISN})

    Slua({SP, SN, BI, SE}, {SP+SN+BISE, BISN})

  • SP N

    P1 Baze podataka 1

    P2 Informacioni sistemi 1

    P3 Operativni sistemi 1

    SN IP

    N1 Ana

    N2 Mirko

    N3 Sava

    SP SN

    P1 N1

    P2 N1

    P2 N3

    BI IME SN

    S1 Tanja N1

    S2 Marko N1

    S3 Dunja N2

    BI SN SP SE

    S1 N1 P1 3

    S1 N3 P2 5

    S2 N3 P2 5

    Nastavnik Predmet

    Student Predaje

    Slua

    Ali je naruena funkcionalna zavisnost BISN!

  • ema relacije Slua({SP, SN, BI, SE}, {SP+SN+BISE, BISN})

    nije u 2NF klju: SP+BI

    SP+BISN nije potpuna, jer vai i BISN

    Prilikom prevoenja bi trebalo preimenovati ifru nastavnika (SN), koja kao strani klju prelazi u emu relacije Student, jerje znaenje tog tipa poveznika mentorstvo (koji nastavnik je mentor kom studentu)

    Student({BI, IS, SMentora}, {BIIS, BISMentora}) SMentora je preimenovano obeleje

    Slua({SP, SN, BI, SE}, {SP+SN+BISE}) Ovde je klju SP+SN+BI

  • Metoda dekompozicije

    Jedna od metoda normalizacije

    Rastavljanje eme univerzalne relacije do skupa ema relacija, koje su sve u BCNF

    Ne garantuje se ouvanje polaznog skupa funkcionalnih zavisnosti (neke f.z. Iz polaznog skupa mogu biti izgubljene)

    (U,F)

    XY

    (XY, F|XY) (R\Y, F|R\Y)

  • Metoda dekompozicije

    Izbor funkcionalne zavisnosti:

    Netrivijalna f.z. koja nije posledica kljua

    P3: YA, (AY) (RY+) ovaj uslov obezbeuje dolazak u BCNF

    Stroiji uslov, koji garantuje da se pri dekompoziciji nee izgubiti neka f.z. ali ne garantuje dolazak u BCNF

    P1: YA, (AY) (RY+) (F+=(F|R\AF|YA)+)

    P2: YA, (AY) (AYR) (F+=(F|R\AF|YA)+)

  • Metoda dekompozicije

    Izbor funkcionalne zavisnosti po kojoj se vri dekompozicija Ne treba dekomponovati na osnovu trivijalne f.z.

    Birati, ako je mogue, one f.z. koje na levoj strani ne sadre klju eme relacije

    Birati, ako je mogue, one f.z. koje sa desne strane imaju obeleje koje se vie nigde ne pojavljuje

    Da se ne bi nepotrebno gubile funkcionalne zavisnosti, dekompozicija se vri prvo po pravilu P1, pa po P2, pa po P3

  • Metoda sinteze

    Jedna od metoda normalizacije ema univerzalne relacije (U,F)

    F je skup funkcionalnih zavisnosti, gde sve funkcionalne zavisnosti imaju jednolane skupove obeleja sa desne strane

    Rezultat metode sinteze je skup ema relacija: S={(Ri, Ki)|i=1,...,n}, RiU, Ki sintetizovani kljuevi U=

    =1 - Skup ema relacija S sadri kompletnu

    informaciju o skupu obeleja U F{XRi|XKi ((Ri, Ki) S)} - Skup ema relacija S sadri

    kompletnu informaciju o skupu funkcionalnih zavisnosti F (Ri, Ki)S je najmanje u 3NF Ne postoji skup ema relacija T sa manjim brojem ema

    relacija nego S, a da zadovoljava prethodna tri uslova

  • Metoda sinteze

    Koraci algoritma: 1. Redukcija skupa f.z. 2. Nalaenje neredundantnog pokrivaa

    Polazni skup f.z. se prevodi u kanoniki pokriva H

    3. Particija skupa f.z. na disjunktne podskupove f.z. sa jednakim levim stranama

    Svaki podskup bi mogao generisati jednu emu relacije, ali mogue je da jo uvek nije zadovoljen uslov minimalnosti

    4. Izdvajanje ekvivalentnih levih strana Isto zatvaranje levih strana (npr. X i Y), formira se skup J u kom se nalaze zavisnosti XY i

    YX (nove f.z. koje jesu posledica skupa H, ali nisu morale postojati u H) Zbog toga neke od postojeih f.z. mogu postati tranzitivne (suvine) Obezbeuje se minimalnost skupa ema relacija

    5. Pronalaenje tranzitivnih f.z. Eliminisanje f.z. koje su posledica uvoenja f.z. XY i YX

    6. Rekonstrukcija grupa Uz eliminisanje tranzitivnih f.z. Ukljuuju se f.z. XY i YX

    7. Formiranje ema relacija Skup obeleja f.z. proglaava se za skup obeleja eme relacije Skup levih strana f.z. postaje skup sintetizovanih kljueva posmatrane eme relacije