Reputation: 376
Mostly if you see the internet only up to 3rd or 4th normal forms are discussed, if you read there are up to 7 normal forms so why aren't they discussed by people on the internet you hardly find any example related to them whether on YouTube or any any other place.
Upvotes: 3
Views: 534
Reputation: 15157
Mostly a combination of 1. ignorance of benefits and 2. limitations of DBMSs.
One could blame the limitations on the ignorance--of designers & implementers but maybe mostly of users, leading to no market, leading to limitations. Ignorance includes not just the benefits of normalization but of integrity constraints.
Normalization to higher NFs replaces a base table by components that are projections of it that natural join back to it. Put another way, normalization replaces a table that has a row membership criterion of the form ... AND ...
by a table per ...
. Problem AND
s tend to be intuitively obvious so initial table designs are mostly already in 5NF.
All base tables can be normalized to 5NF. But 5NF designs can require checking that natural joining components & taking projections gives back the components. Sometimes that requires joining but it can involve less. Received wisdom that 3NF is adequate ignorantly wrongly assumes 3NF relations are only ever so slightly away from 5NF.
The DBMS limitation issue is that declarative constraints (or SQL triggers & atomicity) necessary for 5NF integrity are not usually easily available. But even so, if people only want to use the declarative constraints typically available (SQL PK, UNIQUE, NOT NULL, FK, CHECK & indexes) then they ought to normalize to 5NF and then consciously denormalize. In denormalizing they choose to avoid the cost of maintaining 5NF. But for proper integrity their code then has to pay the cost of dealing with the consequent update anomalies. Arguments against 5NF criticize the former cost but ignore the latter cost.
PS Normal forms are just different conditions that have been found with helpful properties. Also different axioms and algorithms. The normal forms on the continuum from 1NF to 6NF are those dealing with problematic FDs (functional dependencies) and JDs (join dependencies). They can be ordered so that if a relation value or variable satisfies a form then it satisfies the forms before but not necessarily after. Currently: 1NF (Codd 1970), 2NF (Codd 1971), 3NF (Codd 1971), EKNF (Zaniolo 1982), BCNF (Codd 1974), 4NF (Fagin 1977), ETNF (Darwen, Date, Fagin 2012), RFNF aka KCNF (Vincent 1995), SKNF (Vincent 1997), 5NF aka PJ/NF (Fagin 1979), Overstrong PJ/NF (Fagin 1979), 6NF (Date, Darwen, Lorentzos 2003).
Upvotes: 3