- When a prime or a non prime attributes start determining the prime attributes of a table then that table is not in BCNF Normal Form
Example
- R(A, B, C)
- Functional Dependency
- AB–>C
- C–>B
- Determining candidate keys by checking closure
- (A)+ = A –> Not a candidate key
- (AB)+ = ABC –> Candidate key
- (AC)+ = ABC –> Candidate key
- Determining Prime and non prime attribute
- Prime : ABC
- Non Prime : None
- If the relation is in 2NF
- AB determines C but AB is not a part of candidate key but the entire candidate key
- C determines B but B is not a non prime attribute.
- So the relation R is in 2NF
- If the relation is in 3NF
- by definition when a non prime attributes starts determining other non prime attributes we call it Transitive dependency which is not allowed in 3NF
- In our case C determines B but both B and C are prime attributes
- So the relation R is in 3NF
- If the relation is in BCNF
- When a prime or a non prime attributes start determining the prime attributes of a table then that table is not in BCNF Normal Form
- And yes C is a prime attribute that is determining B which is also a prime attribute then relation R is not in BCNF
Reference :