Documente Academic
Documente Profesional
Documente Cultură
Denumire
Romgaz
Romgaz
Renel
Cod
Nr.
Cod
fiscal
Crt. Chelt.
R1234567
1 C15
R1234567
2 C16
R7654321
3 C10
Denumire
Cheltuial
Chelt pt. nclzire
Chelt pt. buctrii
Chelt cu iluminatul
Valoare
1500000
500000
3000000
F110 Renel
R7654321
4 C11
Figura 2.1 Relaia Furnizori_Cheltuieli
200000
tabel n forma normal unu, identificm i tergem grupurile repetitive din tabel.
Grupurile repetitive sunt atribute, sau grup de atribute, pentru care avem diferite
valori pentru aceeasi valoare a cheii, ceea ce este n contradicie cu definiia cheii.
Eliminarea acestor grupuri repetitive se poate realiza n dou moduri:
Conform primei modaliti, eliminm grupurile repetitive, prin crearea altor
nregistrri, n care s fie introduse valorile din aceste grupuri, mpreun cu
celelalte valori ai atributelor din nregistrarea la care se lucreaz. Tabele astefel
rezultat va fi n form normal unu.
n a doua modalitate, fiecere valoare a grupurilor repetitive le copiem ntro nou relaie mpreun cu cheia primar din tabela iniial. Putem avea mai multe
grupuri repetitive. n acest caz crem mai multe relaii noi. Aceste relaii noi,
precum i tabela normalizat vor fi n form normal unu.
De exemplu s lum relaia Furnizori_Cheltuieli:
Cod
Furn.
F100
F100
F110
F110
Denumire
Romgaz
Romgaz
Renel
Renel
Cod
Nr.
Cod
fiscal
Crt. Chelt.
R1234567
1 C15
R1234567
2 C16
R7654321
3 C10
R7654321
4 C11
Denumire
Cheltuial
Chelt pt. nclzire
Chelt pt. Buctrii
Chelt cu iluminatul
Chelt pt. Func. liftului
Valoare
1500000
500000
3000000
200000
Cod
Furn.
F100
F100
F110
F110
Nr.
Crt.
1
2
3
4
Cod
Chelt.
C15
C16
C10
C11
Denumire
Cheltuial
Chelt pt. nclzire
Chelt pt. Buctrii
Chelt cu iluminatul
Chelt pt. func. Liftului
Valoare
1500000
500000
3000000
200000
Denumire
Romgaz
Romgaz
Renel
Renel
Cod
Furn.
F100
F100
F110
F110
Cod
Nr.
Cod
fiscal
Crt. Chelt.
R1234567
1 C15
R1234567
2 C16
R7654321
3 C10
R7654321
4 C11
Denumire
Romgaz
Romgaz
Renel
Renel
Denumire
Cheltuial
Chelt pt. nclzire
Chelt pt. Buctrii
Chelt cu iluminatul
Chelt pt. Func. liftului
Valoare
1500000
500000
3000000
200000
Cod
fiscal
R1234567
R1234567
R7654321
R7654321
Relatia Cheltuieli
Cod Nr.
Cod
Furn. Crt. Chelt.
F100
1 C15
F100
2 C16
F110
3 C10
F110
4 C11
Relaia Furnizori
Cod
Denumire
Furn.
F100
Romgaz
F100
Romgaz
F110
Renel
F110
Renel
Valoare
1500000
500000
3000000
200000
Cod
fiscal
R1234567
R1234567
R7654321
R7654321
Denumire
Cheltuial
Chelt pt. nclzire
Chelt pt. buctrii
Chelt cu iluminatul
Chelt pt. func. liftului
Figura 2.7. Relaiile rezultate dup trecerea la 2NF a relaiei
Furnizori_Cheltuieli
Toi cei trei determinani sunt i chei candidat. Deci exemplul de mai sus
este n form normal Boyce-Codd. Relaiile n form normal trei sunt n general
i n form normal Boyce-Codd. n cazul n care relaia nu este n form normal
Boyce-Codd, trecerea la BCNF se realizeaz prin tergerea din relaia iniial a
atributelor care sunt asociate unui determinant care nu este cheie candidat i
crearea unei noi relaii cu aceste atribute i determinantul lor.
Exist situaii cnd este foarte greu de descompus atributele, ca s ajungem
la BCNF. n aceste situaii este indicat rmnerea la forma normal trei.
2.9. S recapitulm procesul de normalizare (de la 1NF la BCNF)
Forma Normal Unu (1NF)
Trebuie s cutm toate interseciile de linii i coloane, unde exist repetiii.
Aceste repetiii se pot elimina prin dou madaliti:
Crearea a noi nregistrri pentru fiecare valoare a repetiiei, dup care se
caut o nou cheie primar.
tergerea atributelor care conin repetiii i crearea a unor noi relaii care
vor conine atributele terse, precum i cheia principal din relaia iniial.
Forma Normal Doi (2NF)
Se caut dependenele pariale de cheia principal, adic toate atributele
care depind funcional de un subset de atribute a cheii primare. Dac cheia primar
este compus dintr-un singur atribut, atunci releia este n forma normal doi.
Dac exist dependene pariale, vom terge atributele care depind parial
de cheia principal i crem o relaie nou care s se compun din atributele terse
mpreun cu determinantul lor.
Forma Normal Trei (3NF)
Pentru a trece la forma normal trei, trebuie s eliminm dependenele
tranzitive. Eliminarea se realizeaz prin tergerea cmpurilor dependente tranzitiv
de cheia primar din relaia iniial i crearea unei noi relaii cu aceste atribute i
determinantul lor.
Forma Normal Boyce-Codd (BCNF)
Cerina la forma normal Boyce-Codd este ca fiecare determinant din
relaie s fie cheie candidat. n cazul n care nu este ndeplinit aceast cerin,
vom terge atributele dependente funcional de determinantul care nu este cheie
candidat i crem o nou relaie n care s avem atributele terse i determinantul
lor. n unele cazuri trecerea la forma normal Boyce-Codd complic foarte mult
baza de date, caz n care este de preferat rmnerea la forma normal trei.