Sunteți pe pagina 1din 13

Obiectivul normalizrii unei baze

de date
Eliminarea anomaliilor de actualizare i asigurarea

consistenei datelor
Anomalii:
Anomalii la adugare
Anomalii la modificare
Anomalii la tergere
CodStudent

Nume

Prenume

CodLocalitate

Localitate

Judet

Popescu

Paul

Bucuresti

Bucuresti

Angelescu

Maria

Pitesti

Arges

Dependee funcionale
Dependenele sunt legturi logice ce se stabilesc ntre

cmpurile modelului relaional.


ntre dou atribute A i B exist o dependen
funcional dac fiecrei valori a lui A i corespunde o
singur valoare a lui B. Dependena funcional se
noteaz AB, A fiind determinatul iar B determinatul
dependeei.
Exemplu:
CodStudentNumeStudent
CodStudentPrenumeStudent

Dependee funcionale
Dependena funcional complet (elementar, total,

deplin) este o dependen funcional de forma AB


unde B nu este dependent funcional de nici una din
componentele lui A.
CodStudent, CodDisciplinNota
Dependena funcional parial este o dependen

funcional de forma AB n care B este dependent


funcional i de o parte a lui A.
CodStudent, CodDisciplinaNumeStudent
CodStudentNumeStudent
Dependena multipl

Formele normale
Sunt reguli, restricii care trebuie respectate pentru a

eliminarea anomaliilor ce pot aprea n cadrul


modelului relaional

FN1
O relaie este n forma normal 1 (FN1) dac toate

atributele sale conin numai valori atomice i nu exist


atribute repetitive.
CodStudent

NumePrenume

NotaDisciplina1

NotaDisciplina2

Adresa

Popescu Paul

10

Angelescu Maria

Str. Bucuresti,
Ploiesti
Str. X, Bucuresti

CodStudent

Nume

Prenume

CodDisciplina

Disciplina

Nota

Adresa

Localitatea

Popescu

Paul

Disciplina1

10

Str. Bucuresti

Ploiesti

Popescu

Paul

Disciplina2

Str. Bucuresti

Ploiesti

Angelescu

Maria

Disciplina1

Str. X

Bucuresti

Angelescu

Maria

Disciplina2

Str. X

Bucuresti

FN2
O relaie este n forma normal 2 (FN2) dac este n FN1 i
orice atribut noncheie (care nu face parte din cheia primar)
este dependent funcional complet de cheia primar a
relaiei.
CodStudent

Nume

Prenume

CodLocalitate

Localitate

Judet

CodDisciplina

Disciplina

Nota

Popescu

Paul

Bucuresti

Bucuresti

Disciplina1

10

Popescu

Paul

Bucuresti

Bucuresti

Disciplina2

Angelescu Maria

Pitesti

Arges

Disciplina1

Angelescu Maria

Pitesti

Arges

Disciplina2

CodStudent Nume
Prenume
CodLocalitate
Localitate
Judet

CodDisciplina Disciplina
CodDisciplina,CodStudentNota

Tabele aduse n FN2


CodStudent

Nume

Prenume

CodLocalitate

Localitate

Judet

Popescu

Paul

Bucuresti

Bucuresti

Angelescu

Maria

Pitesti

Arges

CodDisciplina

Disciplina

CodStudent

CodDisciplina

Nota

Disciplina1

10

Disciplina2

FN3
O relaie respect FN3 dac respect FN2 i toate

atributele noncheie sunt dependente funcional


netranzitiv de cheia primar a relaiei
CodStudent

Nume

Prenume

CodLocalitate

Localitate

Judet

Popescu

Paul

Bucuresti

Bucuresti

Angelescu

Maria

Pitesti

Arges

CodStudent Nume
Prenume
CodLocalitate
Localitate
Judet

CodLocalitate Localitate
Judet

Tabele aduse n FN3


CodStudent

Nume

Prenume

CodLocalitate

Popescu

Paul

Angelescu

Maria

CodLocalitate

Localitate

Judet

Bucuresti

Bucuresti

Pitesti

Arges

Conceperea bazelor de date prin


matricea dependenelor funcionale
Etape:
Stabilirea dicionarului de atribute (surse: documente

primare, rapoarte, indicatori etc.). Se elimin atributele


calculate i atributele sinonime.
Stabilirea cheilor candidate
Stabilirea cheilor primare
Stabilirea dependenelor
Identificarea determinanilor pentru atributele izolate
(eventual chei surogat)
Formarea relaiilor
Fiecare determinant mpreun cu atributele determinate

formeaz o relaie

Exemplu normalizare utiliznd matricea


dependenelor funcionale
Fie dicionarul de atribute CodStudent, NumeStudent,

AdresaStudent, LocalitateStudent, NotaObinut,


MediaStudent, CodDisciplina, DenumireDisciplina,
AnStudiuDisciplina, CodCadruDidactic, NumeCD,
PrenumeCD, FunctieCD
Reguli de gestiune
Un student studiaz mai multe discipline, o disciplin este

studiat de mai muli studeni


O disciplin este predat de un singur cadru didactic, un
cadru didactic poate preda mai multe discipline
La fiecare disciplin fiecare student obine o singur not

Se solicit obinerea modelului relaional prin normalizare.

Exemplu normalizare utiliznd matricea


dependenelor funcionale
CodTipCredit, TipCredit, MonedaCredit, DataLansareTipCredit, SumaMaximaTipCredit,

CodClient, CNP, Nume, Prenume, Adresa, CodLocalitate, Localitate, Judet,


TelefonEmail, NrContractCredit, DataContractCredit, SumaAcordat, PerioadaCredit,
RataDobanzii, NrCont, IBAN, Moneda, DataDeschidereCont, CalitateClient (titular,
imputernicit, etc.), CodMoneda, DenumireMoneda

Reguli de gestiune
1.
2.
3.
4.
5.
6.

Un tip de credit se creeaz pentru o singur moned, o moned poate fi implicat n mai multe
tipuri de credite
Un contract de credit se incheie pentru un singur tip de credit, pentru un tip de credit se pot
incheia mai multe contracte
Un contract de credit se ncheie cu un singur client, un client poate incheia mai multe contracte
de credit
Fiecrui contract de credit i se asociaz mai multe conturi, un cont se asociaz cel mult unui
contract de credit
Un cont este deschis ntr-o anumit moned
Un client poate deschide mai multe conturi, un cont poate fi asociat cu mai muli clieni
(pentru fiecare cont un client are o singura calitate-titular/imputernicit etc.)

Se solicit obinerea modelului relaional prin normalizare

S-ar putea să vă placă și