Normalization
Normalization is a process for evaluating and correcting table structures to minimize data redundancies, thereby reducing the likelihood of data anomalies. Normalization starts by identifying the dependencies of a given relation and progressively breaking up the relation (table) into a set of new relations (tables) based on the identified dependencies.
Normal Forms
Normal Forms
- 0NF
Multi-valued attributes exists
- 1NF
Any multi-valued attributes (repeating groups) have been removed.
- 2NF
Any partial functional dependencies have been removed
- 3NF
Any transitive dependencies have been removed
- BCNF
Any anomalies resulting from functional dependencies have been removed
- 4NF
Any multi valued dependencies have been removed
- 5NF
Any remaining anomalies have been removed
The table in 0NF :
The tables in 1NF :
- identify partial functional dependencies. Check whether every non-key attribute is dependent on the whole key(not the part of the key)
PART-DESC(Part Description) is depended only on PART-No, which is part of the key of
PO-PART relation.
The tables in 2NF :
- identify transitive dependencies. Check whether each non-key attribute is only dependent on the whole key, and not dependent on any non-key attribute.
SUPP-NAME (Supplier name) is a non-key field depended on another non-key field
(SUPP-No) in addition to be depended on the key PO-No (purchase order no)
The tables in 3NF :
From the data modeler’s point of view, the objective of normalization is to ensure that all tables are at least in third normal form (3NF). Some very specialized applications, such as statistical research, might require normalization beyond the 4NF.
Comments
Post a Comment