Re: object algebra

From: Neo <neo55592_at_hotmail.com>
Date: 27 Feb 2004 17:59:35 -0800
Message-ID: <4b45d3ad.0402271759.7044309_at_posting.google.com>


> > If the RDM model does not address NULLs, it is incomplete.
>
> Does TDM address nulls? If not, why not?

TDM doesn't need to address NULLs (within the db) because it uses a different model. Models (such as RDM) that deviate from reality (under the right conditions) generate NULLs.

> > Or there are de facto rules governing NULL otherwise vendors
> > could implement NULL handling differently causing problems.
>
> Here's the rule: NULLs aren't allowed.

Regardless of your rule, NULLs were created in the past, are being create right now, and will continue to be created (under the right conditions) until eternity with RDM.

> > If you were to code a RDM database,
> > you would have to address NULLs. Or do you think otherwise?
>
> I think otherwise. Dataphor folks, feel free to pipe in here.

Per Date "the problem of missing information is one that is encountered very frequently in the real world", "are too common in real-world situations and so it is necessary to have some way of dealing with such situations in our formal database system".

> > Codd is correct about the utility of NULLs with respect to RDM because
> > it creates them. If you create something, you are responsible for it
> > by default.
>
> Where does RDM create them?

In any tuple where reality can't provide the attribute anticipated at design-time of the relation header.

> 1. Yes, NULLs violate relational closure

Agreed.

> 2. Yes, they should not be allowed

With RDM, 100% assurance can't be provided. The rule that causes this is the same one that gives RDM its efficiency for its scope.

> 3. Furthermore, according to Date, they're not allowed

I believe, he is talking about NULLs not being allowed in the ideal model.
RDM is very close, but isn't an ideal model.

> 4. Furthermore, Date gives ways to avoid them

Per Date: "3VL suffers from the very serious ("showstopper") problem that it does not match reality, that is results that are correct according to 3VL are sometimes incorrect in the real world".

> 5. The eye color set examples are perfectly sound set theory,
> and thus also help the matter

While the set EyeColor = {black, brown, NA, UNK} is perfectly valid (I previously stated incorrectly), the result is a weaker relationship between the set and its elements and closure is still hindered.

> 6. RDM can represent things without nulls

Luckily for many applications it can. There are some applications where you would have to resort to generic modelling which in the extreme case would result in a db with one two-columned table, and would be impractical. If one implements Ex76, they should see that pattern emerging.

> 7. Just because you have a database design X, and encounter some data that
> won't fit into it, doesn't mean the data model (relational) is wrong. It
> means your design is wrong.

No model is "wrong". They are simply subsets of "pure relational algebra". The optimization/"flaw" allows it to simply things for some scope. A poor analogy follows: Who wants to use Quantum (relational algebra) to model a falling ball (tabular-data) when Newtonian (RDM) fits the scope.

> I can't think of any other way to say it, and the above is the same as I've
> typed before. Bob warned me... I knew he was right, and I darn well jumped
> in anyway...

Let logic, not Bob, not Date, nor ink on pages of prestigious volumes, be your ultimate guide :) Received on Sat Feb 28 2004 - 02:59:35 CET

Original text of this message