Re: One-To-One Relationships

From: Bob Badour <bbadour_at_pei.sympatico.ca>
Date: Fri, 30 Nov 2007 16:40:12 -0400
Message-ID: <47507530$0$5280$9a566e8b_at_news.aliant.net>


David Cressey wrote:

> "Marshall" <marshall.spight_at_gmail.com> wrote in message
> news:b845d1a9-d7c9-4cb6-85f8-c4438bf74723_at_i29g2000prf.googlegroups.com...
>
>

>>Some time back someone proposed "people understand tables
>>just fine" as a law.
>>

>
> I remember that, and I don't agree. While people understand individual
> tables just fine, they don't understand schemas made up of tables
> completely enough.
>
> In particular, their understanding of how foreign keys work is hazy and
> incomplete.
>
> If you have a many-to-many relationship, like students enrolled in courses,
> it's easy to state the relationship in words. It's also easy to express in
> an ER diagram: you just put crow's feet at both ends of the line.
>
> But it you are expressing the same concept using tables, you now have to
> put a third table in between the students table and the courses table.
> Then, most of the time, you have to explain why a third table is necessary.

You wouldn't have to if you hadn't drawn the stupid diagram in the first place!

People understand Students and Courses and Enrollments. They understand "the predicate Enrollment(S,C) means Student S is enrolled in Course C" as soon as one tells it to them.

> It gets worse when there are "camps" among the stakeholders about whether
> the relationship is many-to-one or many-to-many. An example is matrix
> management versus conventional management.
>
>

>>It's easy enough that pretty much anyone can learn how to
>>do it fairly well, directly. So I see no point in any further
>>methodology.

>
> Based on my experience, I disagree.

But your experience is based on: "We start with these imagined distinctions that all relations are not created equal. In order to form a more pretty picture, some will be boxes and some will be lines." Received on Fri Nov 30 2007 - 21:40:12 CET

Original text of this message