Joe Celko's Data and Databases: Concepts in Practice
By Joe Celko
Chapter 22: Normalization
Chapter 22: Normalization
Overview
The normal forms (NF) are an attempt to make sure that you do not destroy true data or create false data in your database. Normalization, in 25 words or less, avoids errors by representing a fact in the database one way, one time, and in one place. If a fact appears more than once, one of the instances of it is likely to be in error?a man with two watches can never be sure what time it is.
Normalization is not mysterious, but it can get complex. You can buy CASE tools to help you do it, but you should know a bit about the theory before you use such a tool.
22.1 Anomalies
In informal terms, normalization seeks to structure the database in such a way that it correctly models reality and avoids anomalies. That is, when I perform a legal action on the database, the database as a whole is a correct model. Because there are three possible actions, there are three basic kinds of anomalies:
1.
Insertion anomalies
2.
Update anomalies
3.
Deletion anomalies
Data anomalies are easier to explain with an example, but first please be patient while I define some terms. A predicate is a statement of the form A(X), which means that X has the property A. For example, ?John is from Indiana? is a predicate statement; here, ?John? is the subject and ?is from Indiana? is the predicate. A relation is a predicate with two...
Copyright Morgan Kauffmann Publishers 1999 under license agreement with Books24x7