Normalized Relational Database Design

I frequently find myself with the urge to explain normalized relational database design.  I feel that many world problems would be solved if only people understood this concept.  I have often been given data to load into a database only to find that it has inconsistencies due to a lack of normalization.  When I encounter a database that has problems, I feel the need for an organized presentation that can illustrate this concept.

The sad fact is that normalization of databases is a very easy concept to understand.  Although entire books have been written on it, the basic tenets are simple and will guide you in the majority of circumstances.  Unfortunately, these simple concepts are frequently masked with technical jargon which makes it difficult for most people to comprehend.  Using simple examples, I will illustrate the concepts of normalization and translate the technical jargon into ordinary English.  

There are some SQL query language statements in the discussion.  However, even if you don't know SQL, you may be able to follow what the statements are doing.  If not, the examples alone should be sufficient to illustrate the rules of normalization.

Within 20 minutes, you too can master the concept of normalization.  Just follow the links below.

The first rule of normalization

The second rule of normalization

The third rule of normalization

Beyond Normalization