Re: One-To-One Relationships

From: JOG <jog_at_cs.nott.ac.uk>
Date: Tue, 4 Dec 2007 11:27:02 -0800 (PST)
Message-ID: <a94593b4-9119-4009-8d46-2cd99367e6be_at_y5g2000hsf.googlegroups.com>


On Dec 4, 6:13 pm, rp..._at_pcwin518.campus.tue.nl (rpost) wrote:
> JOG wrote:
> >On Dec 1, 4:52 pm, rp..._at_pcwin518.campus.tue.nl (rpost) wrote:
> >> snip
> >> ER modelling allows me to assert the identifiability of a relationship
> >> *without* reference to identifying attributes.
>
> >This is a contradiction to your previous statement. A relationship can
> >not be identifiable if it has no identity. Its an oxymoron.
>
> Yes, I had a problem with terminology there.

Fair enough :)

> What I meant to say was:
> an entity is a relationship except that an entity is identifiable in itself,
> while a relationship is identified by its (possibly entity-valued)
> attribute values. But I already said that in my previous post.
> By "identifiable" I mean "mentionable", "referrable".

I still think if you examine this again you'll see it really struggles. 'What does identifiable in itself' mean? We can only ever identify things from observable attributes (and refer to them by attributes too!). Give me an example when we don't if you don't believe me! If this is a struggle (I think it will be) its worth considering the possibility that we do actually identify these 'entities' and 'relationships' in exactly the same way (even though it may go against the grain for you at the moment).

>
> >> >> This is the exact problem Chen identified. In the relational model
> >> >> it is impossible to have entity-valued attributes, which, in practice,
> >> >> we have a huge amount of.
>
> >No we do not. Entity's are only ever (ever!) referenced by their
> >attributes, because they are merely conceptual tools. Feel free to
> >give me an example from real life where they are not referenced by
> >attributes, if you do not agree.
>
> The question is not how entities are referred to in statements,
> but how to model the meaning of those statements. Let's take the
> "head of department" example again. Clearly when we obtain the
> information who is head of which department, the statement giving us
> this information will usually address the two relevant entities by name:
> e.g. when I read that Ms Rice is the head of the USA's Foreign Affairs
> department, I see two entities referred to by name.

There's the mistake imo. You have preassumed a conclusion - that entities are there - way before even analyzing the issue. Thats like a religion ("I just believe in them!"), and its a real problem in a debate because it makes everything a fait accompli.

I certainly see no entities in that statement at all. I see words. In fact I can guarantee the existence of those words, but I certainly can't metaphysical 'entities'. I can also see some words in the statement describe roles and some that describe values. Some roles aren't there so I resolve them in my noggin by context (e.g. Ms and capitals indicates the start of a name for example.)

Just roles and values, a logical layer, on which I can impose all sorts of conceptual models.

> Does that mean
> we should express the meaning of that statement, the "head of department"
> relationship, as one between department names and person names?

Why not? Its just data. Whatever conceptual model we want to conjure in our heads afterwards is our own business.

> No, it doesn't, which becomes evident as soon as persons or departments
> change their names.

I 100% disagree, but now your getting into well trodden ground. If a person changes their name are they then a different person? You are saying no, but you are wrong because the actual answer is... It depends! There's just no correct response. If you think this is madness and that obviously we'd still be talking about the same person, I refer you back to the question "are you the same person as when you were 5", or my example about Harry Potter books. Context is everything.

> So while our statements do appear to refer to
> entities entirely in terms of their "printable" attributes (names, in this
> case), the actual relationships they convey are not limited in this way.
>
> Frege used a different example, of course (morning star / evening star).
> [snip]
> My conclusion is that "head of" is a *reference* to the person entity,
> and that we need entities (or references) as first-class citizens in
> order to correctly express the meaning of this statement.
> "Correctly"
> not in some esoteric metaphysical sense, but in the sense of being able
> to maintain correct information in a database even when its attributes
> may change.

You recognize two items as the same thing in the real world, by some consistent attribute (or set thereof). Pick the right ones, otherwise your database will break. You highlight flaws in a designers schema, not problems in an underlying model. And don't underestimate how much context resolving we do in our heads, and the amount of semantic knowledge we apply to fix ambiguity and inconsistency.

Hopefully I've given you some food for thought. I know your post continued, but I need some dinner, so if you'd like a response I'll return to it at a later time. Regards, J.

>
> [...sniporama]
Received on Tue Dec 04 2007 - 20:27:02 CET

Original text of this message