Normalization is the process of successively reducing a given collection of relations to some more desirable form. The normalization process is reversible (a process of no-loss decomposition). More simply, normalization is the process of re-arrange data relationships so that it will be easy to store and retrieve data efficiently.
Normalization is specifically a pure relational theory technique. Its purpose is to examine individual items of data and place them in data groups. Each group must have a primary identifier and set of dependent attribute values. Normalization gives through understanding of the information in the system being analyzed. It also helps to identify the best data group in which to place the data. Redundant or duplicated data can also be removed through normalization.
Normalization is generally a self-auditing technique this implies that if a rule has been incorrectly or incompletely applied, a later rule will help to identify the error.
A normal form is a stage through which data passes towards the creation of a set of relational data base tables. Data passes through many normal forms. A data group is a simply a convenient generic name. With in each normal form stage the data is, divided in to data groups according to the rule being applied.
The underlying ideas in normalization are simple enough. Through normalization we want to design for our relational database a set of files that (1) contain all the data necessary for the purposes that the database is to serve, (2) have as little redundancy as possible, (3) accommodate multiple values for types of data that require them, (4) permit efficient updates of the data in the database, and (5) avoid the danger of losing data unknowingly.
The purpose of normalization is to reduce the chances for anomalies to occur in a database. The definitions of the various levels of normalization illustrate complications to be eliminated in order to reduce the chances of anomalies.