Documente Academic
Documente Profesional
Documente Cultură
Cursul 7
Normalizarea bazelor de date relaţionale
Algoritmul de descompunere → de la o
relaţie dată într-o formă normală se
ajunge la o relaţie în forma imediat
superioară.
Dependenţă de tip n:1 - o dependenţă
funcţională (DF). Exemplu:
Sala → Capacitate.
DF se numesc şi dependenţe
univoce.
Observaţie. A şi B două grupuri de atribute dintr-o tabelă – DF
9între A şi B ↔ t1(A) = t2(A) → t1(B) = t2(B), ti(A), ti(B), i=1,2
subtupluri din A respectiv B.
A - domeniul de definiţie / determinantul, B - valorilor / cel
determinat.
R o relaţie, A şi B - mulţimi de atribute → între A şi B -
dependenţă funcţională totală, DFT: A→B ↔ 2 condiţii:
DF: A→B
Nu există nici o submulţime proprie A’ a lui A ca DF: A’→B.
O DF care nu este totală este o dependenţă funcţională
parţială.
Dependenţă funcţională tranzitivă: A→B, B→C A→C
Observaţie. Dependenţele multivoce (DM) - unui element din A
corespund un ansamblu de elemente din B. Exemplu, (Sală,
An_de_Studiu), / (Sală, Cadru_ Didactic). Dependenţa
tranzitivă din cadrul DF se poate extinde şi pentru DM.
E = mulţime de dependenţe (DF / DM); E+ = mulţimea tuturor
dependenţelor tranzitive obţinute din E - numeşte închiderea
10lui E.
E şi E’ – 2 mulţimi de dependenţe şi E’ conţine dependenţele din
E + unele dependenţe obţinute din E aplicând proprietăţile
dependenţelor → E’ - acoperire a lui E ↔ E şi E’ au aceeaşi
închidere.
Proprietăţi DF - cele mai cunoscute sunt axiomele lui Armstrong
- 1974. Fie R o relaţie şi A,B,C trei mulţimi de atribute ale ei.
Pentru dependenţele funcţionale au loc următoarele axiome:
A1. Reflexivitatea A→A, mai general, dacă A’ A A→A’.
A2. Creşterea determinantului:
dacă DF: A→B
A C DF: C→B.
DF: C→B - dependenţă funcţională parţială.
A3. Tranzitivitatea:
A→B
B→C A→C.
DF: A→C - închiderea tranzitivă a primelor două
Caracterizarea mulţimilor de axiome - 2 noţiuni:
11 o mulţime de axiome - completă ↔ pornind de la o mulţime de
dependenţe E → pe baza axiomelor → toate dependenţele E+.
o mulţime de axiome închisă ↔ pornind de la E nu se pot
deduce, cu ajutorul axiomelor, dependenţe care nu fac parte din
E+.
T.Ullman (1980): Mulţimea axiomelor lui Armstrong este completă şi
închisă.
E’ - acoperire minimală ↔ acoperire a lui E & nici o parte a lui E’ nu
este acoperire.
Observaţie.
acoperirea minimală - rol important în descompunerea relaţiilor;
o mulţime de aplicaţii - mai multe acoperiri minimale.
Descompunere reversibilă = fără pierderi = recompunând relaţiile
obţinute prin descompunere → relaţia iniţială.
Relaţie ireductibilă = nu poate fi descompusă în mod reversibil.
Observaţie. Relaţie ireductibilă - o singură entitate semantică →
relaţiile ireductibile = module logice pe baza cărora se modelează
întreprinderea.
Descompunere atomică a lui R - descompunere reversibilă a lui R în
relaţii ireductibile.
3. Prima formă normală
12
Fie tabelul PERSONAL
Nu este o relaţie în 1NF:
Domiciliu = (Judeţ, Localitate, Stradă, Număr) - nu este atribut atomic,
Copil este repetitiv; câte câmpuri să se rezerve?
O relaţie este în prima formă normală (1NF) – fiecare atribut (câmp) este
atomic şi tabela nu conţine grupuri repetitive.
Trecerea unui tabel la 1NF:
atributele care nu sunt atomice se transformă în atribute atomice prin
proiectare (descompunere) şi eventual redenumire;
pentru câmpurile repetitive – introduc atâtea tuple câte apariţii are
câmpul respectiv, fiecare tuplu conţinând o apariţie a câmpului.
Reprezentarea grafică:
Eliminarea grupurilor
Tabel repetitive & atomizare Relaţie 1NF
nenormalizat
Aplicând procesul la PERSONAL → PERSONAL1
→Tabelul – cantitate mare de informaţie redundantă datorită grupului
13repetitiv. Pentru a înlătura se descompune (prin proiecţie) în două
PERS1 & COPII
MARCA# - cheie străină – asigură legătura cu tabelul PERS1 – restul
date proprii copiilor. MARCA# este cheie primară? → cheie primară
„Nume şi Prenume” + „Data-Naşterii”.
→ două tabele în prima formă normală, recompunerea tabelelor (prin
echijoin) → relaţia iniţială, deci descompunerea este fără pierderi,
adică: PERSONAL = PERS1 [MARCA# = MARCA#] COPII
4. Teorema de descompunere
Descompunerea se utilizează pentru a evita anomaliile de stocare.
Teorema de descompunere reversibilă (Delobel & Cassey 1973): R o
relaţie definită pe mulţimea atributelor Ω, R(Ω) şi A,B,C o
partiţionare a lui Ω, astfel ca DF:A→B. R(Ω)poate fi descompus
fără pierderi, în relaţiile R(Ω1 )şi R(Ω2 ), cu
Ω1=A U B – reuniunea atributelor din DF
Ω2=A U C – reuniunea atributelor care nu fac parte din DF.
→ Descompunerea – izolarea a două concepte care iniţial erau în
14acelaşi tabel → transformă o dependenţă intra-relaţie într-o
dependenţă inter-relaţie.
Dezavantaj – migrare de atribute – atributele din grupul A (Marca#) se
dublează.
5. A doua formă normală
O relaţie – în a doua formă normală (2NF), dacă 1NF & orice atribut
care nu face parte din cheia primară, DFT de cheia primară → nici un
atribut care nu face parte din cheia primară nu depinde funcţional de o
parte a cheii primare.
Relaţia PERS1 este în 2NF – MARCA# - singur atribut – celelalte
atribute DFT de cheia primară. Tabelul COPII nu este în 2NF,
(Alocaţia DF de Data - Naşterii parte a KP → nu există DFT: KP
(Nume şi Prenume, Data Naşterii)).
→ o serie de anomalii:
anomalia de inserare – nu se poate introduce Alocaţia, care depinde
de Data-Naşterii până când nu se introduce şi numele copilului, deşi
alocaţia nu depinde de acest parametru;
anomalia de ştergere – prin ştergerea numelui unui copil (care face
parte din cheia primară) – riscul pierderii legăturii dintre data naşterii
şi alocaţie;
anomalii de punere la zi – pentru a pune la zi perechea (Data-
Naşterii, Alocaţie) – 2 strategii:
15 dacă se pune la zi – prima apariţie – inconsistenţă;
pentru a pune la zi toate apariţiile – analizat fiecare articol → o
operaţie foarte costisitoare.
→ aducere la 2NF, prin T descompunerii lui Delobel & Cassey →
COPII se va descompune în COPIL1 şi COPIL2 (PERSONAL)
Se înlătură redundanţele & anomaliile - DF: Data-Naşterii→Alocaţie nu
mai este în COPIL1. Descompunere fără pierderi, adică prin
recompunere celor două tabele se regăseşte tabela iniţială:
COPII = COPIL1 [Data-Naşterii = Data-Naşterii] COPIL2
Schematic:
Teorema de
Relaţia descompunere
Relaţie 2NF
1NF
Se izolează
dependenţa parţială de
cheia primară
6. Forma a 3-a normală (3NF) şi variantele (3 ½ NF)
3NF - mai multe definiţii, dintre care 3 sunt mai importante:
16
O relaţie în 3NF (Codd ‚70 - 3NF) - 2NF & între două atribute
care nu sunt cheie nu există o dependenţă tranzitivă.
Un atribut C depinde tranzitiv de atributul A dacă au loc DF între A
şi C, A şi B, respectiv între B şi C - schema dependenţelor
funcţionale are forma: A B
C
Formulare echivalentă: o relaţie este în 3NF - 2NF & nu există DF
între atributele ce nu sunt cheie.
A doua definiţie: Codd în 1971 = forma BCNF / Boyce-Codd
Normal Form: R este în BCNF dacă pentru orice mulţime de
atribute A pentru care există un atribut din C(A) (C(A) -
mulţimea atributelor din R care nu fac parte din A), care
depinde funcţional de A, are loc proprietatea că orice atribut din
R depinde funcţional de A [Miranda&Busta, Gardarin] R –
BCNF ↔singurele DF elementare sunt cele prin care o cheie
determină 1 atribut.
A treia definiţie a 3NF Sharman: O relaţie este în 3NF dacă
17orice determinant este o cheie (primară / candidat).
Ideea de bază este deci aceea că: fiecare relaţie conţine
un singur concept semantic.
Fie PERS1M. Este în 2NF, nu este în a 3NF, deoarece între
atributele care nu sunt cheie, Data-Angajării şi Ore-
Lucrate, pe de o parte, şi Salar-Brut, pe de altă parte,
există o relaţie funcţională. Izolând această relaţie, din
PERS1M se obţin tabelele PERS11 & PERS12.
Se elimină anomalii legate de prezenţa
DF: (Data Angajării, Ore Lucrate → Salar Brut)
& descompunerea este fără pierderi:
PERS1M = PERS11 [Data Angajării, Ore Lucrate =
Data Angajării, Ore Lucrate] PERS12
Trecerea de la 2NF la 3NF se realizează prin izolarea DF
tranzitive şi aplicând teorema de descompunere.
Schematic are loc fenomenul:
18
Teorema de descompunere
Relaţia 2NF Se izolează dependenţele Relaţie 3NF
tranzitive între atribute care nu
sunt chei
BNCF - mai generală ca forma 3NF: relaţia PERS12 este 3NF. Ipoteză:
realizarea salarului brut → angajatul lucrează un număr de ore → apare o
DF: Salar Brut → Ore Lucrate
→ relaţia nu este în BCNF - schematic relaţiile se poate observa că au loc
dependenţele conform figurii:
• Observaţii.
• BCNF fiind mai generală ca 3NF se consideră că este forma 3 ½.
• Orice bază de date pentru a fi corect proiectată se aduce cel puţin până la a 3NF.
7. Tipuri de conservare
Observaţie. R are o descompunere în relaţiile R1, R2,..., Rn, este fără pierdere, dacă
este reversibilă. Aceasta este o condiţie necesară de descompunere şi se referă la
extensia bazei de date (datele ei) nu şi la intensia (structura) ei.
Teorema
20 lui Ullman. Fie o descompunere al lui R în două relaţii R1şi R2. Dacă
se notează cu D mulţimea tuturor DF din R, descompunerea este fără pierderi,
= reversibilă ↔ dependenţele DF de la R1∩ R2 la R1- R2 / R2- R1 fac parte din
închiderea lui D.
Observaţie. Teorema lui Delobel-Cassey satisface condiţiile teoremei lui
Ullman. Într-adevăr, DF aplică A= R1∩ R2, în B= R1- R2. → descompunere
pe baza teoremei lui Ullman conservă datele.
Fie R o relaţie, F o mulţime de DF în R şi A un grup de atribute. Se numeşte
proiecţia mulţimii F pe A şi se notează cu F(A), mulţimea dependenţelor din
închiderea lui F, de forma, DF:B→C, cu B,C submulţimi din A.