Re: Does Codd's view of a relational database differ from that ofDate&Darwin?[M.Gittens]
Date: Wed, 15 Jun 2005 08:36:31 +0200
In article <42ad57c3$1_at_news.fhg.de>, savinov_at_host.com says...
> Jon Heggland schrieb:
> >>database. So why rows from table Products are positioned only along 2
> >>dimensions Price and Size?
> > Because those are the only ones that are relevant in your problem
> > domain. Occam's razor?
> What does it mean to be relevant? It is too informal.
Relevant to the needs of the users of the database. Are there any kinds of facts about products in the real world other than price and size? If so, include them in the model. If not, don't---it is irrelevant or flat out wrong. In the end it might be said to be an informal value judgement, but you have to make that decision somewhere. The point is to model some aspect of reality. Specifying what dimensions or properties are relevant for for the different parts of it is an important part of that, in my opinion.
> My inference
> engine needs to know precisely how to interpret such a situation.
Then perhaps we are arguing at cross purposes yet again. I'm thinking about the convenience of the users, not the inference engine.
> I define all data items as having some position along all dimensions. If
> the position has NULL value then I can write it explicitly. If some
> dimension is known in advance to have always NULL value for some set of
> items then this dimensions is said to be inapplicable, meaningless etc.
> Such dimensions are not included into the definition of this set of
> items (into a set of table columns).
Then what are we arguing about? Are you saying that Age is not always NULL for products / some products have an age? In that case, the twotable relational model in your example does not match reality, and it is a straw man. Or are you talking about efficient implementation of your conceptual concept-oriented model?
> That is actually a mechanism of
> imposing syntactic constraints. So the principle of Occam's razor is
> very relevant here: in this way we indeed decrease the number of basic
> elements of the model (the primary goal of the concept-oriented model).
> > They have none. But anyway, aren't you the one that argues that "their
> > position is NULL" and "they have no position" is equivalent? Isn't it
> > then mainly a matter of syntax/presentation? I just don't like to use
> > the NULL word; it has too many meanings.
> Ok, NULL is too ambiguous. I mean that we need something that will
> denote an absence of coordinate value for a data item (is not positioned
> along some dimension, is absent from that point of view, imapplicability
> of this variable and other informal interpretations).
Why do we need that? Why not denote absence by absence? If something is
present, everything else is absent---it saves you the trouble of
explicitly denoting the universal compliment of you problem domain.
> with which we can play. In particular, such questions as "What is power
> in kW of some house or what is area of some car" are absolutely legal.
> Moreover, it is very important to have such questions and answers legal
> because it is necessary for aggregation, inference and other mechanisms.
Please show and tell.
> But when I see a model or a system I am always interested in answering
> the following questions:
> - How many dimensions (degrees of freedom) does it have?
> - If I have two states of this model or system then can I say that one
> of them is more general than the other (and equivalence as a particular
> - How can look at it at different levels of details? In other words, how
> can I produce something that is qualified as an abstract/general
> representation of this very initial model or system?
Isn't first-order predicate logic useful for this? Relational databases do this all the time.
-- JonReceived on Wed Jun 15 2005 - 08:36:31 CEST