Consider a relation schema R = (A, B, C, D, E) and a set F consisting of the fol
ID: 3709695 • Letter: C
Question
Consider a relation schema R = (A, B, C, D, E) and a set F consisting of the following functional dependencies that hold on R:
A -> C, AC -> E, AD -> B, B -> ADE, D-> E.
An algorithm for computing a lossless-join, dependency-preserving decomposition of a relation schema (using a canonical cover of a set of functional dependencies that hold on the schema) into a set of third normal form (3NF) relation schemas is given in the figure below. Use this algorithm to decompose R using Fc .
let Fe be a canonical cover for F; i: 0 for each functional dependency a in Fo do if none of the schemas Rj,j = 1, 2, . . . , i contains ?? then begin end if none of the schemas R, 1,2,,i contains a candidate key for R then begin Ri any candidate key for R; end return (R1, R2,.. ,R)Explanation / Answer
Given relation: R = (A, B, C, D, E)
FD's are:
A -> C,
AC -> E,
AD -> B,
B -> ADE,
D-> E.
Let us construct attribute clousers:
A+ -> ACE
B+ -> ADEBC
C+ ->C
D+ -> DE
AB+ -> ABCDE
BC+ -> ABCDE
AC+ -> ACE
AD+ -> ADBCE
Therefore super keys are : {B,AB,BC,AD}
Now let us check given functions satisfies the #nf or not.
A -> C not a super key of R. So it violates 3NF. let us devide the relation R as (AC)(ABDE)
AC -> E not a super key of R. So it violates 3NF. let us devide the relation R as (ACE)(BDE)
AD -> B is a super key of R. So It doesn't violates 3NF.
B -> ADE is a super key of R. So It doesn't violates 3NF.
D-> E not a super key of R. So it violates 3NF. let us devide the relation R as (ACE)(BD)(DEa)
Related Questions
drjack9650@gmail.com
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.