Re: Does Codd's view of a relational database differ from that ofDate&Darwin?[M.Gittens]
Date: Mon, 13 Jun 2005 11:53:49 +0200
Jon Heggland schrieb:
>>You have dimensions in >>your database (say, 1000 in all the tables) and you have rows in this >>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. My inference engine needs to know precisely how to interpret such a situation. 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). 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).
In addition to dimensions we have (we need to introduce) subdimensions or inverse dimensions, which are formally dual to dimensions. Subdimensions are set-valued (relvars, collections, multi-valued attributes etc.) If dimensions point up in the table graph (concept graph) then subdimensions point down.
A little mit more definitions and we get the concept-oriented data model 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.
>>It is not only theoretcally meaningful question - >>it is practically needed to be answered because rows can be present in >>other dimensions (have values) implicitly via other rows.
> What do you mean by this? I suspect we have further trouble
> communicating because of the issue whether "objects" have identity
> beyond their properties/attributes.
>>Such a model then has a canonical (primitive) semantics and we can ask >>such questions as "are two models semantically equivalent" or "is model >>1 more specific than model 2", "how the model looks like at some level >>of details".
> That (if true) might be useful for some purposes, but it is not
> compelling enough for me to discard the RM. Are you certain the RM does
> not also enable this?
- 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 case)?
- 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?
- If I impose some constraints then what consequences I can derive?
Since I could not find acceptable answers for these and many other questions, I developed a new model.
-- alex http://conceptoriented.comReceived on Mon Jun 13 2005 - 11:53:49 CEST