関連クラスの意味を取り違えてた

UMLの関連クラスというのは、データベースで言うところの関連テーブルみたいなもんだと思ってました。が、正しくは、『関連の両端のインスタンスに対してユニークである』という制約が加わるんだそうです*1
http://www.atmarkit.co.jp/farc/rensai/uml_b_l08/uml_b_l08.html

ただ、この記事の真中あたりの、


「関連クラスのインスタンスは両端のオブジェクトなしには存在できないオブジェクトである」と先ほどいいました。これはいい換えると、関連クラスのインスタンスは両端の参加クラスのインスタンスが特定されれば一意に定まる、ということを意味します。
という話の持っていき方は非常に不親切と思います。(と、自分の日本語がめちゃくちゃなことを棚にあげて言ってみる)
実際、@ITの会議室でも槍玉にあげられてます。
http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=17450&forum=25&19
会議室での議論で、"純粋関連クラス*2" と "関連クラス*3" というふうに概念を分けたい、という意見が出てまして、私もそう思いました。が、UMLの仕様はチョー天才な人たちが何年も考えて煮詰めたのですからER図的関連を表すノーテーションがない合理的な理由がきっとあるのでしょう*4

*1:Visioとかでコード/DB生成してもそんな制約は設定されねーのが現実

*2:UMLの定義どおりの意味

*3:ER図的な

*4:小心者なんであんなページビューの多そうな会議室の議論に参加するのは無理っす。よってここで無理矢理自己完結