Heuristics and normalization are the goals of all databases. Heuristics refers to a trial-and-error method of problem-solving used when an algorithmic approach is impractical. Normalization refers to removing redundancy from a database schema and to have the schema maintain some data integrity without procedural code. The goal of normal forms is to avoid certain data anomalies that can occur in unnormalized tables.
Read the 23-page whitepaper “Normalization Heuristics” by Joe Celko to learn about the rules for table design heuristics for relational models. The whitepaper describes how a schema should have few, if any, NULL-able columns, looking for entities, looking for keys, looking for non-key attributes, looking for multiple-column keys, how a normalized schema has a single fact in one place, trying not to store computed data, entities versus relationships, and much more.
The author, Joe Celko, serves as Member of Technical Advisory Board of Cogito, Inc. Mr. Celko joined the ANSI X3H2 Database Standards Committee in 1987 and helped write the ANSI/ISO SQL-89 and SQL-92 standards. He is one of the top SQL experts in the world, writing over 700 articles primarily on SQL and database topics in the computer trade and academic press. The author of six books on databases and SQL, Mr. Celko also contributes his time as a speaker and instructor at universities, trade conferences, and local user groups.