Curs12_Complemente_Normalizare

4
Complemente Curs Baze Date/ An II Automatica Exemplu concret de identificare a Dependentelor Functionale dintr-o relatie si de obtinere a Formelor Normale FN2 si FN3. Ipoteza: Fie Schema de Relatie numita Profesori_Note, reprezentata in modul urmator: Profesori_Note(NumeProf, GradDidacticP, SalarP, NumeStud, Nota) Se cere: (A)Sa se identifice toate dependentele functionale din aceasta schema de relatie, apoi (B)sa se obtina Forma Normala FN2 aferenta; (C) se obtina Forma Normala FN3. Rezolvare: (A) Identificarea dependentelor functionale: In schema de relatie Profesori_Note data in ipoteza, se pot identifica urmatoarele dependente functionale: 1) NumProf GradDidacticP (deci, atributul NumeProf determina functional atributul GradDidacticP deoarece fiecare cadru didactic are un anumit grad didactic: Prep., Asistent, Sef Lucrari, Conf. sau Prof.) 2) GradDidacticP SalarP ( deoarece salarizarea fiecarui cadru didactic depinde in mod direct de gradul didactic pe care-l are cadrul didactic respectiv) 3) NumProf SalarP ( deoarece fiecarui cadru didactic in parte i se calculeaza salariul si in functie de caracteristicile profesionale

description

eeeeeeeeeeeeeeeeeee

Transcript of Curs12_Complemente_Normalizare

Complemente Curs Baze Date/ An II Automatica

Complemente Curs Baze Date/ An II Automatica

Exemplu concret de identificare a Dependentelor Functionale dintr-o relatie si de obtinere a Formelor Normale FN2 si FN3.Ipoteza:

Fie Schema de Relatie numita Profesori_Note, reprezentata in modul urmator:

Profesori_Note(NumeProf, GradDidacticP, SalarP, NumeStud, Nota)

Se cere:

(A)Sa se identifice toate dependentele functionale din aceasta schema de relatie,

apoi

(B)sa se obtina Forma Normala FN2 aferenta; (C) se obtina Forma Normala FN3.Rezolvare:

(A) Identificarea dependentelor functionale:

In schema de relatie Profesori_Note data in ipoteza, se pot identifica urmatoarele dependente functionale:

1) NumProf ( GradDidacticP (deci, atributul NumeProf determina functional atributul GradDidacticP deoarece fiecare cadru didactic are un anumit grad didactic: Prep., Asistent, Sef Lucrari, Conf. sau Prof.)2) GradDidacticP ( SalarP ( deoarece salarizarea fiecarui cadru didactic depinde in mod direct de gradul didactic pe care-l are cadrul didactic respectiv)

3) NumProf ( SalarP ( deoarece fiecarui cadru didactic in parte i se calculeaza salariul si in functie de caracteristicile profesionale proprii: spor de vechime, spor de doctorat etc)

4) NumeProf NumeStud ( Nota (atributul compus NumeProf NumeStud determina functional atributul Nota, deoarece un anumit Profesor acorda unui anumit Student o anumita Nota)

Obs.: Relatia Profesori_Note are o singura cheie compusa, formata din atributele NumeProf si NumeStud.

( Diagrama Dependentelor Functionale pentru Schema de Relatie Profesori_Note este urmatoarea:

(B) Obtinerea Formei Normale FN2:

In diagrama de mai sus se poate observa dependenta functionala a atributelor GradDidacticP si SalarP fata de atributul NumeProf, ceea ce implica dependenta partiala a acestor atribute fata de cheia relatiei (formata din atributele NumeProf si NumeStud). Aceasta dependenta functionala partiala fata de o cheie a relatiei, genereaza un set de anomalii, cum ar fi anomalii de adaugare date si de actualizare date.( necesitatea eliminarii acestor dependente functionale partiale fata de cheia relatiei, lucru care se face prin descompunerea Schemei de Relatie Profesori_Note in doua subscheme, anume schema de relatie Profesori si schema de relatie Note, definite in modul urmator:

(a) Profesori (NumeProf, GradDidacticP, SalarP)

(b) Nota (NumeProf, NumeStud, Nota)

Diagrama descompunerii este urmatoarea:

Se observa ca nu mai avem dependente functionale partiale fata de cheia relatiei, ca atare ne aflam in Forma normala FN2, ceea ce a constituit obiectivul exercitiului. (C) Obtinerea Formei Normale FN3:Pentru a se obtine in continuare forma normala FN3, va trebui sa descompunem in continuare schema de relatie notata cu (a) de mai sus (deci diagrama schemei de relatie Profesori), in alte doua subscheme, anume Profesor_GradDidacticP si GradDidacticP_SalarP, pentru a elimina dependenta functionala existenta in diagrama (a) intre cele doua atribute neprime Grad_DidacticP si SalarP.Deci, schema de relatie notata mai sus cu (a), anume:

Profesori (NumeProf, GradDidacticP, SalarP)

se descompune in urmatoarele doua scheme:

(a1) Profesor_GradDidacticP(NumeProf, GradDidacticP)

si

(a2) GradDidacticP_SalarP(GradDidacticP, SalarP)Diagrama acestei noi descompuneri este urmatoarea:

(a1)

(a2)

Observam ca, parcurgandu-se pasii (A), (B) si (C), s-a ajuns la situatia in care nici un atribut neprim nu mai este functional dependent de un alt atribut neprim al relatiei care s-a obtinut din relatia initiala Profesori_Note, deci s-a obtinut Forma Normala FN3 pt. relatia data.Nota

NumeProf

NumeStud

GradDidacticP

SalarP

SalarP

GradDidacticP

(a)

NumeProf

NumeProf

(b)

NumeStud

NumeProf

Nota

GradDidacticP

GradDidacticP

SalarP