390 likes | 651 Views
Relacijska algebra. Katarina Soldat Dajana Stanić Lorena Škalac Sanja Šokac Eva Zetović. Uveo ju je Edgar Frank Codd Svodi se na izvrednjavanje algebarskih izraza, građenih od relacija, unarnih i binarnih operatora Rezultat algebarskih operacija je relacija
E N D
Relacijska algebra Katarina Soldat Dajana Stanić Lorena Škalac Sanja Šokac Eva Zetović
Uveo ju je Edgar Frank Codd • Svodi se na izvrednjavanje algebarskih izraza, građenih od relacija, unarnih i binarnih operatora • Rezultat algebarskih operacija je relacija • Svaki algebarski izraz predstavlja jedan upit (pretraživanje) u bazu
Edgar Frank Codd(Portland, Dorset, Engleska, 23. kolovoza, 1923. – 18. travnja, 2003.) • značajno doprinjeo teoriji relacijskih baza podataka • dok je radio za IBM(International Business Machines), stvorio je relacijski model za upravljanje bazom podataka • dobio je Turingovu nagradu 1981.
Skupovni operatori • Relacije su skupovi n-torki • R unija S (RS) –skup svih n-torki koje su ili u R ili u S ili u obje relacije • R presjek S (RS)- skup svih n-torki koje su i u R i u S • R razlika S (R\S)- skup svih n-torki koje su u R i nisu u S • relacije R i S su kompatibilne kada imaju isti stupanj i iste atribute(imena i tipove). • RS=R\(R\S)
Unija • unija dvaju skupova R i S je skup T koji se sastoji od svih elemenata koji pripadaju bilo kojem od skupova R ili S • samo nad kompatibilnim tablicama • oznaka za uniju je „ ∪ “ • komutativnost (R1 ∪ R2=R2 ∪ R1) • asocijativnost (R1 ∪ (R2 ∪ R3)=(R1 ∪ R2) ∪ R3)
Presjek • presjek dvaju skupova R i S je skup T koji se sastoji od svih elemenata koji pripadaju i skupu R i skupu S • samo nad kompatibilnim tablicama • oznaka za presjek je „ ∩ “ • komutativnost (R1 ∩ R2=R2 ∩ R1) • asocijativnost (R1 ∩(R2 ∩ R3)=(R1 ∩ R2) ∩ R3).
Razlika • razlika dvaju skupova R i S je skup T koji se sastoji od svih elemenata koji pripadaju skupu R i ne pripadaju skupu S • samo nad kompatibilnim tablicama • oznaka za razliku je „-“ • operacija nije komutativna R1-R2 ≠R2-R1
Kartezijev produkt dviju relacija R(A1, A2, ..., An) i S(B1,B2, ..., Bn) je nova relacija T(A1, A2, ..., An, B1, B2, ...,Bn) • Sastoji se od n-torki nastalih spajanjem svake n-torke relacije R sa svakom n-torkom relacije S • Kartezijev produkt kao skup n-torki može, a ne mora biti relacija KARTEZIJEV PRODUKT
KARTEZIJEV PRODUKT Općenito za kartezijev produkt tablica vrijedi Ako je R (m × n) i S (k × l ) onda je T:=R × S (m•k, n+l)
Upit1 : Pronađi brojeve soba svih nastavnika NASTAVNIK REZULTAT := NASTAVNIK[soba]
Upit2 : Pronađi ime nastavnika koji predaje kolegij 1123 KOLEGIJ REZULTAT := (KOLEGIJ where kolegij = 1123)[nastavnik]
SELEKCIJA Unarna operacija Oznaka : σ Izdvaja određeni skup n-torki koje zadovoljavaju određeni uvjet Selekciju na relaciju R označavamo s R where B
Upit1 : Pronađi sve studente druge godine STUDENT REZULTAT := STUDENT where godina = 2
Upit2 : Pronađi sve studente koji su iz kolegija 1135 dobili više od 2 ISPIT REZULTAT:= ISPIT where ((kolegij = 1135)AND(ocjena > 2))
SPAJANJE operacija kojom se iz dvije relacije kreira izvješće izvodi se u 2 koraka od dvije relacije djelovanjem Kartezijevog produkta tvori se treća selekcijom se izdvoje n-torke koje zadovoljavaju postavljeni uvjet
VRSTE SPAJANJA unutrašnje spajanje vanjsko spajanje prirodno spajanje theta spajanje
UNUTRAŠNJE SPAJANJE spajaju se redovi tablica po istim vrijednostima zajedničkog atributa Primjer:
VANJSKO SPAJANJE desni vanjski spoj (right outer join) lijevi vanjski spoj (left outer join) potpuni vanjski spoj (full outer join)
DESNO VANJSKO SPAJANJE proširuje unutrašnje spajanje dodaju se oni elementi tablice s desne strane koji ne sudjeluju u vezi
LIJEVO VANJSKO SPAJANJE proširuje unutrašnje spajanje dodaju se oni elementi tablice s lijeve strane koji ne sudjeluju u vezi
POTPUNO VANJSKO SPAJANJE unija lijevog i desnog vanjskog spajanja relacija Primjer:
PRIRODNO SPAJANJE binarni operator primjenjiv na dvije relacije R i S koje imaju bar jedan zajednički atribut sastoji se od svih n-torki dobivenih spajanjem jedne n-torke iz R s jednom n-torkom iz S koja ima iste vrijednosti zajedničkih atributa
THETA SPAJANJE selekcija Kartezijevog produkta relacija R i S opisana formulom A<operator>B n-torke relacije R spojene s n-torkama relacije S koje udovoljavaju uvjetu A<operator>B theta-operatori - =, ≠, <, ≤, >, ≥
Primjer: R S R[B=E]S
Dijeljenje T := R ÷ S Dijeljenjem relacija R i S dobijemo novu relaciju T T je najveća moguća relacija sa svojstvom da sve n-torke relacije T spojene sa svim n-torkama relacije S daju n-torke sadržane u R R = (A1,A2,...,Ap,Ap+1,...,An) S = (Ap+1,...,An) T = (A1,A2,...,Ap) Oznaka: R[A/B]S ili DIJELJENJE(R,S,A/B)
ZAKLJUČAK Mogućnost stvaranja novih relacija iz postojećih Operacije relacijske algebre primjenjuju se uvijek u kombinaciji, na taj se način iz malog broja osnovnih operacija može izvesti veliki broj kombinacija za obradu i izradu podataka
LITERATURA http://marjan.fesb.hr/~emudnic/Download/BazePodataka2/56315396-BP-VEST-Skripta.pdf http://grdelin.phy.hr/~ivo/Nastava/Baze_podataka/predavanja-2002/05_Rel_Algebra.pdf Robert Manger – Baze podataka (skripta) Branimir Dukić – Baze podataka i poslovni procesi http://jadran.izor.hr/~dadic/EKO/baze-podataka.pdf