610 likes | 1.01k Views
RELACIONE BAZE PODATAKA. -Relaciona algebra-. RELACIONI MODEL. RELACIONA ALGEBRA. VRSTE TABELA se tretiraju kao MATEMATICKE RELACIJE. baziran je na jednostavnom KONCEPTU TABELA. Moguca je FORMALNO-MATEMATICKA INTERPRETACIJA TABELA. Zatim se koristi BOGATSTVO MATEMATICKOG APARATA.
E N D
RELACIONE BAZEPODATAKA -Relaciona algebra-
RELACIONI MODEL RELACIONA ALGEBRA VRSTE TABELA se tretiraju kao MATEMATICKE RELACIJE baziran je na jednostavnom KONCEPTU TABELA Moguca je FORMALNO-MATEMATICKA INTERPRETACIJA TABELA Zatim se koristi BOGATSTVO MATEMATICKOG APARATA
Tu primenu nalazi RELACIONA ALGEBRA
1 1 2 3 4 5 RELACIONA ALGEBRA Teorijska (matematicka)notacija, ne praktican jezik neposredno primenljiv Uveo E.F. Codd 70-tih godina 20. veka RELACIONI IZRAZ-kompozicija operacija I relacija na koje se iste primenjuju Reprezentujeskup svojstava koja treba da podrzava svaki upitni jezik Svodi se na RELACIONE IZRAZE LOGICKA OSNOVA UPITNIH JEZIKA
Algebraje formalni matematciki sistem koji se sastoji od skupa objekata i operacija nad tim objektima RELACIONU ALGEBRU DEFINISEMO KAO FAMILIJU ALGEBRI sa dobro zasnovanom semantikom koja seKORISTI ZA MODELIRANJE RELACIJA(objekata) smeštenih u relacionoj bazi podataka i zaDEFINISANJE UPITA NAD NJIMA
RELACIONA ALGEBRA Za definiciju formalnog sistema je potrebno: • Prikazati sintaksu • Dati semantiku • Dati pravila izvođenja dokaza
RELACIONA ALEBRA-operacije- • Relacionu algebru ciniskup od 8 operacijakoje se dele na: -Podela- IZVEDENE ELEMENTARNE
RELACIONA ALGEBRA-operacije- ELEMENTARNE IZVEDENE • PRESEK • UNIJA • RAZLIKA • PROJEKCIJA • DELJENJE • RESTRIKCIJA • DEKARTOV PROIZVOD • SPAJANJE
RELACIONA ALGEBRA-operacije- Klasifikacija prema BROJU OPERANADA BINARNE UNARNE
SINTAKSA _____________________________________________________________________________ RELACIONI IZRAZ ROParg1 arg2 ... argn ROP -relacioni operator argi – relacije koje su argumenti relacionog operatora
RELACIONA ALGEBRA SEMANTIKA___________________________________ • U opisu semantike se koristi: RELACIJE predstavljajuSKUPOVE_TORKI • OPERACIJE NAD SKUPOVIMA • predstavljaju • preslikavanja domena relacija u novi domen
RELACIONO ZATVORENJE Osobina da su i argumenti i rezultat primene bilo kog relacionog operatora takođe relacije se naziva RELACIONO ZATVORENJE Treba obezbediti da i novodobijene relacije imaju odgovarajuce zaglavlje (sa jedinstvenim nazivima atributa) i odogovarajuce telo, bez obzira da li su u pitanju osnovne ili izvedene relacije
Restrikcija(selekcija) Trazenje torki koje zadovoljavaju postavljeni uslov
Restrikcija(selekcija) IZ POLAZNE RELACIJE PO ZADATOM KRITERIJUMUizdvaja podskup n-torki Kriterijum je neki logicki izraz koji je izracunljiv nad svakom n-torkom Dobijena relacija ima istu strukturu kao i polazna
Restrikcija(selekcija) P(r) -NOTACIJA- P– uslov za selekciju Pse sastoji iz clanova koji su povezani sa: (and), (or), (not) <atribut>op <atribut> ili <konstanta> gde jeopjedan od: =, , >, , <,
Restrikcija(selekcija) PRIMER BrInd=‘125/2004’(student) ILI ime=‘ Pale ’(grad)
Restrikcija(selekcija) • Relacijar A B C D 1 5 12 23 7 7 3 10 • A=B ^ D > 5(r) A B C D 1 23 7 10
Restrikcija(selekcija) restrikcija: y>2 restrikcija: y>=2 and X=‘B'
Projekcija() Izdvajanje potrebnih atributa
Projekcija() IZ POLAZNE RELACIJE po zadatom skupu atributa formira se nova relacija kao skup n-torki nad tim atributima Zadati skup atributa mora biti podskup skupa atributa polazne relacije Vrednosti atributa u n-torkama nastale relacije odgovaraju onima u polaznoj relaciji
Projekcija() P(r) t(USLOV) -NOTACIJA- • P– uslov za PROJEKCIJU • Primenom operacije projekcije moguce je da vise n-torki polazne relacije daje iste vrednosti • Posto rezultat operacije mora biti relacija,uzima se samo jedna rezultantna relacija
Projekcija() PRIMER odsek,profesor(fakultet) t(ODSEK,PROFESOR) ILI {ODSEK,PROFESOR}
Projekcija() A B C • Relacijar: 10 20 30 40 1 1 1 2 • A,C (r) A C A C 1 1 1 2 1 1 2 =
Unija() • SINTAKSA AUNIONB • SEMANTIKA A B = {t | t A t B}
Unija() iz dve polazne relacije formira novu koja sadrzi sve n-torke iz obe relacije UNIJSKA KOMPATIBILNOST • Atributi sema relacijamorajuredom odgovarati po znacenju i tipu (ne mora po nazivu) • Seme relacija moraju imati isti broj atributa
Unija() R1R2 R -NOTACIJA- R1 , R2 – polazne relacije R- novodobijena relacija Svaka n-torka koja je prisutna u obe relacije pojavljuje sesamo jednomu rezultantnoj
Unija() PRIMER A B AB
Unija() Primer: kredit(BR_KRED#, IME_EXP, IME_KL, IZNOS)racun(IME_EXP, BR_RAC#, IME_KL#, STANJE) Naci sve klijente koji u ekspozituri IEX imaju ili racun ili kredit IME_KL(IME_EXP=IEX(kredit)) t1 IME_KL(IME_EXP=IEX(racun)) t2 Rezultat je: t1 t2
Razlika(-) SINTAKSA A A B B DIFERENCE SEMANTIKA - A B - A B {t | t A t B}
Razlika(-) iz dve polazne relacije formira novu koja sadrzi sve n-torke prve relacije koje se ne nalaze u drugoj Ova operacija je moguca samo izmedju unijski kompatibilnih relacija
Razlika(-) R1-R2 R -NOTACIJA- R1 , R2 – polazne relacije R- novodobijena relacija
Razlika(-) PRIMER A B A-B B-A
Razlika(-) Primer: kredit(BR_KRED#, IME_EXP, IME_KL, IZNOS)racun(IME_EXP, BR_RAC#, IME_KL#, STANJE) Naci sve klijente koji u ekspozituri IEX imaju racun,a nemaju kredit IME_KL(IME_EXP=IEX(kredit)) t1 IME_KL(IME_EXP=IEX(racun)) t2 Rezultat je: t1 - t2
Presek() SINTAKSA A A B B INTERSECT SEMANTIKA A B A B {t | t A t B}
Presek() iz dve polazne relacije formira novu koja sadrzi sve n-torke prve relacije koje se nalaze u drugoj Ova operacija je moguca samo izmedju unijski kompatibilnih relacija
Presek() R1R2 R -NOTACIJA- R1 , R2 – polazne relacije R- novodobijena relacija rs = r – (r-s)
Presek() PRIMER A B AB
Presek() Primer: kredit(BR_KRED#, IME_EXP, IME_KL, IZNOS)racun(IME_EXP, BR_RAC#, IME_KL#, STANJE) Naci sve klijente koji u ekspozituri IEX imaju i racun i kredit IME_KL(IME_EXP=IEX(kredit)) t1 IME_KL(IME_EXP=IEX(racun)) t2 Rezultat je: t1 t2
A a b c a x a y b x b y c x c y proizvod x y B Dekartov proizvod() SINTAKSA A B TIMES SEMANTIKA A B {t t’| t A t’ B}
Dekartov proizvod() iz dve polazne relacije formira novu tako sto se svaka n-torka prve relacije spaja sa svakom iz druge Sema nastale relacije sadrzi sve atribute polaznih relacija
Dekartov proizvod() Licnibankar Klijenti Klijent Licnibankar
Dekartov proizvod() Relacijer, s: A A A B B C D E 1 2 10 10 20 10 a a b b r s r x s: A B C D E 1 1 1 1 2 2 2 2 10 10 20 10 10 10 20 10 a a b b a a b b
(Prirodno) Spajanje a1 b1 a2 b1 a3 b2 b1 c1 b2 c2 b3 c3 a1 b1 c1 a2 b1 c1 a3 b2 c2 Spajanje(><) SINTAKSA A B JOIN SEMANTIKA A B >< {{X:x, Y: y, Z:z} |{X:x, Y:y} A {Y:y, Z:z} B}
Spajanje(><) iz dve polazne relacijeformira se nova sa n-torkama dobijenim u dva koraka Svaka n-torka iz prve relacije redom se spaja sa svim n-torkama iz druge relacije 1 Iz tako dobijenih n-torki izdvajaju se one koje zadovoljavaju zadati uslov P 2
-spajanje Postoji i Θ spajanje za torke ciji atributi zadovoljavaju uslov XY Θ Moze biti bilo koji operator poređenja: (=,,,,,) Specijalan slucaj gde predstavlja jednakost (=) je cest slucaj u praksi
Ekvispajanje Ako je Θ definisan sa Ak = Bj, s tim da su i atributi Ak i Bj definisani nad istim domenima, tada se takvo spajanje naziva ekvispajanje u rezultatu ekvispajanja uvek se pojavljuju dve iste kolone, izbacivanjem jedne dobija se prirodno spajanje.