It is same as finding candidate key of a relation. instead of checking closure set covers relation we look at closure set covers the sub relation or not.

Example:

For the relation R(ABCD) with FD={ AB-->CD, D-->A}

What are the candidate keys of sub relation R(BCD)

Solution:-

**Step-I: Finding the closure of one valued attributes in sub relation**

B+={B}, cant derive all the attributes present in the sub relation i.e, BCD, so it is not a candidate key

C+={C}, cant derive all the attributes present in the sub relation i.e, BCD, so it is not a candidate key

D+={D,A}, cant derive all the attributes present in the sub relation i.e, BCD, so it is not a candidate key

**Step-II: Finding closure of two valued attributes in sub relation.**

BC+={B,C}, cant derive all the attributes present in the sub relation i.e, BCD, so it is not a candidate key

BD+={B,D,A,C}, can derive all the attributes present in the sub relation, so it is a candidate key

CD+={C,D,A}, cant derive all the attributes present in the sub relation i.e, BCD, so it is not a candidate key

**Step-III: Finding the closure of the three valued attribute in sub relation.**

BCD+ , not possible, since it'll become the super key of DB.

Therefore the candidate key for the sub relation is {BD}

## 0 comments:

## Post a Comment

Note: only a member of this blog may post a comment.