Re: Has E/R had a negative impact on db?

From: JOG <jog_at_cs.nott.ac.uk>
Date: 24 Apr 2006 08:12:49 -0700
Message-ID: <1145891568.891707.39790_at_t31g2000cwb.googlegroups.com>


Jan Hidders wrote:
> JOG wrote:
> > Just a thought.
>
> Likewise. :-)
>
> > I don't like entities. In fact I despise entities, as the enemy of good
> > information philosophy. You see I just don't accept their existence.
>
> Actually, I don't see what you could possibly mean with that, and to
> the extent that I can guess a meaning I find that a rather baffling
> statement.

Agreed, in a scientific paper, I would be embarressed by such nonsense, so take it with a pinch of salt - the prose is purple to engender responses, however one wishes to interpret such a rant. The point I am really making is that I see no satisfactory distinction between entities and relationships, that I find this jarring, and that perhaps making this split may not always be productive. Nonetheless, from this thread I have discovered ORM and have been pretty impressed by it.

> The usual definition of 'entity' in the context of data
> modelling for database is something like "things that can be identified
> and which we would like to store information about in the database". If
> that's how I interpret your statement then you seem to be saying that
> you don't believe there are such things, and since we cannot store
> information about things we cannot identify, this leads inexorably to
> the conclusion that you don't believe that we can store information
> about anything interesting in a database.

Right, so your working definition is that entities are "things that can be identified and which we would like to store information about in the database". Relationships however are also things, they can be identifed and we would like to store them - so the definition appears to be on a sticky wicket.

>
> Yes, I have just put words in your mouth, but you shouldn't have left a
> hole there. :-)

Not a problem. I left the hole there, I expect it.

> If you are going to rant about something you despise,
> you better define it properly.

This is circuitous as what I am actually 'despising' is the fact that I have trouble making that definition.

>
> > There is no magical wrapper surrounding some construct that turns it
> > into a nicely formed 'thing' or 'object'.
>
> What makes you think a wrapper is needed?

The use of the term 'entity' has seemed to me to be as a collection of attributes or properties, wrapped up together. Objects equally are wrappers in that they encapsulate whatever is inside. I may have missed your point - I was just inferring that these groupings of attributes are made in pragmatic fashion and that there is no right or wrong to them.

>
> > Sure, we can invent them, but
> > there is never any inherent truth to their boundaries.
>
> When making an ER / ORM / ... some ER dialect ... model one doesn't
> identify boundaries, except perhaps when determining part-of
> relationhips, so I have no idea what you are talking about here. Until
> you further explain this it looks mainly like pseudophilosophical
> nonsense to me.
>
> > To me the situation get worse when one then adds relationships between
> > entities. What on earth is the difference between an entity (an
> > association of attributes) and a relationship (an association of
> > entities), except for the fact that a relationship is constrained to
> > being binary.
>

> What makes you think a relationship is necessarily binary? And why do
> you think it is a problem that the distinction between relationsips and
> entities is not clear?

Well, I offered the suggestion that this may have encouraged a navigational viewpoint of data, between nodes connected by links.

> Does it also bother you that the distinction
> between a relation and a foreign-key relationship is not always clear?
> Or between a unary relation and a domain?

I'm not sure how these comparisons are relevent, but yes (although I believe I am wrong to be bothered by it) and no. I am far more concerened however with the fact that my hair is starting to grey.

>
> > Nothing. In fact all they are, are special cases of n-ary
> > relationships, or 'associative entities'.
>
> No, that is clearly false. Not every entity is necessarily identified
> by its associated attributes, identification could be more complex
> and/or indirect than that.

Well, clearly not clearly. Would liebniz equality not state that the only thing that identifies an item is very much its atrributes? Given an E/R relationship can always be restated as an associative entity I'd appreciate if you could expand on this.

>
> > Now Codd grokked this. I am sure he did. That's why the RM has no
> > 'links' and pivots on the information principle.
>
> Codd is not on you side here. The surrogate identifiers qualify as
> "links" and why, if he thought the term "entity" meaningless, did he
> use it?

Well I am on no side (these are merely musings). AFAIK surrogate identifiers were not supposed to be seen or manipulated by the user so these 'links' were internal, so I'm not clear as to your objection there.

Either way, the point I was making is that his model does not distinguish relationships and entities. I'd believe this has proven to be a good thing - but I get the feeling you think there may be an alternative?

>
> > Okay, so for those in the know this isn't an issue and E/R is a useful
> > tool. But for those not in the know (which appears to be a lot of the
> > industry) it promotes the fallacy of the Entity/Relationship
> > distinction, of impenetrable wrappers, and encourages the mindset that
> > has lead to OODBMS, XML databases, etc.
>
> Gee, James, here I was thinking I was in the know and it turns out that
> I couldn't disagree more, so apparently I'm not(!).

No, outside of being perplexed by the time you've spent working with XML databases, I'd say you were very much in the know. I value your responses Jan.

> I would argue that
> it is exactly *because* ER dialects were ignored as a viable
> alternative for a DBMS logical model, and consequently got swallowed up
> and crushed in the OODBMS avalanche, that the field of database theory
> has been held back. Serious study of object / entity identity would
> have led to simpeler and more general models, and we would have had a
> better understanding of schema evolution and temporal databases.

That is equally interesting to me. To your knowledge has anyone ever done such a study?

>
> -- Jan Hidders

All best, Jim. Received on Mon Apr 24 2006 - 17:12:49 CEST

Original text of this message