Set probleme “Baze de date 1” (P1, P2, Mai 2016) (exemplu). P1

Sizin üçün oyun:

Google Play'də əldə edin


Yüklə 15.78 Kb.
tarix27.12.2018
ölçüsü15.78 Kb.

Set probleme “Baze de date 1” (P1, P2, Mai 2016) (exemplu).

P1. Fie schema de relație R= ABCDEF, cu mulțimea de dependențe funcționale F= {A->B,

A->F, B->E, D->B, E->A}. Se cere:



  1. să se determine o cheie pentru R și să se calculeze închiderea acestei chei (se va demonstra de ce submulțimea de atribute respective este cheie, fără a afirma direct „aceasta este cheie”).

  2. Să se găsească pentru R o descompunere ρ, astfel încât fiecare sub-schemă din aceasta să fie în Forma Normală Boyce- Codd (FNBC). Pe fiecare pas al algoritmuilui de descompunere, se va calcula proiecția mulțimii de dependențe funcționale valabile în pasul curent, pe sub-schemele de relație obținute în pasul anterior.

P2. Fie schema de relație R= ABCDEF și mulțimea de dependențe funcționale pe R F= {A->B,

C->F, E->A,, CE->D}. Să se verifice dacă descompunerea ρ = (ABC, CEF, DEF) are proprietatea de joncțiune fără pierdere (j.f.p.).



P1. a/ Calculăm la început cheile schemei de relație R. Observăm că atributul C nu se găsește în niciuna din dependențele funcționale din F, iar atributul D nu face parte din nicio parte stângă a vreunei dependențe funcționale din F. Rezultă așadar că o cheie pentru R trabuie să fie CD. Să calculăm inchiderile pentru CD. Vom avea, succesiv :

(CD)0+ = {CD} ; folosim acum dependența funcțională D->B si obțínem, mai întâi, (CD)1+ = {CD} U {B} = {BCD}. Apoi folosim B->E și obțínem (CD)2+ = {BCD} U {E} = {BCDE}. În continuare, cu E- >A , obțínem (CD)3+ = {BCDE} U {A}’= {ABCDE}. Mai departe, (CD)4+ = {ABCDE} U {F} =

{ABCDEF}. Ne oprim aici, nemaiput\nd ad[uga alte atribute. Așadar, vom avea CD+ =

ABCDEF, deci o cheie (minimală) a schemei de relație R este cu adevărat CD.

b/ pormim cu σ = {ABCDEF} și cu dependențele funcționale din F. Alegem A=F și găsim

σ1 = {R1 = AF, R2= ABCDE}, unde σ1 este o primă schemă de relație din descompunerea căutată. Așadar avem R1= AF, cu dependența A->F și cu cheia A , respectiv R2 = ABCDE, cu dependențele A -> B, B -> E, D -> B, și E -> A. Pentrtu a continua algoritmul de descompunere cu R2, alegem E->A și vom avea: σ1 = {R1= AF, R’2= AE, R3 = BCDE}. Pentru R’2= AE, luăm dependența E->A, cu cheia E. Pentru R3 = BCDE, avem dependențéle B -> E ,

A->B ; vom alege pentru R3 dependența B-> E, așa încât în continuare vom scrie:

σ1 = {R1 = AF, R’2 = AE, R’3 = BE, R4 = BCD}, unde pentru R’3 = BE avem dependența B->E, cu

cheia B, iar pentru R4 = BCD avem fdependența D -> B, și cheia D.

În acest mod, am ajuns la descompunerea :

σ = { AF, AE, BE, BCD }, cu cheile A, E, B și respectiv D .

Faptul că în subschema BCD avem dependența D -> B șii atributul C nu apare în nicio dependență funcțională, ne face să afirmăm că CD este cheia acestei subscheme. Dependența trivială C -> C nu contravine definiței Formei Normale Boyce Codd. Descompunerea căutată poate fi reprezentată în forma :



A B C D E F

A-> B, A -> F, B -> E, E -> A

cheie CD

A F A B C D E

(FNBC) A->F A->B, B->E, D->B,

cheie A cheie CD

A E B C D E

(FNBC) E-> A B->E, D->B

cheie E cheie CD

B E B C D

(FNBC) B -> E (FNBC) D->B, C-> C

cheie B cheie CD

P2. Pentru respectarea dependențélor funcíonale de către descompunrea găsită se impune îndeplinirea condiției:

Ui =1,.....K ΠRi (F) să implice logic F, deci:

ΠRi (F) = { (X->Y)│ (X->Y)ϵ F-1 și XUY϶ Ri }.

Calculăm F+ cu axiomele Armstrong și obținem:

F+ = { A->B, A->F, B->E, D->B, E->A, A->E, D->E, E->D, E->F, B->A} (observăm că am scos numai o parte a dependențelor funcționale din F+ ).

Calculăm în continuare ΠRi (F):

ΠAB (F)= {A->B, B->A}

ΠBCD (F) = {D->B}

ΠAEF (F) = {A->F, E->A, A->E, E->F}

ΠCDE (F)= {D->E}

Ui = 1….4 ΠRi (F) = {A->B, B->A, D->B, A->F, E->A, A->E, E->F, D->E}.

Această mulțime trebuie să implice logic pe F. Observăm că singura dependență funcțională care la prima vedere nu face parte din reuniune este B->E. De fapt însă ea este implicată de reuniune, deoarece B->A ;I A->E, prin urmare B->E.





Dostları ilə paylaş:
Orklarla döyüş:

Google Play'də əldə edin


Verilənlər bazası müəlliflik hüququ ilə müdafiə olunur ©muhaz.org 2017
rəhbərliyinə müraciət

    Ana səhifə