Database Normalization
Normalization process is the establishment of the database structure so that most of the ambiguity can be removed. Normalization stage, starting from the most mild (1NF) to most stringent (5NF) usually only reach the level of 3NF or BCNF because already sufficient to generate the table-a table of good quality.
Why do normalization?
1. Optimizing table structures
2. Increase speed
3. The income data is the same
4. More efficient of storage media
5. Reduce redundancy
6. Avoid anomalies (insertion anomalies, deletion anomalies, update anomalies).
7. Improved data integrity
A table saying good (efficient) or if normal meet 3 criteria:
1. If there is decomposition (decomposition) table, it must be guaranteed safe decomposition (Lossless-Join Decomposition). That is, after the table is described for a new table-table, the table-table can generate a new table with the same exact.
2. Maintain dependence on the functional changes in data (Dependency preservation).
3. Does not violate Boyce-Code Normal Form (BCNF)
If the three criteria (BCNF) can not be met, then at least the table does not violate the Normal Form of the third stage (3rd Normal Form / 3NF).