Re: Does Codd's view of a relational database differ from that ofDate&Darwin?[M.Gittens]
Date: Fri, 17 Jun 2005 19:06:04 GMT
Alexandr Savinov wrote:
> No, I do not discard the RM properties and functionality. In COM you
> still can use all relational features. What I claim is that you will
> need to use them because you can reach your goal in a simpler way. COM
> is completely compatible with RM - it simply makes some mechansims
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.
This means two things. The first is that you should not call your model a database model, because that is not it's purpose; its purpose is to be a (higher level) data model. As a consequence it is not that useful to compare it to the RM. What you should compare it to are other data models that have more or less the same purpose, such as Shipman's FDM, Halpin/Nijssen's ORM/NIAM, Abiteboul/Hull's IFO, all kinds of extended ER models (e.g. Thalheims HERM), Kuper/Vardi's LDM, and probably many more I cannot think of right now.
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.
As far as I understand your model the basic structure is very similar to that of FDM-like data models (basically ER restricted to binary relationships) and what you add to that is an interesting enhancement but I wouldn't describe it as a completely different paradigm or a radical new data modelling philosophy. Note btw. that in FDM the problem of defining the join conditions is actually not that much of a problem anyway, certainly not as much as it is in the RM, because you use path expressions which are a much more compact and natural way of describing those anyway. So you would actually only solve a minor problem. Still, like I said, not uninteresting, and combined with the stuff on aggregation and propagation you might actually be on to something.
- Jan Hidders