Normalization:
Normalization is a database design technique which organizes tables in a manner that reduces redundancy and dependency of data
1. First Normal Form
2. Second Normal Form
3. 3rd Normal Form
4. Boyce-Codd Normal Form (BCNF)
First Normal Form
- Each table cell should contain a single value.
- Each record needs to be unique
Second Normal Form:
"Single Column Primary Key"
A relation must be in first normal form and relation must not contain any partial dependency.
"No non-prime attribute"
example:
Third Normal Form:
Has no transitive functional dependencies
example:
Boyce-Codd Normal Form
Boyce-Codd Normal Form (BCNF) is an extension of Third Normal Form on strict terms
For any non-trivial functional dependency, X → A, X must be a super-key.
Denormalization :
Denormalization is a strategy used on a previously-normalized database to increase performance. In computing, denormalization is the process of trying to improve the read performance of a database, at the expense of losing some write performance, by adding redundant copies of data or by grouping data.