What is Normalization??

Normalization in the simplest terms:
Normalization is the process of organizing data in a database. The target is to eliminate redundant data (for example, storing the same data in more than one table) and ensure sensible data dependencies in other words, only storing related data in a table.

First Normal Form (1NF)
First normal form (1NF) is the basic step:
    * Eliminate duplicate columns from the same table (mind it not duplicate rows)
    * Create separate tables for each group of related data and identify each row with a unique column i.e. set of columns (primary key).

Second Normal Form (2NF)
Second normal form (2NF) further removes duplicate data:
    * Should meet the first normal form.
    * Remove subsets of data that apply to multiple rows of a table and place them in separate tables.
    * Create relationships between the new tables and their parents through the use of foreign keys.

Third Normal Form (3NF)
Third normal form (3NF) goes one step further:
    * Should meet the second normal form.
    * Remove columns that are not dependent upon the primary key.

Fourth Normal Form (4NF)
Finally, fourth normal form (4NF) has one additional requirement:
    * Meet the third normal form requirements.
    * There should be no multi-valued dependencies.

Significance is high upto the 3rd normal form. Thereafter the need & existence dries down a little. However we are not to forget the importance of Denormalized databases on OLAP segments. Please refer to MS SQL Server BoK for more details.

Some more benefits of normalization:
a) Optimized queries (because normalized tables produce rapid, efficient joins)
b) Faster index creation and sorting (because the tables have fewer columns)
c) Data integrity (because there is no redundant, neglected data)
d) Faster UPDATE performance (because there are fewer indexes per table)
e) Improved concurrency resolution (because table locks will affect less data)

Comments

Popular posts from this blog

Automatic Replenishment ~ Warehouse Management (WM) in SAP

Teradata - Month End Date

Cross Domain Webix Post