22
Relacione baze podataka i relaciona algebra

Relacione baze podataka i relaciona algebra - matf.bg.ac.rs · podskup skupa podataka iz baze. • Relacioni model uključuje dva formalna jezika za rad sa relacijama: relacionu algebru

  • Upload
    others

  • View
    19

  • Download
    1

Embed Size (px)

Citation preview

Relacione baze podataka i relaciona algebra

Baza podataka

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

DBMS)• Sistem baza podataka

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

ANSI arhitektura sistema bazapodataka

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.

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

Strukturni deo relacionog modela

• Domen • Relacija (tabela)

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

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

relacija(tabela).

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.

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.

Osnovne operacije

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

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)}

Projekcija

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.

Restrikcija

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)

Operacije nad skupovima

Operacije nad skupovima

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 ]}

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}

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))

Primeri deljenja