Database designer Alexey Makhotkin is calling for a complete overhaul of how the Fifth Normal Form (5NF) is taught in relational database theory. Writing for kb.databasedesignbook.com, Makhotkin claims that current educational resources, including Wikipedia, use contrived and illogical examples that fail to help developers understand the concept.
Makhotkin argues that the 'ultimate beast' of database normalization is often presented with unnecessary complexity. He suggests that the confusion surrounding 5NF is 'completely artificial' and stems from a failure to use well-motivated, real-world examples.
In his critique, Makhot/kin targets the classic Wikipedia example involving traveling salesmen, brands, and product types. He points out that the logic required to justify splitting tables in that scenario is fundamentally flawed for real-world business applications.
According to the source, the Wikipedia model relies on a rule where a salesperson must offer a specific product type from all brands they represent if they already sell that product type from another brand. Makhotkin notes, “This makes no business sense, and because of that you won’t understand 5NF from this example.”
He further critiqued the wording used in the Wikipedia entry, specifically the claim that a salesperson is 'impossible to refuse' certain products. Makhotkin argues that such a rule would prevent designers from handling normal business cases, such as choosing to sell only one specific brand of a product.
A more logical design approach
Rather than relying on these confusing scenarios, Makhotkin proposes a more structured sequence for designing tables. He suggests engineers should start with business requirements, move to a logical model, and finally design the physical table schema.
His research examines several other common teaching models, such as the 'ice cream' pattern and the 'musicians' star pattern. He argues that by following a textbook strategy that preserves normalization through a proper logical model, designers may not actually need to invoke 5NF explicitly to create efficient schemas.
By focusing on patterns like the 'AB-BC-AC' triangle or the 'ABC+D' star, Makhotkin believes developers can avoid the pitfalls of traditional, poorly constructed academic examples.