Re: Joins with nulls
Date: Sun, 24 Nov 2002 00:20:40 -0500
Message-ID: <7mZD9.11031$kS3.1845079_at_news20.bellglobal.com>
Bob Badour wrote:
>
> If first name and last name are always known, I see no need to put
> them in separate relations. The absurdity lies in your example and
> not in any problem of data management. For someone with a single
> name, like Meatloaf, make the last name an empty string. We know
> what the value of an empty string is: a string of zero characters.
> An empty string equals any other empty string and collates "less
> than" any non-empty string.
Hello:
I admit the tone of my follow up may have been a little harsh, but:
Also, with respect to the example, it is one everyone can relate to. More obscure examples I must deal with, involving data entered by labourers, would require more background. I struggled for some time to determine how to set things up so that when someone failed to enter a piece of information, I wouldn't be faced with a null. It is just not possible. At times there will be blanks. The correct answer when asking a question of the data in these cases is NULL, no known answer.
For another analogy, consider Date's Suppliers and Parts database. Examine his table S. The person who gets the data is able to determine that S1 is Smith with status 20, but we don't know and can no longer determine the city. We now have a table with missing data. A null. This type of situation represents 10% to 40% of the data I work with. It's not my job to change how the operators work (i.e. the collective agreement), it's my job to capture the information (sometimes incomplete, which in itself is information). From what I have seen, there is no rational way of doing this without nulls. I believe it is precisely this type of situation that Codd envisioned when he stated that a true relational system must have a means of dealing with missing data.
JE Received on Sun Nov 24 2002 - 06:20:40 CET