Re: Does Codd's view of a relational database differ from that ofDate&Darwin?[M.Gittens]
Date: Thu, 16 Jun 2005 13:59:41 +0200
>>Yes, we need to add more information into our model so that the database >>knows what to do if queries do not have enough information. In other >>words, the model has more information while queries are simpler. >>
> Please explain what exactly you mean by the expression "the database knows
> what to do if the queries do not have enough information". 'Knows' in what
> sense ? As an AI specimen or in some other sense ? Also please give some
> specific examples of those queries illustrating your statement.
I feel that even if I answer you will still be unsatisfied. Here is one posssible concrete answer. My database needs to be able to answer the question: "retrieve(Employees) where Manager='Jones'. For this query to execute the database has to know more about relationships between data items and data semantics. In particular, the data is NOT a collection of tables - it is hierarchically and multidimensionally ordered tables (I write in terms of RM). Do you feel a difference between a flat collection and a lattice? Or I should explain it some "more specific way"?
>>>>RM is too low level mnodel and in this sense we are able to implement >>>>almost everything. The main problem is that the database itself (the >>>>model itself) is unaware of what we are doing, what we are implementing, >>>>what our data means, what is the purpose of some query.
> In what specific way do you propose the database should be aware of "what we
> are doing" ?
> No, it cannot. In your private vocabulary maybe.
If you look at different papers then you can easily find different definitions and/or interpretations. Semantics just like syntax, data or program is a kind of term that is overloaded and needs to be defined concretely for each new theory or its variation. Or you have an ultimate and final definition of the term "semantics"?
>>function applied to a set. It is more general - strictly speaking we can >>aggregate (project) everything and deproject everything.
> What's 'project' and 'deproject' supposed to mean ?
Sorry, but I am not able to describe it formally in the format if forum for obvious reasons. Informally, if you have hierarchical dimensions then you can propagate avialable information (data items) or constraints upward or downward. The former is said to be projection, the latter is said to be deprojection. Acutally, it is analogous to the conventional mathematical treatment of these terms. Take 3 points in 5 dimensional space and then project them onto one axis. The same can be done with data items. And vice versa, you can take points in low-dimensional space, then add more dimensions and then find their representation and the high-dimensional space (aka cylindrical extension). You need to use deprojection if you have some constraints at high level and want to derive consequences. After you depoject till the bottom concept you can again project it into the target concept (from where you want to retrieve data).
> Also, you still did not answer how the notion of 'singularity' and
> 'delta-function' is related to nulls. Eagerly awaiting.
As far as I remember I explained that. Here is that definition again: - a value (a variable taking a value) = a possiblity distribution which is equal 0 (impossible) everywhere except for one point. - null = a possiblity distribution which is equal 0 everywhere in the domain - unknown = a possiblity distribution which is equal 1 everywhere in the domain (everything is possible)
The term delta-function and singularity are used to denote a function that is 0 everywhere except for one point (and the integral is 1 if you like). But it is just for analogy for those who understands what it is.
-- alex http://conceptoriented.comReceived on Thu Jun 16 2005 - 13:59:41 CEST