- Normalization is the process of organizing data into smaller, more manageable tables that are protected from redundancy and anomalies.
- Third normal form is considered the highest level necessary for most applications. Disregarding fourth normal form (AKA Boyce Codd Normal Form / BCNF) or higher levels may result in less than perfect database design, but should not affect functionality.
- In theory, normalization is worth pursuing, but practically, many small tables may degrade performance or exceed open file and memory capacities.
- Adhering to the third normal form, while theoretically desirable, is not always practical or necessary. It may be more feasible to apply third normal form only to data that changes frequently.
- If you decide to violate the rules of normalization, make sure that your application anticipates any problems that could occur, such as redundant data and inconsistent dependencies.
Unnormalized form (UNF)
printer_ip | print_jobs | error_code | error_msg |
192.168.2.4 | {"user101":"payload..."},
{"user102":"payload..."} | 1996 | paper jam |
192.168.61.165 | {"user999":"payload..."} | | |
|
Rules to satisfy first normal form (1NF)
Rules to satisfy second normal form (2NF)
Rules to satisfy third normal form (3NF)
"The key (1NF), the whole key (2NF), and nothing but the key (3NF), so help me Codd."