Normalization in RDBMS
Normalization in RDBMS is the process of decomposing a relation(table) based on functional dependency and primary key.
- Un-Normalized Form
- First Normal Form (1 NF)
- Second Normal Form (2 NF)
- Third Normal Form (3 NF)
- Boyce – Codd Normal Form (BCNF)
- Fourth Normal From (4 NF)
- Fifth Normal Form (5 NF)
Un-Normalized relation contain non atomic values.Each row may contain multiple set of values for some of the columns.These multiple values in a single row are called non atomic value.
First Normal Form
A Relation is said to be in 1NF if the values in the domain of each attribute of relation are atomic.Each cell of the table must have single value.No two rows in a table may be identical.
Second Normal Form
A relation R is said to be in 2NF if it is in 1NF and there should not be any partial dependency. Here all the non key attributes are dependent on the key alone. No attribute is depend upon a part of the key. Any relation having a key with single attribute is in 2NF.
Third Normal Form
A relation R is in 3NF if it is in 2NF and has no transitive dependency.Here all the non-key attributes are depend on the key alone.There should not be any dependency among the non-key attributes.
Boyce – Codd Normal Form BCNF
A relation R is in BCNF if every determinant is a candidate key.
Problem with BCNF: Given a relation R , Functional Dependency F, BCNF may or may not preserve all given functional dependencies.
Fourth Normal From
A Relation is in 4NF if it is in BCNF and has no multi valued dependency.
Fifth Normal Form
It deals with join dependency. A relation R is in 5NF if it has no join dependency.
Loss less Join Dependency : When we join the decomposed relation then we must get the original relation without any loss.