Re: Does Codd's view of a relational database differ from that ofDate&Darwin?[M.Gittens]

From: Jan Hidders <jan.hidders_at_REMOVETHIS.pandora.be>
Date: Mon, 20 Jun 2005 19:49:14 GMT
Message-ID: <_4Fte.125855$qj7.7068792_at_phobos.telenet-ops.be>


vc wrote:
>
> 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),
> getName(getBuilding(getDepartment(s))))

What's imperative about this? Where are the assignments? Where are the while loops?

> ... 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.

> Besides, a Daplex query is not 'closed'.

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
Received on Mon Jun 20 2005 - 21:49:14 CEST

Original text of this message