[dba-SQLServer] The point of 5NF and BCNF

Arthur Fuller fuller.artful at gmail.com
Fri Jan 29 12:22:33 CST 2016


I confess that I'm growing a bit tired of this topic, but I've recently
read a dozen or so topics that suggest that 3NF (third normal form) is as
far as you need to take your normalization design. I emphatically disagree,
and pose the suggestion that BCNF (Boyce-Codd Normal Form) and 5th Normal
Form are the intelligent paths to follow when designing databases.

Let us consider an entry such as "London". The first one that comes up in
my broweser, given that it knows where I live. is London, Ontario, Canada,
with about a dozen entries. Then comes London, England, including (way
cool) a  site for renting apartments in London, England.

In a 3NF implementaition, it would be possible to select London, Denmark,
both of which individual choices make sense, but not in the real world.
There is no London in Denmark. So the choice facing the developer is a) on
the front end, refresh the dropdown box to show only the recognized cities
in Denmark, or b) to let the user play fast and loose with the rules.
Nither choice is acceptable to me. I want London, Ontario to be
distinguished from London, England -- and that's why we have BCNF and/or
5NF.

-- 
Arthur


More information about the dba-SQLServer mailing list