The Database Design Resource Center

Agree with author

by KEN

Nulls create an unbelievable amount of nonsense and special handling in database work. They should never have been allowed. CODD was absolutely correct of course.

Now, to the folks who say that nulls persist the fact that data is "missing" or "unknown" and that is useful and meaningful in database work. Well then, go ahead and make a column that can persist the REASON for some missing data instead of allowing nulls for the data.

Because if you don't do that, then you have no understanding of WHY the data is missing, and therefore any answers to questions about the data are UNRELIABLE.

MAYBE there was a defect in application code that left the data empty (oh, you say, that could never happen?)

MAYBE the data is not applicable.

MAYBE the data is not available.

The point is that unless you KNOW THE REASON the data is missing, YOU CANNOT DRAW CONCLUSIONS FROM ANALYSIS OF THE DATA THAT WILL BE VERY USEFUL (and most of the time will be DEAD WRONG).

And if you don't believe me about the special handling, take a look at some sophisticated and large data warehouses that allow nulls.

If columns allow nulls, almost EVERY SINGLE reference to any column that can have nulls will be wrapped with a "conversion" function to arbitrarily convert the null to some other value, so the queries and reports will work!


Click here to post comments

Join in and write your own page! It's easy to do. How? Simply click here to return to On NULL values.

Exclusive interviews with:
Steven Feuerstein, PLSQL expert
Donald Burleson, Top IT consultant

Free eBook

Subscribe to my newsletter and get my ebook on Entity Relationship Modeling Principles as a free gift:

What visitors say...

"I just stumbled accross your site looking for some normalization theory and I have to say it is fantastic.

I have been in the database field for 10+ years and I have never before come across such a useful site. Thank you for taking the time to put this site together."

Mike, USA

Read more Testimonials

Database Normalization eBook:

Database Normalization eBook

Copyright © / Alf A. Pedersen
All rights reserved.
All information contained on this website is for informational purposes only.
Disclaimer: does not warrant any company, product, service or any content contained herein.

Return to top

Copyright acknowledgement note:

The name Oracle is a trademark of Oracle Corporation.
The names MS Access/MS SQL Server are trademarks of Microsoft Corporation.
Any other names used on this website may be trademarks of their respective owners, which I fully respect.