MANIPULATIVNI FORMALIZMI RELACIONOG MODELA l Relaciona algebra l
MANIPULATIVNI FORMALIZMI RELACIONOG MODELA l Relaciona algebra l l 9 operacija Izraz relacione algebre Vrednost - relacija Relacioni račun l l n-torki domena
MANIPULATIVNI FORMALIZMI RELACIONOG MODELA l RELACIONA ALGEBRA l l Skupovne: unija, presek, razlika, Dekartov proizvod Unarne relacione: projekcija, restrikcija Binarne relacione: slobodno spajanje, prirodno spajanje, relaciono deljenje Definicija moći
MANIPULATIVNI FORMALIZMI RELACIONOG MODELA RELACIONA ALGEBRA: PROJEKCIJA l R[X] (X Atr(R)) l l l Izbor kolona iz skupa X Eliminacija duplikata r[X] = (V 1, V 2, …, Vcard(X)) - projekcija n-torke r na atribute iz X Algebarski analogon egzistencijalnog kvantora Primer: P[P_SIF]
MANIPULATIVNI FORMALIZMI RELACIONOG MODELA RELACIONA ALGEBRA: RESTRIKCIJA -restrikcija: R[Ai Aj] (R[Ai a]) (term poređenja) l Relacioni logički izraz: l l l l l Term poređenja NOT (relacioni logički izraz) AND (relacioni logički izraz) OR (relacioni logički izraz) P - logički izraz R[P] ={x | x R i P(x)} Primer: P[IME=‘Branko Ćopić‘][P_SIF]
MANIPULATIVNI FORMALIZMI RELACIONOG MODELA l l l l l RELACIONA ALGEBRA: unija, presek, razlika R, S: unijski kompatibilne Eliminacija duplikata Primer RELACIONA ALGEBRA: Dekartov proizvod R 1 (card(atr(R 1))=n 1), R 2 (card(atr(R 2))=n 2) R 1 x. R 2 (card(Atr(R 1 x. R 2))=n 1+n 2) R 1 x R 2 x…x Rk=(R 1 x R 2 x…x Rk-1) x Rk Primer: P x I
MANIPULATIVNI FORMALIZMI RELACIONOG MODELA RELACIONA ALGEBRA: l Slobodno spajanje l l R[Ai Bj]S = {(r, s) | r R i s S i r[Ai] s[Bj]} l Prirodno spajanje R[X*Y]S = {(z, x, w) | (z, x) R i (y, w) S i x=y} – R*S l Primer: I*KI, P*KP, K*KI l l l Primer: P[IME=‘Branko Ćopić‘]*KP*K[NASLOV] Primer: I*KI*K[NAZIV, NASLOV]
MANIPULATIVNI FORMALIZMI RELACIONOG MODELA l RELACIONA ALGEBRA: deljenje l l R(X, Y), T(Z) R[Y: Z]T = {x | x R[X] i {x} x T(Z) R(X, Y)} l l l Relacioni analogon univerzalnog kvantifikatora Primer (R x S) : S = R l Primer izraza relacione algebre : ((I[DRZAVA=‘Jugoslavija’] * KI * K* KP * P[DRZAVA = ‘Engleska’])) [NAZIV, IME, NASLOV] l Alternative l
MANIPULATIVNI FORMALIZMI RELACIONOG MODELA l RELACIONA ALGEBRA l l DEFINE ALIAS ime-relacije-1 FOR ime_relacije-2 Relacija-1 : = relacioni_izraz
RELACIONI MODEL PODATAKA l NEDOSTAJUĆE VREDNOSTI: l. Nepoznata vrednost l. Neprimenljivo svojstvo l. Jedinstvena nedostajuća vrednost: NULL l. Proširene relacije poređenja l. Proširene relacije pripadnosti i inkluzije l. Proširena relaciona algebra
MANIPULATIVNI FORMALIZMI RELACIONOG MODELA l PROŠIRENA RELACIONA ALGEBRA: l R s S = R 1 Spoljašnja unija (nekompatibilnih relacija): – R 1 = R x (C : NULL), S 1= (A : NULL) x S l Spoljašnje slobodno (prirodno) spajanje: l R(A, B), S(C, D) l R [B p. C]S = T (R 1 x (C: NULL, D: NULL)) ((A: NULL, B: NULL) x S 1) T = R[B C]S R 1 = R T[A, B] S 1 = S T[C, D] l FULL / LEFT / RIGHT spoljašnje spajanje
MANIPULATIVNI FORMALIZMI RELACIONOG MODELA l RELACIONI RAČUN: notacija za opisivanje svojstava rezultata Primer l Codd: relacioni račun n-torki l n-torna promenljiva l Izraz relacionog računa: l – – – {(t 1, t 2, …, tk) : f} t 1, t 2, …, tk n-torne promenljive (indeksirane) – ciljna lista f formula (kvalifikacioni izraz)
MANIPULATIVNI FORMALIZMI RELACIONOG MODELA – – Atomi, operacije R(s) atom pripadnosti s [i] u[j] atom poređenja Formula: atom, f AND g, f OR g, NOT f l (f, g – formule) – Formula: ( s)(f), ( s)(f) l (f – formula) – Formula: (f) l (f – formula) – Ciljna lista: slobodne promenljive iz f
MANIPULATIVNI FORMALIZMI RELACIONOG MODELA – Primeri: {r[2] : K (r)} (naslovi svih knjiga) l {r[2] : K(r) AND r[3] = ‘roman’} (naslovi svih romana) l {(r[2], r[1]) : K(r) AND ( s)( t) (KP(s) AND P(t) AND s[1] = r[1] AND s[2] = t[1] AND t[4] = ‘Jugoslavija’)} (naslovi i šifre knjiga čiji bar jedan autor ima jugoslovensko državljanstvo) l
MANIPULATIVNI FORMALIZMI RELACIONOG MODELA l Relacioni račun n-torki: sintaksa bliska upitnom jeziku l l EXISTS, FORALL n-torna promenljiva: RANGE OF X is R Izraz relacionog računa: X 1. A 1, X 2. A 2, …, Xk. Ak WHERE f l (f - formula)
MANIPULATIVNI FORMALIZMI RELACIONOG MODELA l Primeri: RANGE OF k IS K RANGE OF kp IS KP RANGE OF p IS P k. NASLOV WHERE k. OBLAST = ‘roman’ k. NASLOV, k. K_SIF WHERE EXISTS kp (EXISTS p (kp. K_SIF = k. K_SIF AND kp. P_SIF=p. P_SIF AND p. DRZAVA = ‘Jugoslavija’))
MANIPULATIVNI FORMALIZMI RELACIONOG MODELA RELACIONI RAČUN DOMENA Domenska promenljiva Atom pripadnosti: R(Ai 1: ai 1, …, Aik: aik) (konstante ili domenske promenljive) l Primeri: l KX, PX, IX, STATUSX, IMEX, NASLOVX domenske promenljive l šifra i status izdavača čiji je naziv ‘Prosveta’: l IX, STATUSX WHERE I(I_SIF: IX, STATUS: STATUSX, NAZIV: ’Prosveta’) l Imena pisaca jugoslovenskih državljana: l IMEX WHERE P(IME: IMEX, DRZAVA: ’Jugoslavija’) l l l
MANIPULATIVNI FORMALIZMI RELACIONOG MODELA RELACIONA KOMPLETNOST RELACIONE ALGEBRE l Svođenje izraza relacionog računa n-torki na izraz relacione algebre l Za svaku n-tornu promenljivu, restrikcija l Dekartov proizvod l Restrikcija po uslovu spajanja l Kvantifikatori zdesna ulevo: l l EXISTS T - eliminacija atributa iz Rel(T) FORALL T - deljenje sa Rel(T) Projekcija na atribute iz ciljne liste
MANIPULATIVNI FORMALIZMI RELACIONOG MODELA RELACIONA KOMPLETNOST RELACIONE ALGEBRE l Primer: Naći šifre i nazive jugoslovenskih izdavača čiji je status veći od 10, i koji su 1979. godine štampali sve knjige nekog inostranog pisca l
MANIPULATIVNI FORMALIZMI RELACIONOG MODELA RANGE OF i IS I RANGE OF p IS P RANGE OF ki IS KI RANGE OF kp IS KP i. I_SIF, i. NAZIV WHERE i. DRZAVA=‘Jugoslavija’ AND i. STATUS > 10 AND EXISTS p (p. DRZAVA <> ‘Jugoslavija’ AND FORALL kp (kp. P_SIF <> p. P_SIF OR EXISTS ki (ki. GODINA = 1979 AND ki. K_SIF=kp. K_SIF AND ki. I_SIF=i. I_SIF)))
MANIPULATIVNI FORMALIZMI RELACIONOG MODELA l Svođenje na izraz relacione algebre l ((((( I[DRZAVA = ‘Jugoslavija’ AND STATUS>10] x (P[DRZAVA<>’Jugoslavija’]) x (KI[GODINA=1979] x KP) [KP. P_SIF <> P. P_SIF OR (KI. K_SIF=KP. K_SIF AND KI. I_SIF=I. I_SIF)] [I. I_SIF, NAZIV, STATUS, DRZAVA, P. P_SIF, IME, BR_NASLOVA, DRZAVA, KP. K_SIF, KP. P_SIF, R_BROJ]) : KP) [I. I_SIF, I. NAZIV] l l l
- Slides: 20