One of the more crucial topics in the area of database management is the process of normalizing the tables in a relational database.
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 requires them, (4) permit efficient updates of the data in the database, and (5) avoid the danger of losing data unknowingly.
the primary reason for normalizing databases to at least the level of the 3rd normal form (the levels are explained below) is that normalization is a potent weapon against the possible corruption of databases stemming from what are called “insertion anomalies,” “deletion anomalies,” and “update anomalies.” these types of error can creep into databases that are insufficiently normalized.
Normalization can be viewed as a series of steps designed, one after another, to deal with ways in which tables can be “too complicated for their own good”. 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.
At all levels and in every case of table with a complication , the resolution of the problem turns out to be the establishment of two or more simpler tables which, as a group contain the same information as the original table, but because of their simpler individual structures, lack the complication.