28 ms·
This is a very interesting article, especially since I can now appreciate the meaning, having spent the last year doing both SQL schema design and backend devel
by anw 6y ago
This is a very interesting article, especially since I can now appreciate the meaning, having spent the last year doing both SQL schema design and backend development that works off that schema.
The main point here is that Language null is a possible value, whereas Database NULL is a composite with several different meanings, which can often trip up people who are not familiar with how some SQL systems treat it (NULL <> NULL, etc)
The important takeaway from this article is that DB NULL can arise for a variety of reasons (taken from the article):
1. The field has a value but it isn't known.
2. The field has no value because it isn't applicable.
3. A field value could have been inferred but was not inferred, because of an overriding requirement.
4. The field has a value but it is not within the domain.
5. The field value cannot be determined due to an exception.
As the author suggested, "NOT SET" does a good job carrying the meaning behind what NULL is used to accomplish (I also think "NOT GIVEN" or "NOT AVAILABLE" could work and keep the idea.
- ken 6y agoI don't understand how those aren't also descriptions of Language null. Haven't you seen programs that use null in those ways (and several others)? I certainly have.