What are the different normal forms (1NF, 2NF, 3NF, BCNF, 4NF, etc.)?
Normal forms are guidelines used to organize a relational database schema. Each form
addresses a different kind of redundancy or dependency.
- 1NF (First Normal Form):
- A table is in 1NF if it contains only atomic (indivisible) values and each record
has a unique identifier (Primary Key).
- No repeating groups or arrays are allowed.
- 2NF (Second Normal Form):
- A table is in 2NF if it is in 1NF and all non-key attributes are fully
functionally dependent on the primary key.
- Eliminates partial dependency (when a non-key attribute depends on only
part of a composite primary key).
- 3NF (Third Normal Form):
- A table is in 3NF if it is in 2NF and there are no transitive dependencies
(non-key attributes depending on other non-key attributes).
- This removes dependencies between non-key attributes.
- BCNF (Boyce-Codd Normal Form):
- A table is in BCNF if it is in 3NF and every determinant is a candidate key.
- This is a stricter version of 3NF.
- 4NF (Fourth Normal Form):
- A table is in 4NF if it is in BCNF and multi-valued dependencies are
removed.
- This ensures that a record doesn’t have two or more independent
multi-valued attributes.
- 5NF (Fifth Normal Form):
- A table is in 5NF if it is in 4NF and cannot be decomposed further without
losing data.