Link to home
Start Free TrialLog in
Avatar of lcor
lcor

asked on

3rd Normal Form and NULLs

Somebody was telling me that if there are NULLs, then data can't be normalized to 3rd Normal Form.
SOLUTION
Avatar of jrb1
jrb1
Flag of United States of America image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
SOLUTION
Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
SOLUTION
Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
ASKER CERTIFIED SOLUTION
Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Avatar of billmercer
billmercer

Pragmatically speaking, rather than declaring NULLs to be anathema, it makes more sense to simply avoid them as much as possible. If it looks like you're going to have a lot of NULLs, you probably need a separate table for the field. But if unknown values are a rare exception, it may be both easier and neater to use NULLs. Why did Codd make systematic handling of NULLs a mandatory requirement for an RDBMS, if he didn't intend that they should ever be used for anything?

In practice, it probably makes more sense to think of normalization as a continuum rather than a binary state. This database is MORE normalized, that one is LESS. Purists probably disagree, but I tend to think in terms of what's  going to be used in the real world. If you're able to convince a user to split their flat file up, consider that a victory, and don't bemoan the fact that it's not in 3NF.

SOLUTION
Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial