Re: Does Codd's view of a relational database differ from that ofDate&Darwin?[M.Gittens]
Date: Mon, 20 Jun 2005 19:49:14 GMT
> In short, it appears that FDM uses the same data model as the OODB
> does (ignoring minor syntactical and terminological differences, like
> 'entity' vs. 'class').
If you restrict yourself to the structural side of the data model, i.e., how data is structured, then they are the same. (With the additional remark that we are looking at the pure OODB data model, for the impure model, as defined by e.g. IFO or the related IQL data model, the relationship is not that simple.) But in this case the query languages are wildly different; where Java is imperative DAPLEX is a declarative functional language.
> "Navigational" is probably not a good word. I should have written that
> a Daplex query produces items ('print') in an imperative way:
> for each s in employee
> print(getName(s), getAge(s),
> ... which might make one to assume a mental navigational model for the
> entire language, rather than declarative/functional ['functional' as
> in functional programming] one.
If your above example would be written in ML it would look roughly the same. There is really nothing imperative about it and I am somewhat astonished (and with me probably the largest part of the functional programming language research community) that you think there is.
True. Why would that be a problem? Is there something we cannot do because of this? Query optimization is not a problem. Composing statements is also not a problem. Defining views might be, but it's not clear to me how deep that problem is. What exactly would a "view" be in this context anyway?
> [...] I'd be interested, though, to understand what the FDM has to
> offer that might be different from the OODB approach.
If you define "the OODB approach" roughly as "a graph-based data model with a declarative query language" then my answer would be a clear and firm nothing.
- Jan Hidders