Baze podataka Relacioni model 1 Relacioni model o
Baze podataka Relacioni model 1
Relacioni model o Osnovne karakteristike: n n n n Sve se predstavlja relacijama (tabelama) Zasniva se na strogoj matematičkoj teoriji Minimalna redudansa podataka Jednostavno ažuriranje podataka Izbegnute su anomalije ažuriranja Redosled kolona i redova ne utiče na informacioni sadržaj tabele Ne mogu da egzistiraju dva identična reda (rekorda) u jednoj tabeli Svaki red se može jednoznačno odrediti (postoji primarni ključ) 2
Relacioni model Student Knjiga Br. Ind Ime Sif. K Naziv 75/01 Marko 001 Računovodstvo 22/02 Petar 002 Baze podataka 156/03 Milan 003 Osnove finansija 112/02 Dragan 004 Poslovna informatika 005 Marketing Tabela, sa svojim atributima, je osnovni objekat relacione baze podataka 3
Relacioni model o o Suština relacionog modela je da se i klase objekata i klase veza između objekata predstavljaju na jedinstven način, tj. preko tabela. Nije od značaja gde i kako su smeštene tabele RBP se sastoji iz više tabela. Tabele su povezane ključevima Informacija iz RBP se dobija postavljanjem upita 4
Relacioni model STUDENT (Br. Ind, Ime) KNJIGA (Sif. K, Naziv) DRŽI (Br. Ind, Sif. K, Datum) Strani ključ relacije Drži koji pokazuje na primarni ključ relacije Student Strani ključ relacije Drži koji pokazuje na primarni ključ relacije Knjiga 5
Relacioni model o STUDENT Svaka tabela mora da ima: n Ime ili naziv tabele, n Spisak atributa i n Vrednosti atributa (podaci upisani u polja) Br. Ind Ime Prezime Fakultet Smer Adresa 123/03 Marković FPI PP Požeška 2 224/02 Jovanović FPI GD Danijelova 22 III 5/04 Ivana Ivanović FPI GD Kumodrašk a 145 ----- ------ 6
Relacioni model kolone Naziv tabele Atribut 1 Atribut 2 Atribut 3 Atribut 4 Atribut 5 slogovi Podatak u polju. . . . . Slog ili zapis ili n-torka. . . . . 7
Relacioni model podataka o o Relacioni model podataka predstavlja teorijsku osnovu za baze podataka relacionog tipa Razmatraju se sledeće komponente relacionog modela podataka: n Strukturna komponenta – predstava podataka n Integritetska komponenta – zaštita podataka n Manipulativna komponenta – manipulisanje podacima 8
Atributi o o o Imenovana vrsta svojstva (osobina entiteta) Prost atribut (simple) - ne može se rastavljati na delove bez gubitka svakog značenja – atomska vrednost. Složen atribut (composite) se sastoji od više prostih atributa. Može se rastaviti na jednostavnije. Adresa Ulica Broj Poštanski broj Grad 9
Atributi o o Pri projektovanju IS, treba pažljivo birati atribute, u skladu sa potrebama Primer: STUDENT (Br. Ind, Ime, Prezime, Dat. Rodjenja, Adresa, Telefon, . . . ) Datum. Rodjenja – sa namerom posedovanja podatka o starosti svakog službenika – dobar izbor atributa (informacija se može izračunati) Godine. Starosti – loš izbor atributa – zahtevalo bi se svakodnevno ažuriranje BP 10
Atributi o o Skup svih mogućih vrednosti nekog atributa Ai naziva se domenom tog atributa i označava se sa Di ili Dom(Ai) Domen - tip podataka u programiranju Jedan domen za više atributa. Obrnuto ne. Primeri: n Atribut: Visina (cm) D 1: skup celih pozitivnih brojeva n Atribut: Naziv. Knjige D 2: skup svih različitih naslova knjiga n Atribut: Boja D 3: {“žut”, ”crven”, ”zelen”, ”plav”} 11
Šema relacije o o Šema relacije R je konačan skup atributa {Ai} i konačan skup {O} ograničenja nad vrednostima tih atributa. Ograničenja: atributi ne mogu uzimati bilo koje vrednosti Podrazumeva se da kada su zadati atributi, zadati su i njihovi domeni Bitne osobine šeme relacije: n Nazivi atributa moraju biti različiti - unikatnost n n Redosled atributa nije bitan Šema relacije mora da sadrži bar jedan atribut 12
Šema relacije o o Šema relacije se zapisuje: R(A 1, A 2, . . . AN), Ai - atributi N – broj atributa Primer: Šema relacije koja predstavlja jednu klasu (klasa studenata): STUDENT (Br. Ind, Ime) Šemom relacije se predstavljaju svojstva klase objekata ili veza nekog sistema Šema relacije može da se tumači i kao definicija strukture neke datoteke. 13
Relacija o o Relaciji u praksi odgovara jedna datoteka Svakoj n-torki odgovara jedan slog te datoteke Slogovi u datoteci su zapisani u određenom redosledu, najčešće po redosledu unošenja Primer: STUDENT (Br. Ind, Ime) student ( Br. Ind 123/02 11/03 151/02 III-15/04 Ime ) J. Jankovic P. Petrovic J. Jovanovic M. Markovic šema relacije relacija 14
Terminologija - RBP Terminologija - tabele Relaciona BP Skup tabela Relacija Pojedinačna tabela Atribut Naziv kolone u tabeli Instanca (n-torka) Red podataka u tabeli Kardinalnost relacije Broj redova u tabeli Stepen relacije Broj kolona u tabeli Domen Skup dozvoljenih vrednosti za podatke u kolonama 15
NULL vrednost o o Vrednost NULL – univerzalnog tipa, primenjiva za atribute bilo kakvih domena U praksi postoje situacije kada u relacije unosimo n-torke za koje su vrednosti nekih atributa nepoznate u tom trenutku. Postoje dva sličaja: 1. Vrednost postoji, ali nije poznata u trenutku unosa n-torke. Npr. kod upisa studenata unosimo sve podatke izuzev podataka o telefonu, koji se može i naknadno uneti. STUDENT (Br. Ind, Ime, Prezime, Telefon) o Posledica trenutnog nepoznavanja vrednosti nekog atributa, i naknadno se može uneti 16
NULL vrednost 2. Ta vrednost je nedefinisana, nema smisla. Npr. Ako je zadata šema relacije: STUDENT (Br. Ind, Ime, Prezime, Telefon, Smer) Ne može se uneti smer za studente 1. i 2. godine, jer se naknadno opredeljuju za nega. o Navedeni problem je posledica odabrane strukture šeme relacije 17
NULL vrednost o o o • • Pri projektovanju IS pažljivo birati šeme relacija – da bi se izbegao unos prevelikog broja vrednosti NULL (racionalnost) Primer: Šema relacije Službenik i uvođenje atributa madalja Službenik (JMBG, Ime, . . . , Medalja, . . . ) Za većinu službenika na tom mestu bi ostalo prazno mesto sa vrednošću NULL Rešenje problema: kreiranje nove šeme relacije Odlikovanja (JMBG, Medalja) Nova relacija bi bila potpuno popunjena, a preko atributa JMBG bila bi “povezana” sa šemom relacije Službenik 18
Šema RBP o o Osnovni pojmovi relacionog modela podataka: atribut, domen, šema relacije i relacija. Šema relacione BP – prvi izvedeni pojam relacionog modela podataka. Šema relacione BP je konačan skup šema relacija {Ri} i konačan skup U ograničenja koja važe između njih. Skup ograničenja U uključuje samo ograničenja koja važe između pojedinih šema relacija. Ograničenja Oi su uključena kroz relacije (ograničenja nad atributima) 19
Šema RBP o o Šema relacije predstavlja definiciju relacije. Po analogiji, šema relacione BP predstavlja definiciju relacione BP. Primer: sistem Biblioteka ima sledeću strukturnu komponentu šeme relacione BP (svakoj klasi odgovara jedna šema relacije): Objekti: Student(Br. Ind, Ime) Knjiga(Sif. K) Naslov(Sif. N, Naziv) Autor(Sif. A, Ime) Veze: Drzi(Sif. K, Br. Ind, Datum) Sadrzi(Sif. K, Sif. N) Je_autor(Sif. A, Sif. N, Koji) 20
Relaciona BP o o o Relaciona BP je drugi izvedeni pojam u okviru relacionog modela podataka. Definicija: Relaciona baza podataka BP je konačan skup relacija {ri} nad šemom relacione BP {Ri} Nad šemom relacione baze podataka Biblioteka imamo sledeću relacionu bazu podataka biblioteka (svojim sadržajem predstavlja stanje sistema biblioteka u jednom trenutku) 21
Primer: RBP biblioteka - objekti - Autor(Sif. A, AP 0 Student (Br. Ind, Ime ) IT 0 75/00 M. Marković AP 1 122/03 D. Ivanović JN 0 5/01 P. Jovanović DM 0 175/01 R. Savić ZP 0 Ime ) A. Popovic I. Todorovic A. Petrovic J. Nikolic D. Markovic Z. Petrovic 22
Primer: RBP biblioteka - objekti - Knjiga (Sif. K) 001 002 003 004 005 006 007 008 009 Naslov (Sif. N, Naziv RBP 0 FT 00 PI 00 OS 00 ) Relacione baze podataka Finansijska tržišta Poslovna informatika Osnove finansija 23
Primer: RBP biblioteka - veze Drži (Sif. K, Br. Ind, Datum ) 001 002 004 Je_autor (Sif. A, AP 0 JN 0 DM 0 ZP 0 DM 0 AP 1 IT 0 ZP 0 JJ 0 PP 0 JJ 0 10. 11. 03 01. 06. 04 15. 03. 05 Sif. N, Koji ) RBP 0 FT 00 PI 00 OS 00 1 2 1 2 3 Sadrži (Sif. K, Sif. N ) 001 002 003 004 005 006 007 008 009 RBP 0 FT 00 PI 00 OS 0 24
Relaciona BP o o o Relaciona BP je konačan skup relacija n Svaka relacija ima svoju šemu n Svaka relacija ima svoje instance (ntorke) tj. telo Nazivi relacija moraju biti različiti U jednoj relaciji imena atributa moraju biti različita 25
Integritetska komponenta Služi za predstavljanje ograničenja koja važe nad podacima, odnosno nad vrednostima pojedinih atributa. Ta ograničenja se po prirodi mogu podeliti u tri grupe: o o n n n Identifikacioni (egzistencijalni) integritet Funkcionalne zavisnosti Referencijalni integritet 26
Integritetska komponenta 1. Ograničenja koja proizilaze iz zahteva unikatnosti n-torki u relacijama. Nazivaju se identifikacionim ili egzistencijalnim integritetom. • U jednoj relaciji ne mogu da postoje dve iste ntorke 27
Integritetska komponenta 2. Ograničenja koja se eksplicitno zadaju preko skupova ograničenja Oi u okviru šema relacija Ri. • • Takva ograničenja su posledica ograničenja koja važe nad svojstvima u realnom sistemu Teorija funkcionalnih zavisnosti i normalne forme 28
Integritetska komponenta 3. Ograničenja koja uključuju atribute koji se nalaze u različitim relacijama i koja se zadaju preko skupa ograničenja U u okviru šeme relacione BP. • Takva ograničenja se nazivaju referencijalnim integritetom 29
Primarni ključ - primeri o o o Student(Br. Ind, Ime) Drzi(Sif. K, Br. Ind, Datum) Knjiga(Sif. K, Sif. N) Autor(Sif. A, Ime) Naslov(Sif. N, Naziv) Je_autor(Sif. A, Sif. N, Koji) 30
Strani (spoljni) ključ o o Dosadašnji ključevi su definisani unutar jedne Relacije. Za strani ključ neophodne su dve Relacije Primer: n NASLOV(SIFN, NAZIV, SIFO) OBLAST(SIFO, NAZIV) strani ključ 31
Ključevi - primeri o o o Student (Br. Ind, Ime) Knjiga(Sif. K, Sif. N) Naslov(Sif. N, Naziv, Sif. O) Oblast(Sif. O, Naziv) Autor(Sif. A, Ime) Pozajmica(Sif. P, Br. Ind, Dana) Rezervacija(Sif. N, Br. Ind, Datum) Drzi(Sif. K, Br. Ind, Datum) Je_autor(Sif. A, Sif. N, Koji) Jedna šema relacije može da sadrži više stranih ključeva Strani ključ može biti u sastavu primarnog ključa Strani ključ može istovremeno biti i primarni ključ u celini 32
Ključevi - primeri - o o o Primer 1: Radnik(Sif. R, Ime, Adresa, Sif. Nad) Pretpostavka: svaki radnik ima samo jednog nadređenog Sve se dešava unutar jedne šeme relacije koja sadrži oba učesnika u vezi “strani ključ – primarni ključ” Primer 2: Osoba(JMBG, Ime, Adresa, . . . ) Brak(JMBG 1, JMBG 2, Datum_venčanja) 33
Identifikacioni integritet o o o Identifikacioni integritet proizilazi iz osobina unikatnosti n-torki u relaciji i svodi se na formulaciju odgovarajućeg uslova Uslov identifikacionog integriteta: Ni jedan atribut šeme relacije R koji je u sastavu primarnog ključa nikada ne sme imati NULL vrednost u relaciji r. Ukoliko ovo ne bi bilo ispunjeno, može nastupiti situacija da dve ili više n-torki u relaciji postanu identične 34
Identifikacioni integritet o o o Primer: Je_autor (Sif. A Sif. N Koji). . . . . AP 0 RBP 0 1 AP 0 PI 00 1 Ako bi se dozvolilo da npr. Sif. N uzme vrednost NULL Je_autor (Sif. A Sif. N Koji). . . . . AP 0 NULL 1 Dobile bi se dve identične n-torke što je nedozvoljeno u relacionom modelu. 35
Referencijalni integritet o o Suština referencijalnog integriteta je u ograničavanju vrednosti stranog ključa. Uslov referencijalnog integriteta: Svaki podskup atributa šeme relacije R koji predstavlja strani ključ može u relaciji r imati: n ili vrednost primarnog ključa u ciljnoj relaciji n ili vrednost NULL. 36
Referencijalni integritet o Sa stanovišta izmena (ažuriranja) u relaciji koja sadrži strani ključ to podrazumeva da važe sledeća ograničenja: n Ne može se uneti n-torka sa vrednošću stranog ključa koja nije jednaka nekoj vrednosti primarnog ključa u ciljnoj relaciji ili NULL vrednosti n Ne može se izmeniti n-torka tako da vrednost stranog ključa ne bude jednaka nekoj vrednosti primarnog ključa u ciljnoj relaciji ili NULL vrednosti 37
Referencijalni integritet o Sa stanovišta izmena (ažuriranja) u ciljnoj relaciji: n Dodavanje nove n-torke (u ciljnoj relaciji) ne narušava ref. int. - nastaje samo nova vrednost primarnog ključa n Uklanjanjem n-torke (a izmena ponekad) dovodi do nestanka jedne vrednosti primarnog ključa. Ako bi se ta operacija izvršavala bezuslovno to bi narušilo referencijalni integritet 38
Referencijalni integritet o o Poželjno je naglasiti da li ref. integritet u pojedinim slučajevima uključuje NULL Za specifikaciju referencijalnih integriteta usvojena je posebna notacija n Za skup vrednosti koje u r nad R uzima neki podskup atributa X n Zapisuje se kao R[X] i čita kao “projekcija relacije r po podskupu atributa X” 39
Referencijalni integritet o Specifikacija referencijalnih integriteta za šemu relacione BP Biblioteka n n n n n Knjiga[Sif. N] Naslov[Sif. N] Naslov[Sif. O] Oblast[Sif. O] NULL Pozajmica[Br. Ind] Student[Br. Ind] Pozajmica[Sif. K] Knjiga[Sif. K] Rrezervacija[Sif. N] Naslov[Sif. N] Rezervacija[Br. Ind] Student[Br. Ind] Drzi[Sif. K] Knjiga[Sif. K] Drzi[Br. Ind] Student[Br. Ind] Je_autor[Sif. A] Autor[Sif. A] Je_autor[Sif. N] Naslov[Sif. N] 40
Referencijalni integritet o Primer: Za šemu relacije Radnik: Radnik(Sif. R, Ime, Adresa, Sif. Nad) n Postojala bi sledeća specifikacija: Radnik[Sif. Nad] Radnik[Sif. R] 41
Prevođenje ER modela u relacioni Treći čas 42
PREVOĐENJE ER MODELA U RELACIONI o o o Pravilo 1. Svaki entitet (objekat, klasa entiteta) ER modela postaje relaciona šema sa istim imenom. Pravilo 2. Svaki atribut entiteta postaje atribut relacione šeme pod istim imenom. Pravilo 3. Ključni atribut(i) (primarni ključ) odnosno identifikator entiteta postaje primarni ključ relacione šeme. 43
Prevođenje regularnog tipa poveznika Predmet Šifra Naziv 101 Informacioni sistemi 102 Proizvodni sistemi 103 Menadžment 104 Upravljanje kvalitetom U relacionom modelu: Predmet {{sifra, naziv}, {sifra}} 44
Primeri o Strukture sa kardinalitetima grupe M: N Radnik (0, M) Radi (0, N) Projekat U relacionom modelu: S= { Radnik{{mbr, ime, prz}, {mbr}}, Projekat{{ozp, nazp}{ozp}} Radi{{mbr, ozp, brc}{mbr+ozp}}} I= {Radi[mbr] Radnik[mbr] Radi[ozp] Projekat[ozp]} G={mbr→ ime+prz, ozp → nap, mbr+ozp → brc} 45
Primeri o Strukture sa kardinalitetima grupe M: N Radnik (0, M) Radi (1, N) Projekat U relacionom modelu: S= { Radnik{{mbr, ime, prz}, {mbr}}, Projekat{{ozp, nazp}{ozp}} Radi{{mbr, ozp, brc}{mbr+ozp}}} I= {Radi[mbr] Radnik[mbr] Radi[ozp] Projekat[ozp] Radi[ozp]} G={mbr→ ime+prz, ozp → nap, mbr+ozp → brc}46
Primeri o Strukture sa kardinalitetima grupe M: N Radnik (1, M) Radi (1, N) Projekat U relacionom modelu: S= { Radnik{{mbr, ime, prz}, {mbr}}, Projekat{{ozp, nazp}{ozp}} Radi{{mbr, ozp, brc}{mbr+ozp}}} I= {Radi[mbr] Radnik[mbr], Radi[ozp] Projekat[ozp], Projekat[ozp] Radi[ozp], Radnik[mbr] Radi[mbr] } G={mbr→ ime+prz, ozp → nap, mbr+ozp → brc} 47
Primeri o Strukture sa kardinalitetima grupe N: 1 Radnik (0, 1) Raspoređen (0, N) Radno mesto U relacionom modelu: S= { Radnik{{mbr, ime, prz, orm}, {mbr}}, Radno_mesto{{orm, nrm}{orm}}} I= {Radnik[orm] Radno_mesto[orm]} G= {mbr→ ime+prz+orm, orm → nrm} 48
Primeri o Strukture sa kardinalitetima grupe N: 1 Radnik (1, 1) (0, N) Raspoređen Radno mesto U relacionom modelu: S= { Radnik{{mbr, ime, prz, orm}, {mbr}}, Radno_mesto{{orm, nrm}{orm}}} I= {Radnik[orm] Radno_mesto[orm], Null(Radnik, orm)= } G={mbr→ ime+prz+orm, orm → nrm} 49
Primeri o Strukture sa kardinalitetima grupe N: 1 Radnik (0, 1) (1, N) Raspoređen Radno mesto U relacionom modelu: S= { Radnik{{mbr, ime, prz, orm}, {mbr}}, Radno_mesto{{orm, nrm}{orm}}} I= {Radnik[orm] Radno_mesto[orm] Radnik [orm]} G={mbr → ime+prz+orm, orm → nrm} 50
Primeri o Strukture sa kardinalitetima grupe N: 1 Radnik (1, 1) Raspoređen (1, N) Radno mesto U relacionom modelu: S= { Radnik{{mbr, ime, prz, orm}, {mbr}}, Radno_mesto{{orm, nrm}{orm}}} I= {Radnik[orm] Radno_mesto[orm], Null(Radnik, orm)= , Radno_mesto[orm] Radnik [orm]} G={mbr→ ime+prz+orm, orm → nrm} 51
Primeri o Strukture sa kardinalitetima grupe 1: 1 Radnik (0, 1) osiguran (0, 1) Polisa U relacionom modelu: S= { Radnik{{mbr, ime, prz, brp}, {mbr}}, Polisa{{brp, dat, izn}{brp}}} I= {Radnik[brp] Polisa[brp]} G={mbr→ ime+prz+brp, brp → dat+izn} 52
Primeri o Strukture sa kardinalitetima grupe 1: 1 Radnik (1, 1) osiguran (0, 1) Polisa U relacionom modelu: S= { Radnik{{mbr, ime, prz, brp}, {mbr}}, Polisa{{brp, dat, izn}{brp}}} I= {Radnik[brp] Polisa[brp], Null(Radnik, brp)= } G={mbr→ ime+prz+brp, brp → dat+izn} 53
Primeri o Strukture sa kardinalitetima grupe 1: 1 Radnik (1, 1) osiguran (1, 1) Polisa U relacionom modelu: S= { Radnik{{mbr, ime, prz, brp, dat, izn}, {mbr, brp}, {mbr}}} G={mbr→ ime+prz+brp+dat+izn, brp → mbr} 54
Primeri o Rekurzivne veze Nadređeni (0, N) Radnik (0, 1) podređeni rukovodi U relacionom modelu: S= I= G= {Radnik{{mbr, ime, prz, sef}, {mbr}}} {Radnik[sef] Radnik[mbr]} {mbr→ ime+prz+sef} 55
Primeri o Rekurzivne veze Je deo (0, N) Proizvod (0, M) Sastoji se od Sastavnica U relacionom modelu: S= I= G= {Proizvod{{ozp, nap, jem}, {ozp}}} Sastavnica{{ozp, ozd, kol}{ozp+ozd}} {Sastavnica[ozp] Sastavnica[ozd] Proizvod[ozp} {ozp→ nap+jem, ozp+ozd → kol} 56
Specijalni slučajevi o Slučaj više tipova poveznika između dva ista tipa n o Prevođenje tipa poveznika reda većeg od dva n o Sva ranija pravila važe pritom se mora izvršiti preimenovanje primarnog ključa jednog od povezanih tipova Primenjuje se uopštenje pravila Prevođenje slabog tipa poveznika n Vrši se prostiranje ključa 57
Primeri o Tip poveznika reda većeg od dva Student (0, N) Izvodjenje_ nastave (0, 1) Nastavnik (0, N) Predmet 58
Primeri o o Slabi tip entiteta Tip entiteta dete je identifikaciono zavistan Radnik N ID R_D 1 Dete U relacionom modelu: S= I= {Radnik{{sifr, ime, prz}, {sif}} Dete{{sifr, rbr, ime}, {sifr+rbr}} {Dete[sifr] Radnik[sifr]} 59
Primeri o Kardinaliteti IS_A hijerarhije Stanovnik (1, M) IS_A Prvi način: S={Stanovnik{{jbs, ime, prz, zan}, {jbs}} Student{{jbs, bri, bpi}, {jbs, bri}, {jbs}} Radnik{{jbs, mbr, spr}, {jbs, mbr}, {jbs}}} I = {Student[jbs] Radnik[jbs] Stanovnik[jbs] Student Stanovnik[jbs], student[jbs] U radnik[jbs]} Radnik 60
Primeri o Kardinaliteti IS_A hijerarhije Stanovnik (1, M) IS_A Student Drugi način: (samo kada je klasifikacija totalna) S={Student{{jbs, ime, prz, zan, bri, bpi}, {jbs, bri}, {bri}} Radnik{{jbs, ime, prz, zan, mbr, spr}, {jbs, mbr}, {mbr}}} I = {Student[jbs] Stanovnik[jbs], Radnik Stanovnik[jbs] student[jbs] U radnik[jbs]} 61
Primeri o Kardinaliteti IS_A hijerarhije Stanovnik (1, M) IS_A Treći način: Student Radnik S={stanovnik{{jbs, ime, prz, zan, bri, bpi, mbr, spr}, {jbs}} 62
Redosled radnji prevođenju u relacioni model o o o Svaki entitet ER modela prevesti u relacionu šemu sa istim imenom. Svaki atribut entiteta prevesti u atribut relacione šeme pod istim imenom. Ključni atribut(i) (primarni ključ) odnosno identifikator entiteta prevesti u primarni ključ relacione šeme 63
Prevođenje tipova poveznika grupe N: M o o Tipovi poveznika čiji kardinaliteti pripadaju grupi M: N se u relacionom modelu predstavljaju samo putem posebne šeme relacije Ako je bilo koji (ili oba) donji kardinalitet a=1 dodaje se odgovarajući inverzni referencijalni integritet 64
Prevođenje tipova poveznika grupe 1: M o o o Tipovi poveznika čiji kardinaliteti pripadaju grupi 1: N mogu se, u relacionom modelu predstaviti bilo butem posebne šeme relacije bilo putem prostiranja ključa. Prostitanje ključa daje bolje rešenje. Prostiranjem ključa se primarni ključ tipa entiteta na N strani poveznika, uključuje u skup obeležja šeme relacije, koja predstavlja tip entiteta na 1 strani. Dodaje se referencijalni integritet za strani ključ U slučaju da imamo sa jedne strane kardinalitete (1, 1), dodaje se zabrana null vrednosti U slučaju da imamo (1, N) sa druge strane, dodaje se inverzni referencijalni integritet 65
Prevođenje tipova poveznika grupe 1: 1 o o Tipovi poveznika čiji kardinaliteti pripadaju grupi 1: 1 mogu se, u relacionom modelu predstaviti bilo butem posebne šeme relacije bilo putem prostiranja ključa. Prostitanje ključa predstavlja bolje rešenje. Minimalni kardinaliteti unose sledeće specifičnosti: n n Ako je bar jedan od minimalnih kardinaliteta 0, propagirani ključ se mora deklarisati da poseduje jedinstvene vrednosti (ekvivalenti ključevi umesto unije ključeva) Ako su oba donja kardinaliteta 0, vrši se bilo prostiranje ključa iz jedne šeme relacije u drugu ili obrnuto (potreban je jedan referencijalni integritet) Ako su donji kardinaliteti a=1 i b=0, tada se vrši protiranje ključa u šemu relacije gde je donji kardinalitet 1 (dodaje se jedno ograničenje null vrednosti) Ako su oba donja kardinaliteta 1 tada dva entiteta treba predstaviti jednom šemom relacije 66
Prevođenje specijalnih slučajeva o Prevođenje rekurzivnog tipa poveznika n o Važe ista pravila kao i za prevođenje regularnih tipova poveznika samo se mora izvršiti preimenovanje ključa koji migrira Prevođenje gerunda n Prevodi se u posebnu šemu relacije. Primenjuju se pravila prevođenja regularnih poveznika M: N, a gerund se posmatra kao tip entiteta pri prevođenju poveznika koji spaja taj gerund sa drugim elementima 67
- Slides: 67