23
Relacione baze podataka i relaciona algebra

Relacione baze podataka i relaciona algebra - matf.bg.ac.rs · ANSI arhitektura sistema baza podataka • Srednji nivo se naziva modelom podataka, kojim se predstavlja logička struktura

  • Upload
    ngohanh

  • View
    269

  • Download
    1

Embed Size (px)

Citation preview

Page 1: Relacione baze podataka i relaciona algebra - matf.bg.ac.rs · ANSI arhitektura sistema baza podataka • Srednji nivo se naziva modelom podataka, kojim se predstavlja logička struktura

Relacione baze podataka i relaciona algebra

Page 2: Relacione baze podataka i relaciona algebra - matf.bg.ac.rs · ANSI arhitektura sistema baza podataka • Srednji nivo se naziva modelom podataka, kojim se predstavlja logička struktura

Baza podataka

• Baza podataka• SUBP (sistem za upravljanje bazom podataka,

DBMS)• Sistem baza podataka

Page 3: Relacione baze podataka i relaciona algebra - matf.bg.ac.rs · ANSI arhitektura sistema baza podataka • Srednji nivo se naziva modelom podataka, kojim se predstavlja logička struktura

ANSI arhitektura sistema bazapodataka

• Arhitektura najvećeg broja sistema podataka odgovara predlogu ANSI arhitekture koja se sastoji iz tri nivoa:– unutrašnji nivo– konceptualni (logički) nivo– spoljašnji nivo

Page 4: Relacione baze podataka i relaciona algebra - matf.bg.ac.rs · ANSI arhitektura sistema baza podataka • Srednji nivo se naziva modelom podataka, kojim se predstavlja logička struktura

ANSI arhitektura sistema bazapodataka

Page 5: Relacione baze podataka i relaciona algebra - matf.bg.ac.rs · ANSI arhitektura sistema baza podataka • Srednji nivo se naziva modelom podataka, kojim se predstavlja logička struktura

ANSI arhitektura sistema bazapodataka

• Srednji nivo se naziva modelom podataka, kojim se predstavlja logička struktura podataka u bazi i skup operacija koje korisnik može izvršiti nad podacima.

Page 6: Relacione baze podataka i relaciona algebra - matf.bg.ac.rs · ANSI arhitektura sistema baza podataka • Srednji nivo se naziva modelom podataka, kojim se predstavlja logička struktura

• Model podataka može se posmatrati kao kolekcija tri skupa:– strukturni deo – manipulativni deo– integritetni deo

Page 7: Relacione baze podataka i relaciona algebra - matf.bg.ac.rs · ANSI arhitektura sistema baza podataka • Srednji nivo se naziva modelom podataka, kojim se predstavlja logička struktura

Strukturni deo relacionog modela

• Domen • Relacija (tabela)

– Atribut (kolona)– N-torka (vrsta)

Page 8: Relacione baze podataka i relaciona algebra - matf.bg.ac.rs · ANSI arhitektura sistema baza podataka • Srednji nivo se naziva modelom podataka, kojim se predstavlja logička struktura

• Relaciona baza podataka je skup relacija.• Relaciona shema je opis strukture

relacija(tabela).

Page 9: Relacione baze podataka i relaciona algebra - matf.bg.ac.rs · ANSI arhitektura sistema baza podataka • Srednji nivo se naziva modelom podataka, kojim se predstavlja logička struktura

Manipulativni deo relacionog modela

• predstavlja formalizam za definisanje relacionog izraza opšteg oblika, čija je vrednost proizvoljni podskup skupa podataka iz baze.

• Relacioni model uključuje dva formalna jezika za rad sa relacijama: relacionu algebru i relacioni račun zasnovan na predikatskom računu prvog reda. Ovi formalizmi su ekvivalentni u pogledu izražajne moći.

Page 10: Relacione baze podataka i relaciona algebra - matf.bg.ac.rs · ANSI arhitektura sistema baza podataka • Srednji nivo se naziva modelom podataka, kojim se predstavlja logička struktura

Relaciona algebra

• Relaciona algebra je skup operacija nad relacijama.

• Relacioni izraz u relacionoj algebri se sastoji od niza operacija nad odgovarajućim relacijama.

• Rezultat relacionog izraza je relacija.

Page 11: Relacione baze podataka i relaciona algebra - matf.bg.ac.rs · ANSI arhitektura sistema baza podataka • Srednji nivo se naziva modelom podataka, kojim se predstavlja logička struktura

Osnovne operacije

1. Projekcija2. Restrikcija (selekciju)3. Proizvod4. Unija5. Presek6. Razlika7. (Prirodno) Spajanje8. Deljenje

Page 12: Relacione baze podataka i relaciona algebra - matf.bg.ac.rs · ANSI arhitektura sistema baza podataka • Srednji nivo se naziva modelom podataka, kojim se predstavlja logička struktura

Projekcija

• Projekcija je izbor atributa jedne relacije. Ako je R(A1,…,A n) relacija i X {A1,…,A n} i Y={A1,…,A n}\X, (tada se relacija R(A1,…,A n) može zapisati i kao R(X,Y)) onda je projekcija R na X:

• R[X]={x|(y) (x,y)R(X,Y)}

Page 13: Relacione baze podataka i relaciona algebra - matf.bg.ac.rs · ANSI arhitektura sistema baza podataka • Srednji nivo se naziva modelom podataka, kojim se predstavlja logička struktura

Projekcija

Page 14: Relacione baze podataka i relaciona algebra - matf.bg.ac.rs · ANSI arhitektura sistema baza podataka • Srednji nivo se naziva modelom podataka, kojim se predstavlja logička struktura

Restrikcija• Ako je R(A1,…,A n) relacija i P neki logički uslov nad D1 x D2 x

... x Dn domenom relacije P: D1 x D2 x ... x Dn →{T, }, tada je restrikcija (naziva se i selekcija) po uslovu P horizontalno sečenje relacije, tj. izbor vrsta koje zadovoljavaju uslov P:

R[P] = { x | x R P(x) }

• Rezultat je relacija sa istim atributima kao i polazna, ali sa manje vrsta.

• Argumeti logičkog izraza su poređenja vrednosti dva atributa date relacije ili atributa i konstante iz odgovarajućeg domena.

Page 15: Relacione baze podataka i relaciona algebra - matf.bg.ac.rs · ANSI arhitektura sistema baza podataka • Srednji nivo se naziva modelom podataka, kojim se predstavlja logička struktura

Restrikcija

Page 16: Relacione baze podataka i relaciona algebra - matf.bg.ac.rs · ANSI arhitektura sistema baza podataka • Srednji nivo se naziva modelom podataka, kojim se predstavlja logička struktura

Operacije nad skupovima

• unija – UNION• presek – INTERSECT• razlika – MINUS• Dekartov proizvod - TIMES• Unija, presek, razlika – nad relacijama unijski

kompitabilnim relacijama (imaju isti broj atributa i iste odgovarajuće domene)

Page 17: Relacione baze podataka i relaciona algebra - matf.bg.ac.rs · ANSI arhitektura sistema baza podataka • Srednji nivo se naziva modelom podataka, kojim se predstavlja logička struktura

Operacije nad skupovima

Page 18: Relacione baze podataka i relaciona algebra - matf.bg.ac.rs · ANSI arhitektura sistema baza podataka • Srednji nivo se naziva modelom podataka, kojim se predstavlja logička struktura

Operacije nad skupovima

Page 19: Relacione baze podataka i relaciona algebra - matf.bg.ac.rs · ANSI arhitektura sistema baza podataka • Srednji nivo se naziva modelom podataka, kojim se predstavlja logička struktura

Slobodno spajanje

• Slobodno spajanje je restikcija proizvoda dveju relacija po nekom uslovu zadatom na dvaatributa ovih relacija: ako je Ө neka binarna relacija na nekom domenu, i Ai i Bj atributi relacija A i B nad istim domenom, tada je slobodno spajanje relacija A i B:

(A times B) where AiBj = { (a^b) | aA bB a[Ai] b[Bj ]}

Page 20: Relacione baze podataka i relaciona algebra - matf.bg.ac.rs · ANSI arhitektura sistema baza podataka • Srednji nivo se naziva modelom podataka, kojim se predstavlja logička struktura

Prirodno spajanje (JOIN)

• Ako su A(A1,A2,...,An) i B({B1,B2,...,Bm) relacije iX{A1,A2,...,An} i Y{B1,B2,...,Bm} skupovi atributa istih domena koji su iste kardinalnosti (|X|=|Y|), a skupovi atributa Z i W sadrže preostale atribute ovih relacija Z={A1,A2,...,An} \X i W= {B1,B2,...,Bm}\Y, rezultat prirodnog spajanja relacija A i B po skupovima X i Y je spoj onih vrsta iz A i B koje imaju iste vrednosti nad X i Y:

A JOIN B={(z,x,w) | (z,x)A (x,w)B}

Page 21: Relacione baze podataka i relaciona algebra - matf.bg.ac.rs · ANSI arhitektura sistema baza podataka • Srednji nivo se naziva modelom podataka, kojim se predstavlja logička struktura

Deljenje (DIVIDEBY)

• Ako su A(A1,A2,...,An) i B(B1,B2,...,Bm) relacije iY{A1,A2,...,An} i Z{B1,B2,...,Bm} skupovi atributa istih domena koji su iste kardinalnosti (|Y|=|Z|), a X= {A1,A2,...,An} \Y, rezultat deljenja relacije A i B po skupovima Y i Z je maksimalni podskup projekcije relacije A na atribute X koji je u relaciji A sa svakom m-torkom relacije B:

A[Y:Z]B={ x | xA[X] {x}xB[Z] A }tj. x A[Y:Z]B (zZ)(x^zA(X,Y))

Page 22: Relacione baze podataka i relaciona algebra - matf.bg.ac.rs · ANSI arhitektura sistema baza podataka • Srednji nivo se naziva modelom podataka, kojim se predstavlja logička struktura

Primeri deljenja

Page 23: Relacione baze podataka i relaciona algebra - matf.bg.ac.rs · ANSI arhitektura sistema baza podataka • Srednji nivo se naziva modelom podataka, kojim se predstavlja logička struktura

Dodatni operatori

• RENAME – promena naziva atributa• SEMIJOIN – Spajanje relacija A i B

projektovano na atribute relacije A• EXTEND – proširivanje relacije novim

atributom• SUMMARIZE – omogućava sabiranje po

kolonama