Documente Academic
Documente Profesional
Documente Cultură
Normalizare
Mihaela Elena Breabn
FII 2014-2015
Normalizare
Dependene funcionale (revizitat)
1NF, 2NF, 3NF
Forma normal Boyce-Codd (BCNF)
Dependene multivaluate (revizitat)
Forma normala 4 (4NF)
Denormalizare
Proiectarea schemei
De obicei mai multe variante de proiectare
Unele sunt (mult) mai bune dect altele
Cum alegem?
Exemplu
Schem cu anomalii
Informaii cu privire la candidatii la admitere
CNP i nume
Universitatea la care s-a aplicat
Liceele de la care provin candidaii (i oraele)
Hobby-urile candidailor
Anomalii de proiectare
Redundan
Anomalii de actualizare
Anomalii la tergere
Exemplu
Schem fr anomalii
Informaii cu privire la aplicaiile de admitere
CNP i nume
Universitatea la care s-a aplicat
Liceele de la care provin candidaii (i oraele)
Hobby-urile candidailor
Student(CNP, sNume)
Aplicatie(CNP, uNume)
Liceu(CNP, codLiceu)
Quiz
Informaii cu privire la cursurile luate de studenti
Fr anomalii
Fr pierdere de informaii
Dependene funcionale
Dependene multivaluate
Forme normale
1NF
2NF
3NF
BCNF
4 NF
Dependene funcionale
X Y dac
t1 , t 2 r, t1[X] t 2 [X] t1[Y] t 2 [Y]
r relaie peste mulimea de atribute U
X,Y submulimi ale lui U
De ce funcional?
10
Exemplu
Dependene funcionale
Student(CNP, sNume, adresa,
lCod, lNume, lOras, medie,
prioritate)
Aplicatie(CNP, uNume, uOras, data,
specializare)
medie prioritate
Care sunt dependenele funcionale pentru relaia Student?
Dar pentru relaia Aplicatie?
Ce constrngere este impus de {CNP,uNume data}
11
Quiz
R(A,B,C,D,E)
ABC
CDE
Fiecare din atributele A,B,D are cel mult 3 valori diferite.
Care este numrul maxim de valori diferite pe care l
poate lua E? (3,9,27,81?)
12
Dependene funcionale
Reguli de inferen
Reflexivitatea (FD1)
Descompunerea (FD6)
A(21)
Uniunea (FD5)
(A22)
Tranzitivitatea (FD3)
(A1)
dependene triviale
(A3)
Teorema de completitudine
13
Chei
nchideri
nchideri i chei
X U i X ' X , X ' U
Exemplu
Quiz
R(A,B,C,D,E)
ABC
AED
DB
Care sunt cheile pt. R?
17
Atribute (ne)prime
Atribut prim
Atribut neprim
Exemplu
18
R1(A, B, C, D)
F = {AB C,B D, BC A}.
AB si BC sunt singurele chei cu privire la F, deci A, B, C sunt atribute
prime
D este atribut neprim.
Dependene pline
Exemplu
R(A, B, C, D)
F = {AB C,B D, BC A}.
Toate dependenele din F sunt pline.
AB D F+ nu este dependen plin
19
20
B U-Y,
X Y F+,
Y B F+,
Y X F+.
1NF
21
2NF
Exemplu
22
R(A, B, C, D)
F = {AB C,B D, BC A}.
AB si BC sunt singurele chei
D este atribut neprim
B D F +, deci D nu este dependent plin nici de AB, nici de BC. In concluzie,
aceasta schema impreuna cu F nu este in 2NF.
Quiz
3NF
Exemplu
24
R(O, S, C)
F = {OS C, C O}
OS si SC sunt chei.
toate atributele sunt prime, deci schema este in 2NF si 3NF.
Quiz
Olimpici(concurs,an,CNP,nume)
ntr-un anumit an exist un singur ctigtor (olimpic) la
un anumit concurs. Ctigtorul e identificat prin CNP i
are asociat numele.
Olimpici nu este in 3NF. Ce probleme de inconsisten a
datelor pot s apar?
25
Quiz
Aplicaie(CNP,uNume,data,specializare)
Un student poate aplica la universitate o singur dat,
adic la o singur specializare
Universitile au date de aplicaie care nu se suprapun
Este Aplicaie n 3NF relativ la regulile specificate mai sus?
26
BCNF
27
Quiz
Aplicaie(CNP,uNume,data,specializare)
Un student poate aplica la o universitate la o singur
specializare
Universitile au date de aplicaie care nu se suprapun
Este Aplicaie n BCNF?
28
hi
ij
{ An ,..., An }
i 1 j 1
29
Exemplu
Descompunere
Student(CNP,sNume,adresa,lCod,lNume,lOras,medie,
prioritate)
1={S1(CNP,sNume,adresa,lCod,medie,prioritate),
S2(lCod,lNume,lOras)}
2={S1(CNP,sNume,adresa,lCod,lNume,lOras),
S2(sNume,lNume,medie,prioritate)}
30
Teorem
Exemplu
31
R (A,B,C)
F = {A B}.
1 = (R1(A,B), R2(A,C))
AB AC = A, AB-AC = B, A B F+
1 este de tip join fara pierdere
2 = (R1(A,B), R2(B,C)).
AB BC = B, AB-BC = A, B A F+,
AB BC = B, BC-AB = C, B C F+,
2 nu este de tip join fara pierdere cu privire la F.
Intrare:
Iesire:
=R=R1
Pasul 2.
Descompunerea lui = (R1,...,Rk), astfel incat este de tip join fara pierdere cu
privire la F si (Ri, Fi) este in BCNF i = 1, k.
Pasul 1.
Fie Ri o schema de relatie din , pentru care (Ri, Fi) nu este in BCNF.
Exista X A Fi+, A X si X nu include o cheie.
Construim S1 = X U {A}, S2 = Ri A
nlocuim Ri in prin S1, S2. k = k + 1.
Calculm FS1+ FS2+ i cheile pt. S1, S2 necesare verificrii formei BCNF
Pasul 3.
32
Exemplu
Descompunere n BCNF
Student(CNP, sNume, adresa,
lCod, lNume, lOras, medie, prioritate)
CNP sNume, adresa, medie
medie prioritate
lCod lNume, lOras
{R1(lCod,lNume,lOras),
R2(medie,prioritate),
R3(CNP,sNume,adresa,medie),
R4(CNP,lCod)}
este o descompunere de tip join fr pierdere n
BCNF
Elimin redundana?
34
d.f.? NU
BCNF? DA
Schem bun?
Dependene multivaluate
Exemplu
Dependene multivaluate
Regula corespunztoare:
CNPuNume
Exemplu extins
Aplicatie(CNP,uNume,data,specializare,hobby)
Cerine:
Regulile corespunztoare:
36
CNP,uNumedata
CNP,uNume,dataspecializare
Quiz
Fie R(A,B,C) i AB
A ia cel puin 3 valori diferite iar fiecare valoare a lui A
este asociat cu cel puin 4 valori diferite pentru B i cel
puin 5 valori diferite pentru C.
Care este numrul minim de uple n R?
37
Dependene multivaluate
Reguli
Dependene triviale
Reflexivitate (MVD1)
X Y unde XY=U
Complementariere (MVD0)
Tranzitivitatea (!=d.f.)
Intersecia
38
4NF
39
Intrare:
Iesire:
=R=R1
Calculm M={F+ ,MV+ } i cheile necesare verificrii formei 4NF
Pasul 2.
Descompunerea lui = (R1,...,Rk), astfel incat este de tip join fara pierdere cu
privire la F si (Ri,Fi,MVi) este in 4NF i = 1, k.
Pasul 1.
Fie Ri o schema de relatie din , pentru care (Ri, Fi,MVi) nu este in 4NF.
Exista X A M netrivial si X nu include o cheie.
Construim S1 = X U {A}, S2 = Ri A
nlocuim Ri in prin S1, S2. k = k + 1.
Calculm d.mv i cheile pt. S1, S2 necesare verificrii formei 4NF
Pasul 3.
40
Exemplu
Descompunere n 4NF
Exemplu extins
Aplicatie(CNP,uNume,data,specializare,hobby)
CNP,uNumedata
CNP,uNume,dataspecializare
={A1(CNP,uNume,data),
A2(CNP,uNume,specializare),
A3(CNP,uNume,hobby)}
este n 4NF de tip join fr pierdere
41
Aplicaie(CNP,uNume,data,specializare)
CNP,uNumedata,specializare
datauNume
42
Student(CNP,lNume,medie,prioritate)
CNPmedie
medie prioritate
CNP prioritate
{S1(CNP,prioritate),S2(CNP,medie),S3(CNP,lNume)} n
4NF este o schem bun?
43
Supra-descompunere
Interogri supra-ncrcate
44
Bibliografie
45