Re: One-To-One Relationships
Date: Sat, 1 Dec 2007 09:21:09 -0800 (PST)
On Dec 1, 4:52 pm, rp..._at_pcwin518.campus.tue.nl (rpost) wrote:
> 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.
> >> 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.
> >Entities are figments of our imaginations.
> Heh. So are relations, attributes, values, and domains.
> So are rectangles, straight lines, points, and angles.
> So are "real" numbers, functions, and differential equations.
> But they all work pretty well.
> We're dealing with conceptual modelling here.
> I prefer the term 'modelling constructs', if you don't mind.
> 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.
Unproblematic? The notion of an entity does not take into account / context/. Consider yourself as an entity. Are you the same person as you were when you were 5? What... yes and no? And you don't see that as a paradoxical to an encapsulated view of an object?
Other paradoxes generated:
The Paradox of Change
The paradox of 1001 cats
The Paradox of Constitution
The classic Ship of Theseus Paradox
Google them up ;) I mentioned the follpwing in a previous post but its worth cut and pasting. Imagine the library has two copies of "harry potter and the deathly hallows". Are they the same book entity?
- If your construct is the one that uses the barcode on the sleeve asan identifier, then no, different books.
- If your construct is the one that uses the ISBN number as an identifier, then yes, same book.
Entities can be the same and different... wuh? Your nice neat view of encapsulated entities is flawed. Context is essential, and identification of that context, by attributes, is vital.
Also given your standpoint perhaps you could explain to me why are binary relationship should be treated any differently from a ternary one, as expounded by E/R, and as a final comment, google this group for "query bias" for my view as to why an entity view, as well as being brittle, is deleterious to querying.
You might also want to read up on "The Great Debate" on why graph structures as exhibited by E/R were abandoned in place of a descriptive based approach.
Good luck. I followed the same path you are on now, and it took me a long time to shake the OO mindset :)
> You apparently disagree. Make me understand why. Be specific.
> I know this has been discussed here before, but I wasn't there
> and Googling the archive didn't help me much.
> Pointers to good explanations will be much appreciated.
> Does recognizing the meaningfulness of entities give us, as Chen's
> paper claimed, a full-blown alternative to relational modelling?
> Not at all, if you ask me. We obtain a trivial variant of relational
> modelling, or maybe not even that: e.g. an entity can be formalized as
> a relation with a surrogate key. What matters is that, in conceptual
> modelling, entity sets (i.e. modelling constructs that, like relations,
> have attributes, but, unlike relations, have mutable elements that can be
> attribute values) are every bit as meaningful and useful as relations.
> That's all.
> >> [...] When I say a particular person is the head
> >> of a particular department, I do not mean to assert a relationship
> >> between particular combinations of attribute values for departments
> >> and persons; I may not even know what these attributes are.
> >You are confusing yourself with nebulous terminology.
> There's nothing nebulous about my terminology, at least not when I use it.
> >(Exactly as Codd's
> >quotes would predict.) A relation is a set of truth statements.
> Statements about what? I want to make statements about persons,
> not about person names, birthdates, or ids. To be more exact:
> I want to make statements that consistently refer to persons
> even if the statements to describe persons are undetermined or variable.
> Perhaps you have a way of non-1NF modelling in mind that allows me
> to do exactly that. In that case we have no disagreement except
> that you use terminology differently than I do.
> >When I say a particular person is the head of a particular department,
> >I make exactly such a truth statement.
> Except that you, in a 1NF relational model, *cannot do so*, because
> your statement just cannot refer to a person or a department.
> You first need to identify, or invent, suitable properties, and
> make your statement about their values. It will be a different statement,
> and only equivalent as long as the properties you chose to base it on
> continue to actually identify the department and person in question.
> I am not saying this is a big issue, an unresolved issue,
> or a very controversial one. Quite the contrary.
> But denying its existence isn't helpful, even if you want
> to convince people to stop using ER modelling, because by denying it,
> you ignore the reason people use ER models in the first place.
> This is why I feel Codd's complaints, while largely justified,
> are ultimately misguided.
Received on Sat Dec 01 2007 - 18:21:09 CET