Re: Do Data Models Need to built on a Mathematical Concept?
Date: 7 May 2003 09:48:18 -0700
> > In the rdb model, each tuple(row) of a relation(table) must be of the
> > same degree(number of columns). Thus if we have a column for Social
> > Security Number, and the person is an illegal immigrant, we will enter
> > NULL (or some arbitrary code). It is the rdb model which requires each
> > tuple to have the same degree which does not match reality. In
> > reality, things need not have the same number of attributes.
> Again, you are describing SQL, and not the relational model.
No, I am describing the Relational Data Model itself not SQL. The Relational Data Model is not in synch with reality here because it uses tuples to represent real things and real things do not need to have the same number of attributes but each tuple in a relation must.
> You can use a special value. For example, you could enter 0
> as the SSN, because 0 is not a legal SSN. This may sound like
> a trivial distinction, but it isn't.
The person's SSN is not 0, a space, a blank or other. The person simply does not have that attribute. Neither should the tuple, that is if it is to model reality more accurately, and isn't that the goal of mathematics.
> Alternatively, you can have a second table for SSN, and have that table
> have a column that is both a primary key and a foreign key to the
> workers table. Thus for each row in the workers table you may have no
> SSN or you may have one; no other case is possible, and the DBMS can
> guarantee this for you.
While the above is an acceptable solution for handling the problem in many specific cases, it is not a viable general solution. In the most general case, a thing may be missing any attribute that is required by the tuple. To handle such a case, I would need to move each tuple attribute to another table. Even the attribute designated as the primary key initially is vulnerable as reality is blind to our model of it. For example, a person may not have a SSN, the government accidently issues the same SSN to two persons, or an illegal immigrant uses the SSN of another. Received on Wed May 07 2003 - 18:48:18 CEST