You are on page 1of 12

Relacioni model

Rekapitulacija klasinog relacionog modela ( RM )


Koncepti klasinog relacionog modela koncept strukture DOMEN ATRIBUT RELACIJA
- BAZNA - IZVEDENA - n-TORKA - KANDIDAT ZA KLJU - PRIMARNI KLJU - ALTERNATIVNI KLJU - SPOLJNI KLJU - STEPEN RELACIJE - KARDINALNOST RELACIJE

pravila integriteta 1.INTEGRITET ENTITETA 2.REFERENCIJALNI INTEGRITET

operatori * UNIJA * PRESEK * DIFERENCIJA * DEKARTOV PROIZVOD * -SELEKCIJA * PROJEKCIJA * -SPAJANJE, JOIN * EQUI-SPAJANJE * NATURAL -SPAJANJE * DELENJE

Pomou operatora relacione algebre definie se skup operacija nad relacijama pomou kojih je mogue, iz datog skupa relacija (relacionog modela) formairati eljene izvedene relacije. (Postoje dve grupe ovih operatora: operatori za auriranje relacija i operatori pogodni za za izvetavanja (pretraivanja).) Operatori za auriranje su standardne skupovne operacije: UNIJA, DIFERENCIJA. UNIJA se definie nad relacijama sa istim domenima R3(D1,D2,...,Dn) = R1(D1,D2,...,Dn) R2(D1,D2,...,Dn) Relacija R3 sadri sve n-torke relacije R1 i sve n-torke relacije R2 sem onih koje su jednake nekoj od n-torki relacije R1. Operacija se koristi za dodavanje novih n-torki na neku relaciju (dodavanje novih slogova (zapisa) u datoteku).

Relacioni model

DODAVNJE Pr.: R1 ( A , a1 a2 a3 B , b1 b2 b3 C ) c1 c2 c3

Relaciji R1 treba dodati novu n-torku ( a4, b4, c4 ). Tada se formira relacija R2 ( A , B , C ) a4 b4 c4 i izvri operacija unije (). R1 R2 = R3 ( A , a1 a2 a3 a4 B , b1 b2 b3 b4 C ) c1 c2 c3 c4

R1

R2

DIFERENCIJA (RAZLIKA) se definie nad relacijama sa istim domenom R3(D1, D2, ... Dn) = R1(D1, D2, ... Dn) - R2(D1, D2, ... Dn) Relacija R3 (kao rezultat razlike) sadri sve n-torke relacije R1 koje nisu istovremeno i n-torke relacije R2. da se diferencija koristi za izbacivanje neke n-torke iz relacije, (DELETE) BRISANJE. Ako se iz predhodno definisane relacije R3 eli da izbaci n-torka ( a2, b2, c2 ) tada se formira relacija R4( A , B , C ) a2 b2 c2

Relacioni model

i izvri operacija R5 = R3 R4 = R5( A , a1 a3 a4

B , b1 b3 b4

C ) c1 c3 c4

R5

R3

R4

Izmena sadraja nekog podatka u relaciji vri se uzastopnom primenom operacija diferencije i operacije unije. (Pomou diferencije izbaci se cela ntorka u kojoj se sadri podatak koji treba promeniti a pomou operacije unije vrati se u relaciju n-torka sa izmenjenim sadrajem.) Pr.: U relaciji R5 podatak b3 eli da promeni na vrednost b5, formiraju se dve relacije R6( A , B , C ) i R7( A , B , C ) a3 b3 c3 a3 b5 c3 i izvri operacija (R5 R6) R7 = R8( A , a1 a3 a4 B , b1 b5 b4 C ) c1 c3 c4

Operacije pogodne za izvetavanje iz jedne relacije su: PROJEKCIJA i SELEKCIJA. a) PROJEKCIJA je operacija kojom se izdvaja skup atributa jedne relacija (skup kolona jedne tabele) u novu relaciju. Pri tome se eliminiu sve n-torke relacije (vrste (redovi) tabele) duplikati koji posle ovakvog izdvajanja ostanu. Pr.: R2( lista atributa rezultata ) = P(( lista atributa koji se izdvajaju) OF R1( lista atributa polazne relacije ))

Relacioni model

R1( D1 , D2 , D3 , D4 , D5 , D6 ) 1 1 1 2 3 1 1 1 2 3 1 1 1 4 1 3 3 3 R2( D1 , D2 ) = P(( D1, d2) OF (D1, D2, D3, D4, D5, D6)) 1 1 1 4 b) SELEKCIJA ili RESTRIKCIJA je izdvajanje (izvlaenje) onih n-torki iz neke relacije koji zadovoljavaju dati uslov. Ako sa P() obeleimo uslov zadat nad atributima relacije R1 tada se operacijom selekcije dobija relacija R2(P) R2[P] = { x| xR1 i P[x] } Pr.: Relacija RADNIK_KURS izvui n-torke kod kojih je -K = 01 R 0253 0374 0583 0983 K 01 01 02 01 GODZAVR 1951 1961 1970 1972

Relacija RADNIK_KURS ( R, K, GODZAVR) RK1 = RADNIK_KURS [-K = 01] RK1 R 0253 0374 0983 K 01 01 01 GODZAVR 1951 1961 1972

Osnovni operatori za izvetavanje iz vie tabela odnosno formiranje izvedenih relacija tj. pogleda su Dekartov proizvod, spajanje, presek i td. DEKARTOV PROIZVOD je operator nad dvema relacijama koji omoguava nastanak nove relacije sa svim atributima obe relacije i spajanje svih n-torki jedne relacije sa svim n-torkama druge relacije. Oznaka za operator je x. Dekartov proizvod dve relacije je nekontrolisano spajanje

Relacioni model

Pr.:

A( D1 , D2 ) B( 1 3 2 4 A x B = C( D1 , D2 , 1 3 1 3 2 4 2 4

D3 , D4 ) 6 4 2 7 D3 , D4 ) 6 4 2 7 6 4 2 7

Primer za Dekartov proizvod: A = {1, 2, 3, 4} B = {4, 6, 8}

A x B = { (1,4), (1,6), (1,8), (2,4), (2,6), (2,8), (3,4), (3,6), (3,8), (4,4), (4,6), (4,8)} R = { (a, b) | a = b/2} ; R = { (2,4), (3,6), (4,8)} I1 = {001, 007, 035} C1 = {Milo, Ana} I2 = {19, 22} R I1 x C1 x I2 {(001, Milo, 19), (007, Ana, 19), (035, Ana, 22)} = {(br_ind:001, ime:Milo, starost:19), (br_ind:007, ime:Ana, starost:19), (br_ind:035, ime:Ana, starost:22)} (U zatamnjenoj interpretaciji za razliku od gornje nije bitan ni redosled atributa a ni redosled n-torki.) PRESEK se definie nad relacijama sa istim domenom. Rezultat operacije R1R2 je skup n-torki (nova relacija) koji su istovremeno i n-torke u R1 i ntorke u R2. R3 = R1 R2

R1

R3

R2

Relacioni model

KONTROLISANO SPAJANJE ( JOIN) Neka su date dve relacije R(A, B1) i S(B2, C) i neka su B1 i B2 definisani nad istim domenom. Neka je neka od binarnih relacija =, <, , , >, koja moe biti definisana na domenima atributa B1 i B2. JOIN (kontrolisano spajanje, spajanje) R po B1 sa S po B2 je formiranje nove relacije P(A, B1, B2, C) u kojoj sve n-torke zadovoljavaju binarnu relaciju izmeu B1 i B2. Ako se za izabere = operacija se naziva EQUI-JOIN. Pr.: R( A , B , C ) p 1 2 p 2 1 q 1 2 b 2 5 b 3 3 S( D , E ) 2 u 3 u 3 u

R[C=D]S

(A,B,C,D,E) p 1 2 2 u q 1 2 2 u b 3 3 3 u b 3 3 3 u

R[C>D]S

(A , B , C , D , E ) b 3 3 2 u b 2 5 2 u b 2 5 3 u b 2 5 3 u

Ako se u rezultatu EQUI-JOIN izbaci jedna od dve iste (redudantne) kolone odgovarajua operacija se naziva NATURAL-JOIN (prirodno spajanje). R[C*D]S (A,B,C,E) p 1 2 u q 1 2 u b 3 3 u Za klasini RM operacije unije, diferencije i preseka se mogu primeniti samo na relacije definisane nad istim domenima. Relacije koje nisu definisane nad istim domenima mogu se na to svesti ako se proire odgovarajuim domenima, a vrednosti atributa ovih domena budu nula vrednosti. Odgovarajue skupovne operacije nad ovako proirenim relacijama nazivaju se spoljna unija, presek ili diferencija (OUTER UNION, OUTR INTERSECTION, OUTER DIFERENCE). Pr.: R( A , B , C ) p 1 2 q 2 1 q 1 2 S( B , D ) 2 u 3 v

Relacioni model

Proirenjem se dobijaju R( A , B , C , D ) p 1 2 q 2 1 q 1 2

S( A , B , C , D ) 2 u 3 v

RS( A , B , C , D ) p 1 2 q 2 1 q 1 2 2 u 3 v Ako prilikom EQUI-JOIN ili NATURAL-JOIN relacije koje se spajaju nemaju iste projekcije po domenima po kojima se spajaju moe doi do gubljenja informacija. Zato se odgovarajui atributi dopunjavaju sa nula vrednostima, tako da odgovarajue projekcije postanu jednake, pa se zatim izvri spajanje. To je OUTER-EQUI-JOIN, OUTER-NATURAL-JOIN. (Lazarevi 135)

Relacioni model

Proireni relacioni model (RM/T)

3.1

Proireni relacioni model je nastao iz klasinog relacionog modela i poseduje koncepte klasinog relacionog modela stim da je proirenje izvreno u dodavanju novih koncepata strukture (nul vrednost, kljueva surogata, razni tipovi relacija (za tipove objekata), katalog (renik podataka), novih pravila integriteta, proirenja skupa operatora. Pomou primarnog kljua u BP se jedinstveno i trajno vri identifikacija entiteta. Primarni klju definie, kontrolie i menja korisnik. Postoje tri potekoe s kljuevima koje kontrolie korisnik: 1. Ponekad treba nekoliko ili vie kljueva izmeniti, te se u vremenu isti entiteti idebtifikuju razliitim primarnim kljuevima (ako se spoje dve organizacione celine u bazi podataka o radnicima niz matinih brojeva treba izmeniti) 2. Dve relacije, mogu imati korisnike kljueve definisane nad razliitim domenima, a predstavljaju isti tip entiteta, pa nije mogue vriti operacije spajanja po korisnikom kljuu. (#radnika-JBG) 3. Za svaki tip entiteta postoje propisi kad se za neki entitet upisuje i brie korisniki klju iz baze podataka. Ako postoji potreba za uvanjem podataka u bazi pre i posle ovih dogaaja to nije mogue . (Pr.: potencijalni radnici, otputeni radnici, penzioneri....) SUROGAT ZAMENA PRIMARNOG KLJUA Reenje se sastoji u uvoenju sistemski odreenom identifikatoru entiteta koji se zove surogat kljua (zamenici kljueva). Surogat entitetu dodeljuje sistem (SUBP) i on je nevidljiv za korisnika. Korisnik preko sistema tj. moe narediti sistemu da stvori ili izbrie neki od surogata ali ne i da mu promeni vrednost tj. da ga aurira. Surogati su jedinstvene reprezentacije entiteta, to su nepromenljive i neponovljive vrednosti, od kojih svaka odgovara pojedinanoj n-torki relacije i koje se generiu pri unoenju n-torki kojima se predstavljaju entiteti. E relacije i P relacije Entiteti svih klasa (tipova) u RM/T modelu predstavljeni su dvema vrstama relacija i to: 1) E relacije
8

Relacioni model

2) P relacije Svakom tipu entiteta (bez obzira na njegovu klasu) odgovara jedna E relacija. E relacija za dati tip entiteta je unarna relacija (relacija sa jednom kolonom) koja sadri surogate svih entiteta tog tipa, predstavljenih u bazi. Sa druge strane, svakom tipu entiteta odgovara jedna ili vie P relacija, od kojih svaka sadri po dva ili vie atributa: jedan od atributa je surogat odgovarajueg tipa entiteta, a ostali atributi su neki (moe i svi) atributi tog tipa entiteta. E relacija registruje egzistenciju entiteta, a P relacija registruje njegova svojstva. Izbor naina za grupisanje svojstava u P relaciji vri projektant baze (mogu se i svi atributi prikazati jednom P relacijom). Pr.: Modelovanje u RM/T modelu prikazaemo nad sistemom KADROVA tj. tipu (klasi) entiteta RADNIK. Kadrovski sistem sadri relevantne podatke o radniku i to: Matini broj radnika (koji radnika u sistemu jedinstveno identificira), Ime, Prezime, Ime roditelja, Mesto stanovanja, Ulica i kuni broj, datum roenja, sta koji je odreen sa: Datumom poetka staa, Datumom zavretka staa, Naziv organizacije u kojoj je sta steen, Zanimanje (moe biti osposobljen za vie zanimanja) i td... Neka od reenja za navedeni sistem su: entitet Radnik se predstavlja jednom E relacijom RADNIK (RADNIK#) i trima P relacijama RADNIK_MATINI BROJ (RADNIK#, MBR); RADNIK_IME (RADNIK#, IME, IME RODITELJA, PREZIME); RADNIK_ADRESA (RADNIK#, GRAD, ULICA, BROJ). Tabelarni prikaz E relacija RADNIK RADNIK# _ _ _ _ P relacija RADNIK_MATINI BROJ RADNIK# MBR _ 11234 _ 24563 _ 23141 _ _

Relacioni model

P relacija RADNIK_IME RADNIK# IME Pera _ Marko _ Igor _ _ _ P relacija RADNIK_ADRESA RADNIK# GRAD _ _ _ _ _ _ _ _

IME-R Petar Mile Duan _

PREZIME Peri Jusi Gavri _

ULICA _ _ _ _

BROJ _ _ _ _

VRSTE ENTITETA RM/T Tipovi entiteta iz realnog sistema koji se predstavljaju RM/T modelu jednom E relacijom, nijednom, jednom ili vie P relacija su: A) OSNOVNI ENTITET (ENTITET JEZGRA, KERNEL) B) OPISNI ENTITET (KARAKTERISTINI ENTIET) C) ASOCIJATIVNI ENTIET D) ODREUJUI TIP ENTITETA E) ENTIET PODTIP-NADTIP F) GRUPNI TIP ENTITETA. Osnovni tip entiteta je koncept strukture RM/T koji slui za predstavljanje baznih entiteta koji ulaze u MP. Ovi entiteti su nezavisni od svih drugih tipova entiteta i nisu egzistencijalno zavisni niti od jednog drugog tipa entiteta. Pojedina pojavljivanja entiteta tog tipa su: RADNIK, PARTNER, ORGANIZACIONA JEDINICA ... Opisni tip entiteta je koncept strukture RM/T koji slui za predstavljanje slabih tipova entiteta u modelu podataka. Opisni entitet opisuje drugi entitet pa se naziva i podreeni entitet a opisani entitet se naziva nadreeni entitet. Pr.: STA (datum poetka staa, datum zavretka staa, vrsta staa) je opisni entitet za osnovni entitet RADNIK. Asocijativni tip entiteta je koncept strukture koji slui za predstavljanje veze tipa M : M izmeu dva ili vie egzistencijalno nezavisnih tipova entiteta u

10

Relacioni model

modelu podataka. Pr.: osnovni entiteti RADNIK i ZANIMANJE povezani su asocijativnim entitetom OSPOSOBLJEN. Odreujui tip entiteta. Tipovi entiteta mogu odreivati druge tipove entiteta. Atributi entiteta mogu imati ulogu identifikacije ili oznaavanja nekih drugih s njima povezanih entiteta. Tako u tipu entiteta RADNIK moe postojati atribut koji oznaava entitet organizacione jedinice u kojoj radnik radi. Tip entiteta ORG. JED. je odreujui entiete a RADNIK je odreeni (oznaeni) entitet. Odreujui tipovi entiteta su oni koji su povezani s nekim drugim tipom entiteta vezom tipa 1 : M. Tip entiteta podtip, nadtip. Tip entiteta NADTIP se dobija generalizacijom. Generalizacija je apstrakcija u kojoj skup slinih objekata predstavljamo kao generiki objekat. Obrnuto od generalizacije je specijalizacija odnosno utvrujemo od kojih se podtipova sastoji generiki tip. Pr.:
RADNIK STATUS RUKOVODILAC NERUKOVODILAC INENJER POSAO SEKRETAR PROGRAMER

SPECIJALNOST ELEKTRO MAINSKI

Grupni tip entiteta. Agregacija je apstrakcija u kojoj se skup entiteta (objekata) i njihovih veza tretira kao jedan objekat na viem nivou. U RM/T modelu se niz tipova entiteta proglaava jednim tipom entiteta koji se naziva AGREGIRANI ili GRUPNI entitet. Pr.:
PREDAVANJE

NASTAVNIK

PREDMET

11

Relacioni model

KATALOG PROIRENOG RELACIONOG MODELA je njegov renik podataka u kome su opisani koncepti i veze izmeu koncepata modela. Katalog je model RM/T modela, i to model definisan relacijama, pa je on meta relacioni model RM/T modela. Katalog sadri: relaciju za popis relacija u modelu, relacije za popis atributa u modelu, popis domena u modelu, veze relacija i atributa, popis kategorija za za generalizaciju, veze relacija i kategorija, veze atributa i domena.

12

You might also like