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

From: Jon Heggland <heggland_at_idi.ntnu.no>
Date: Sat, 2 Jul 2005 17:00:16 +0200
Message-ID: <MPG.1d3090047ca421bf9896ca_at_news.ntnu.no>


In article <Xdjxe.135078$8T6.7279748_at_phobos.telenet-ops.be>, jan.hidders_at_REMOVETHIS.pandora.be says...
> For query languages for ORM see for example
> http://www.orm.net/queries.html or the work by Arthur ter Hofstede et al
> http://citeseer.ist.psu.edu/70483.html and if you give me a week I can
> invent two more myself. :-)

I did not ask for query languages, I asked for operators.

> Really, why do you think coming up with such
> a language would be a problem?

I didn't say that I do---please don't put words in my mouth. I want to know whether the operators they define (if they do) are logically different from the relational operators, and if so, whether they are orthogonal, sound, closed and complete.

Syntactical sugar on top of SQL or relational algebra is all well and good---I don't object to raising the level of abstraction in that manner. But that does not mean that the RM is inadequate or "crippled"---quite the opposite!

> > I can't claim much experience using ORM; I have only read a few books
> > and articles. But my impression is that ORM's concept pretty much map
> > 1:1 to the RM. Object type = domain. Reference scheme = possrep.
> > Relationship type = relvar. Uniqueness constraint = key. If we renamed
> > the RM terms to match, would it then be an ER model?
>
> No. In ORM NOLOTs are abstract. It is more correct to say that the RM is
> basically ORM restricted to LOTs. A very grave and crippling restriction
> indeed.

What does "abstract" mean? That values of that type have "identity" as distinct from value? (Why use that word?) I consider that a bug, not a feature. What is crippling about dispensing with such counterintuitive notions?

> > What defines whether a conceptual
> > modelling notation is ER-like or not? The use of the words "entity" and
> > "relationship"?
>
> Yes, these should be the fundamental concepts and they should be used in
> more or less the same way.

As I asked earlier: If we renamed the RM terms to match, would it then be an ER-like model? I note that ORM does not use the term "entity", and that Nijssen and Halpin's original(?) book used "fact type" instead of "relationship type".

Is it then the concept of NOLOTs that make ORM ER-like, but RM not? In that case, the "classic" ER model is not ER-like!---it does not speak of identity separate from keys.

> > My main beef with ER is the relatively arbitrary separation of entities
> > and relationships. ORM avoids that (though it does separate "non-lexical
> > objects" / "entities" and "lexical objects" / "values", perhaps a bit
> > needlessly).
> >
> > And ORM can specify (the equivalent of) multiple candidate keys, and
> > keys for relationships. I really miss that in (Chen's) ER (and most
> > variants thereof).
>
> Oh yes, and it is very easy to add all that.

Of course. But if you keep adding, you generally end up with something different than what you started with. You are widening the definition to the point of uselessness.

> > Formalising the ER model is a no-brainer, but formalising the RM is not
> > that easy? Is this really what you are saying?
>
> Of course it is. Have you ever written down a full formal definition of
> the relational model in set theory?

Not personally, but what more do you need than definitions of value, domain, tuple and relation, and a minimal set of algebra operators? I can't imagine how any model of similar power could have a significantly simpler and/or shorter definition.

-- 
Jon
Received on Sat Jul 02 2005 - 17:00:16 CEST

Original text of this message