Normal Forms Shortcuts for Gate Students
I am trying to give you the normal forms shortcuts for Gate students. To identify that a relation is in which normal form, the first step is to Find all the Candidate Keys of the relation.
First Normal Form (1NF) :
It doesn’t have multivalued attributes.
| RollNo |
Name |
Subject |
Marks |
| 00001 |
AAAAA |
Maths,C++ |
???? |
| Error in 3rd Column (multivalue), as we can’t assign marks for both subjects in one column. |
Solution :
| RollNo |
Name |
Subject |
Marks |
| 00001 |
AAAAA |
Maths |
89 |
| 00001 |
AAAAA |
C++ |
98 |
Second Normal Form (2NF) :
Check right hand side of FD A → B ,
- If B is a fullynonkey, then A must be either fullynonkey OR fully key. (i.e. it should not be partial)
- If right hand side B is a key or part of key, then its okay – no need to check.
- If its Nonkey → Nonkey, its fine – no need to check. Just check (1) is sufficient.
Third Normal Form (3NF) :
Check right hand side of FD A → B,
- If B is fullynonkey, then left hand side must be either superkey or part of superkey.
- Nonkey → Nonkey is not allowed in 3NF
- Key or part of Key → Nonkey is allowed
Boyce-Codd Normal Form (BCNF) :
Left hand side A → B must be a superkey, whatever is Right Hand Side.
Decomposition in All Normal Form Violation
If A → B is violating normal form in R(ABCD), then decompose into
Some Notes about Normal Forms – Useful for Gate Students
|
1NF |
2NF |
3NF |
BCNF |
| Redundancy |
Hgh |
<1NF |
<2NF |
0% if it doesn’t contain MVD, Otherwise, it may contain Redundancy |
| Lossless Join |
Always |
Always |
Always |
Always |
| Dependency Preserving |
Always |
Always |
Always |
Some relation may not possible to decompose in BCNF by preserving dependency |
|
4NF |
| 0% redundancy |
Yes |
| Lossless |
Yes |
| Dependency Preserving |
may or may not be |
| Problem may exist ?? |
Join Dependency |
]]>