What is "normalization"

Data normalization is a series of steps that follow in the design of a database, allowing consistent storage and efficient access to data in relational databases. These steps reduce data redundancy and the chances of data becoming inconsistent.

However, many relational Dbms do not have sufficient separation between the logical design of the database and the physical implementation of the database, and this has the consequence that queries to a fully normalized database perform poorly. In these cases, denormalization is sometimes used to improve performance, with the cost of lower guarantees of consistency.