You are on page 1of 32

POOPENE RELACIJSKE BAZE PODATAKA

(PORBP)
Generalized RDB

generalized relations

Complex Values Databases

nested relations

Complex objects

U konvencionalnom relacijskom modelu pretpostavljamo


da su relacijske sheme u 1NF. Navedeno znai da su svi
atributi sheme relacijske baze podataka jednostavni, tj.
domene atributa se sastoje od atomarnih objekata .
Zahtjevom za boljom reprezentacijom dolazimo do
relacijskih shema koje su u viim normalnim formama
(2NF, 3NF, BCNF, 4NF, 5NF, 6NF).

Aplikacije: (CAD-sustavi, procesiranje teksta,


temporalne baze podataka, multimedijske baze podataka)
zahtijevaju relacije ija se shema sastoji i od sloenih
atributa;
atribut A je sloen ako njegova domena, dom(A), sadri
barem jedan sloeni objekt (skup, lista, relacija,..).
U nastavku emo shemu R = A1, A2,.., Ak pisati u
obliku R ( A1, A2,.., Ak).

(R, F) je u poopenoj normalnoj formi (PONF) ako je


svaki atribut iz R jednostavan ili sloen.
(pretpostavljamo da su vrijednosti sloenih atributa
relacije) .
Za relaciju r nad R kaemo da je PONF relacija.
PONF poopenje 1NF .
U daljem emo koristiti sljedeu karakterizaciju
Ako je (R, F) u X normalnoj formi (XNF), onda za
relaciju r nad R kaemo da je XNF relacija

Primjer
Neka je zadana relacija r nad shemom
R ( Radnik#, Mentor), gdje je R u 1NF
r (Radnik# Mentor)
===============
R1
Murn
R2
Murn
R3
Murn
R4
Lovri
R5
Lovri

r je 1NF relacija.

Informaciju iz r mogue je prikazati kompaktnije


koristei relaciju r1 nad relacijskom shemom
R1(Rad(Radnik#), Mentor), gdje je R1 u PONF.

r1( Rad (Radnik#), Mentor)


=====================
R1
Murn
R2
R3

R4
R5

Lovri

r1 je PONF relacija.

atribut Rad je sloen

Primjer
Razmotrimo PONF relaciju
r(A D(B C))
==========
22 22
1
11 22

1 1

t1
t2

Semantika: Shema relacije r je SH(r) = R(A, D(B, C));


atribut A je jednostavan, a atribut D je sloen;
vrijednosti od D su relacije nad (B, C) ;

Vrijedi:
t1[A] = 1 , t1[D] = (B C) , t1[D] t2[D]
=====
2 2
1 2

PARTICIJSKA NORMALNA FORMA (PNF)


Primjer
Neka je zadana relacija

r(S# Prezime Predmet(P-ime Ocjena))


===============================
S1 Mrak
Mat
Mat 33
Fiz
Fiz 44
S1

Mrak

BPBP 33

U r ne vrijedi S#, Prezime Predmet

Bolja reprezentacija je :
r2(S# Prezime Predmet(P-ime Ocjena))
==============================
S1

Mrak

Mat
Mat
Fiz
Fiz
BP
BP

33
44
33

U r2 vrijedi S#, Prezime Predmet

PNF
Neka je zadana PONF relacija r(X Y) , gdje su u X
jednostavni atributi, a u Y su sloeni atributi
Kaemo da je r u PNF ako X Y vrijedi u r , i
(t r) (A Y) (relacija tA je u PNF).
Propozicija
Svaka 1NF relacija je u PNF .

RELACIJSKI OPERATORI
U ovom odjeljku razmotrit emo dva nova operatora,
grupiranje Gr i rastavljanje Ra, te proirenja
konvencionalnih relacijskih operatora na PONF
relacije:
p , p , p , p , p , p , p.
Kada se PONF reducira na 1NF, proirenja
operatora se reduciraju na odgovarajue operatore ,
, , , , , na 1NF relacijama

GRUPIRANJE

Gr

Neka je zadana relacija r(B1,.., Bk, Bk+1,.., Bn); neka je C


atribut koji se ne pojavljuje u SH(r). Grupiranje relacije
r po atributima Bk+1,.., Bn agregiranim u C , je
relacija GrC(Bk+1,.., Bn)(r) :
(a) SH(GrC(Bk+1,.., Bn)(r)) = (B1,.., Bk, C(Bk+1,..,Bn))
(b) Slogovi u Gr dobiju se iz slogova iz r agregiranjem
slogova koji imaju jednake vrijednosti na B1,.., Bk.

Formalno,
t GrC(Bk+1,.., Bn)(r) ako i samo ako
(1) u r (tB1,.., Bk = uB1,.., Bk) , i
(2) tC = vBk+1,.., Bn v r i
vB1,.., Bk = tB1,.., Bk

Primjer Neka je zadana relacija


r(A B C)
========
2 1 1
2 0 1
3 1 2

Tada je

GrD(B, C)(r) (A D(B C))


======================
2
11 11
00 11
3

1 2

RASTAVLJANJE

Ra

Neja je zadana relacija r(B1,.., Bm, B(A1,.., Ak)) ,


gdje je B sloeni atribut .
Rastavljanje od r s obzirom na B je relacija
RaB(r) definirana ovako:
(1) SH(RaB(r)) = (B1,.., Bm, A1,.., Ak)
(2) t RaB(r) ako i samo ako
u r (tB1,.., Bm = uB1,.., Bm i tA1,.., Ak uB)

r(A B C(D E(F G)))


================
1 2

3
3

1 2

Primjer
Neka je zadana relacija

22
2
00
0

Odredimo
RaE(F, G)(r)

22 22
211 211
100 111
0 1

RaE(F, G)(r)
(A B C(D F G))
===============
3 2 2
1 2
3 1 0

22
2
11
1

1 2

4 2 2
4 1 1
4 0 1

Propozicija
Operator Ra je inverz od Gr , tj. r = RaA( GrA(Y)(r) )
Propozicija
Operator Gr nije inverz od Ra , tj. postoji relacija r
takva da je
r GrA(Y)( RaA(Y)(r) ).

Primjer
Razmotrimo relaciju

r(Izlet Posjeta(Grad Dan))


======================
I1
Split 1
I1

Rijeka 1
Pula 2

I2

Zadar 3

Izraunajmo GrPosjeta(Grad Dan)( RaPosjeta(r) )

RaPosjeta(Grad Dan)(r) (Izlet Grad Dan)


==================================
I1 Split
1
I1 Rijeka 1
I1 Pula
2
I2 Zadar 3
GrPosjeta(Grad Dan)(Ra (r)) (Izlet Posjeta(Grad Dan))
==========================================
I1
Split 1
Rijeka 1
Pula 2
I2

Vrijedi Gr(Ra(r)) r

Zadar 3

Propozicija
Neka je r(X A(Y)) u PNF , gdje je X Y = i A
XY. Tada,
r = GrA(Y)( RaA(Y)(r) )
Propozicija
Klasa PNF relacija je zatvorena s obzirom na Ra
Propozicija
Klasa PNF nije zatvorena s obzirom na Gr

Primjer
Razmotrimo relaciju

Relacija r je u PNF

r(A B C(D E))


============
22 22
1 2
1 3

1 0
GrB1(B)(r)(A B1(B) C(D E))
========================
1 2
2 2
1

1 0

Kako A B1, C ne vrijedi u Gr(r), zakljuujemo da


Gr(r) nije u PNF

Propozicija
Neka je r(X Y ) takva relacija gdje su u X jednostavni,
a u Y sloeni atributi . Neka je Z XY, Z X .
Tada,
GrA(Z)(r) je u PNF ako i samo ako
X Y vrijedi u r i (X Z) Z vrijedi u r

Cilj:
Proiriti tradicionalne relacijske operatore tako da klasa
PNF relacija bude zatvorena s obzirom na definirana
proirenja.
UNIJA

Primjer
Neka su zadane relacije r1(R1), r2(R1)
r1(A B(C D))
===========
1
2 2
1 0

1 1

r2(A B(C D))


===========
1
2 1
1 0

2 2

Uoite da r1 r2 ne uva PNF, tj. klasa PNF nije


zatvorena s obzirom na operator .
Sada raunamo r1 p r2
r1 p r2 (A B(C D)
=================
1 2 2
1 0
2 1

1 1

2 2

Unija p
Neka su zadane relacije r1(X Y) , r2(X Y) , gdje su u X
jednostavni, a u Y sloeni atributi
(1)SH(r1 p r2) = SH(r1) = SH(r2)
(2)
a)
b)
c)

t r1 p r2 ako i samo ako


t r1 i (t1 r2)(Ai X) (tAi t1Ai) , ili
t r2 i (t1 r1)(Ai X) (tAi t1Ai) , ili
(t1 r1)(t2 r2) (Ai X)(Bj Y) :
tAi = t1Ai = t2Ai i
tBj = t1Bj p t2Bj

PRESJEK

r1(X Y) , r2(X Y) ,
X = A R A je jednostavan atr.,
Y = B R B je sloen atr..
(1) SH(r1 p r2) = SH(r1) = SH(r2)
(2) t (r1 p r2) ako i samo ako
(t1 r1)(t2 r2 ) (Ai X)(Bj Y) :
tAi = t1Ai = t2Ai i tBj = t1Bj p t2Bj
i tBj

Dakle, slogovi t1 i t2 daju u presjeku t ako se t1 i t2


podudaraju na svim jednostavnim atributima X , i imaju
neprazan proireni presjek na svakom sloenom atributu
iz Y .

RAZLIKA p

r1(X Y) , r2(X Y) ,
X = A R A je jednostavan atr.,
Y = B R B je sloen atr..
(1) SH(r1 p r2) = SH(r1) = SH(r2)
(2) t (r1 p r2) ako i samo ako
a) t r1 i (t1 r2)(Ai X): tAi t1Ai , ili
b) (t1 r1)(t2 r2) (Ai X)(Bj Y) :
tAi = t1Ai = t2Ai i tBj = t1Bj p t2Bj
i tBj .

Dakle, u p su oni slogovi iz r1 koji se ne podudaraju


niti s jednim slogom iz r2 na skupu jednostavnih atributa
X , ili ako se podudaraju, onda imaju nepraznu, proirenu
razliku na svakom sloenom atributu iz Y

PRIRODNO SPAJANJE

Primjer
s1(A B C(D E))
===============
e1 b1
c1 d1
c1 d3
c3 d4
e3 b2

c3 d2

e4 b1

c3 d1
c4 d2

p
s2(F B C(D E))
===============
a1 b1 c1 d1
c2 d2
c1 d3

a2 b1

c3 d1
c2 d2
c1 d1

a2 b2

c1 d2
c3 d2

s1 p s2 (A B F C(D E))
========================
e1 b1 a1

c1 d1
c1 d3

e1 b1 a2

c1 d1

e4 b1 a2

c3 d1

e3 b2 a2

c3 d2

Zadatak1
Definirajte operator p.

PROJEKCIJA p
Primjer
Izraunajmo p F C(s1 p s2), gdje je s1 p s2
dano u prolom primjeru.
Rezultat je relacija:
p F C(s1 p s2) (F C(D E))
==========================
a1
c1 d1
c1 d3

a2

c1 d1
c3 d1
c3 d2

Zadatak2
Definirajte
operator p .

Rjeenje (zadatak1):
Definiramo r1 p r2 .
r1(R1), r2(R2) , X = A R1 R2 A je sloen atr.,
Y = R1 X , Z = R2 X .
(1) SH(r1 p r2) = R1 R2 = (Y X Z)
(2) t (r1 p r2) ako i samo ako
(u r1)(v r2) : tY = uY i tZ = vZ i
tX = uX p vX

Rjeenje (zadatak2):
Definiramo eV(r) .
r(R) , V R , V .
(1) SH(eV(r)) = V
(2 eV(r) = p (t) , gdje t V(r)
Definicija kartezijevog produkta ostaje nepromijenjena;
Definicija selekcije zahtijeva redefiniranje pojma formule

You might also like