3,085 views
3 votes
3 votes
@habibkhan

Given  $ R{(ABCD)} $ Functional dependencies as :  $AB --> C $ , $BC --> D $

What type of dependency is $BC --> D $ ?

If it is partial dependency then the table is not in 2NF and

if  it is transitive dependency then the table is not in 3NF

or it is neither transitive nor partial and the table is in 3NF but not int BCNF

1 Answer

Best answer
17 votes
17 votes

See first of all we have to know what is a candidate key for above set of FDs.

Since (AB)+ = ABCD and (BC) = BCD

So AB is a candidate key hence superkey whereas BC is not

So non prime attributes = {C,D}

Now lets check from higher normal form to lower form :

a) Check for BCNF :

For BCNF we require that every determinant(left hand side of FD) must also be a superkey.But BC is not a key.Hence the given relation(table) is not in BCNF.

b) Check for 3NF :

For this we require that either determinant(lhs) is superkey or determiner(rhs) is a prime attribute.But here in BC --> D , neither BC is a superkey nor D is a prime attribute.So the 3NF test also fails.

c) Check for 2NF :

For 2NF we require that in every FD if the determinant is a proper subset of candidate key , then it should not derive any non prime attribute.No problem with the 1st FD since the determinant is a candidate key .If we consider the 2nd FD , i.e. BC --> D ,BC is not a proper subset of AB and hence we need not check further.Had it been a dependency like A --> D or something like that , so A is a proper subset of AB and D is a non prime attribute.Hence , in that it would not have been in 2NF.

But in this case,no issue.Hence the given relation is in 2NF.

In such questions , if asked for normal form (or) strongest normal we proceed checking like this from higher normal form to lower normal form(BCNF to 1NF) else if asked about weakest normal form we begin from lower to higher(1NF to BCNF).

2nd approach(Using the notion of partial and transitive dependency)

Obviously by concept of partial and transitive dependency we can check like this :

In the above set of dependency , AB --> C and we can also have AB --> B which is a trivial FD and always holds true.So by the rule of augmentation , AB --> BC and we have BC --> D already in the FD set.This is nothing but transitive dependency.So it is not in 3NF.

Here we do not have partial dependency , the reason being explained earlier.(since BC is not a proper subset of AB)Hence , it is in 2NF.

I hope you get both the approaches.

selected by

Related questions

0 votes
0 votes
0 answers
1