Open In App

Allowed Functional Dependencies (FD) in Various Normal Forms (NF)

Improve
Improve
Like Article
Like
Save
Share
Report

Prerequisite – Functional Dependency and Attribute Closure 

We all know the following: 

  • 2 NF does not allow partial dependency.
  • 3NF does not allow transitive dependency.
  • BCNF does not allow anything other than super key as determinant.

Let’s check all possible functional dependencies to find out what is allowed and what’s not. Please note: prime attribute is an attribute that is part of any candidate key. Non prime attribute is an attribute that is not part of any candidate key. So, its advisable that you find out all possible candidate keys from the given functional dependencies and mark the prime and non prime attributes. 

1. Second Normal Form (2NF) : 

Not allowed FDs – 

prime -> non prime 

If say your functional dependency is of the form A->X where ‘A’ is a prime attribute but not a key and ‘X’ is a non prime attribute, then such an FD is not allowed in 2NF. 

Allowed FDs –  

Prime -> Prime
Non prime -> Prime/Non prime
Key -> Prime/Non prime
Prime + Non prime combination -> Prime/Non Prime 
  • If ‘A’ is a prime attribute (though not a key) it can determine another prime attribute 
  • If ‘A’ is a non prime attribute, it can determine a prime/non prime attribute. 
  • If ‘A’ is a key, it can determine a prime/non prime attribute. 

2. Third Normal Form (3NF) : 

Not allowed FDs – 

Prime -> Non prime  (2NF requirement)
Non prime -> Non prime  (3NF special) 

Allowed FDs –  

Prime -> Prime
Non prime -> Prime 
Key -> Prime/Non prime 
Prime + Non Prime -> Prime/Non prime 

3. Boyce-Codd Normal Form (BCNF) : 

Not allowed FDs –  

Prime -> Non prime  
Non prime -> Non prime  
Prime -> Prime 
Non prime -> Prime

Allowed –  

Key -> Prime/Non prime 

 


Last Updated : 18 May, 2021
Like Article
Save Article
Previous
Next
Share your thoughts in the comments
Similar Reads