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 3^{rd} 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
- R1 = AB
- R2 = BCD
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 |
Previous | Home | Next |
Join Dependencies and Fifth Normal Form (5NF) | Questions on Identify the Normal Forms of relation R |
Incoming search terms:
- shortcut method of mark and roll no
- checking normal forms in dbms
- gate on normal form