Re: Does Codd's view of a relational database differ from that ofDate&Darwin?[M.Gittens]
Date: Tue, 21 Jun 2005 10:48:16 +0200
Jan Hidders schrieb:
> Well, that clarifies the discussion a bit. It's pretty obvious (though
> some in this group will probably argue otherwise) that the RM as a data
> model is rather clunky and low-level and that it is easy to come up with
> a data model that is more elegant and expressive. Many already have. But
> one should keep in mind that this is actually a feature, not a bug,
> because the point of RM is not just to be a good data model, its purpose
> is to be a good data model for the logical layer of the DBMS. That's
> similar, but not exactly the same.
> After looking a bit longer at your model I think FDM might be especially
> relevant, and probably even more so in it's modern incarnation that is
> the data model for Description Logics. It's very simple. Its
> formalization can be given in half a page or less. I can explain it to
> my students and probably to most participant in this group in 10
> minutes. It has an associated logic that is well know, very expressive
> and has nice computational properties. It doesn't have the limitation
> that the schema graph should be a lattice, but if you would so desire
> you could probably easily add a notion of "spanning lattice" that would
> allow the automatic guessing of paths between distant classes.
After reading the paper
D. W. Shipman. The functional data model and the data language daplex. ACM Transactions on Database Systems (TODS), 6(1):140--173, 1981
I found that in many aspects FDM is very similar to COM, especially in
query language. FDM is really very simple and rather natural. The main
difference of COM from FDM is that in COM everything is about order. In
other words, order and duality is of the highest priority in this model
because it determines all other features and mechanisms. As a
consequence we can define the model canonical semantics (its ultimate
meaning expressed in some primitive form which can be used to compare
with other models and to perform various semantic manipulations with the
whole model a global construct without separating its parts). I do not
say that in COM all these things are already implemented/described - I
just say that these questions have the highest priority for the model.
In FDM, in contrast, we have a natural modelling facilities and nice
query mechanism but what about globality? What is the model as such by
itself? (The same question touches also most other models including the
RM.) For example, in FDM we can define almost arbitrary graph of
functions. As you say, it is possible to constrain it to a lattice. But
the main problem is again in priorities:
"I can constrain a model to a lattice (if I like it)"
is completely different from
"My model IS a lattice from the very beginning and nothing else". In particular, if I order relations in the RM as a lattice and then add a couple more constraints and features then I will get COM.
(Again, this is my impression after reading that rather old paper, so may be there are newer results.)
COM can be viewed as a mix of:
- UR model (with its ambitious goal of solving the problem of logical navigation by having a final semantics and simpler queries),
- FCA (with its treatment of order and duality as primary things in data modeling).
- FDM (with its natural modeling and querying mechanism),
- OLAP (with its powerful dimensional modelling, grouping and aggregation facilities)