What is Normalization ?
What is Normalization ?
- Normalization is the process of reorganizing data in a database. They have two basic requirements they are:
- No redundancy of data.
- Logical as data dependencies.
- To normalize a database, we divide the database into tables and establish relationships between the tables.
- Database normalization can essentially be defined as the practice of optimizing table structures.
- Optimization is accomplished as a result of a thorough investigation of the various pieces of data that will be stored within the database, in particular concentrating upon how this data is interrelated.
What is Normalization
Types of Normalization
First Normal Form (1NF)
- The First Normal Form should be following some rules in table,
- It should only have single(atomic) valued attributes/columns.
- Values stored in a column should be of the same domain
- All the columns in a table should have unique names.
- And the order in which data is stored, does not matter.
Second Normal Form (2NF)
- For a table to be in the Second Normal Form,
- It should be in the First Normal form.
- And, it should not have Partial Dependency.
Third Normal Form (3NF)
- A table is said to be in the Third Normal Form when,
- It is in the Second Normal form.
- And, it doesn't have Transitive Dependency.
Boyce and Codd Normal Form (BCNF)
- Boyce and Codd Normal Form is a higher version of the Third Normal form. This form deals with certain type of anomaly that is not handled by 3NF. A 3NF table which does not have multiple overlapping candidate keys is said to be in BCNF.
- For a table to be in BCNF, following conditions must be satisfied:
- R must be in 3rd Normal Form and, for each functional dependency ( X → Y ), X should be a super Key.
Fourth Normal Form (4NF)
- A table is said to be in the Fourth Normal Form when,
- It is in the Boyce-Codd Normal Form.
- And, it doesn't have Multi-Valued Dependency.
Fifth Normal Form (5NF)
- Fifth Normal Form (5NF), also known as project-join normal form (PJ/NF) is a level of database normalization designed to reduce redundancy in relational databases recording multi-valued facts by isolating semantically related multiple relationships.
- A relation R is in Fifth Normal Form (5NF) and only if the following conditions are satisfied simultaneously,
- R is already in 4NF.
- It cannot be further non-loss decomposed.