Re: One-To-One Relationships

From: rpost <>
Date: Mon, 03 Dec 2007 19:05:50 +0100
Message-ID: <283e9$4754457e$839b4533$>

Marshall wrote:

>> I agree with Chen (and e.g. OO design, which takes it to another extreme)
>> that a notion of entity is natural, unproblematic and well worth having.
>> You apparently disagree. Make me understand why. Be specific.
>I know you weren't asking me, but my question about the
>whole entities thing is, what do they buy me?

I stated that in the deleted part: the ability to make statements about them that are independent of their attributes.

>I mean, I already have this concept of "relation" which seems to
>be powerful enough to be considered a foundation for
>more or less all of mathematics. What *new* capability
>is introduced by having a different thing called "entity?"
>Why can't I just write down relations?

I stated that in the deleted part: it depends what kind of attribute values you allow in your relations. If you have attribute values that can mention/stand for entities independently of their real-world properties (e.g. surrogate keys), you can. If not, you cannot address Chen's objection: you're going to have to pick definitive key attributes (with values observable in reality) for all of your entities before being able to do anything with them (such as storing them, writing queries involving them).

>If I don't have them fully modeled yet, I don't see how
>the identity question is any issue. I know every relation
>will have *some* key.

  1. Then what is your model at this stage? An informal sketch? Don't you agree it would be useful to have a formalization of what you have at this stage in the modelling process?
  2. A key is not good enough: it must be haeccic (honestly, I laughed as hard as the rest of you when I saw 'haeccity' in this thread, but I looked it up in Wikipedia, and it's the exact word I need here). Or to state it in practical terms: Last week I saw a small newspaper article: our nation's version of the social security number has been discontinued. So everybody who built a database with that number as the primary Person key, and wants to continue to add new Persons, is screwed. My (or rather, Chen's) contention is that "well, you should have picked a different key" is not *always* a fair thing to say.


>My end product is a schema for relations. Why don't I just
>model using those? Why not cut out the middle man?

Schema's tend to change over time. If they don't, this whole discussion becomes pretty pointless.


Received on Mon Dec 03 2007 - 19:05:50 CET

Original text of this message