Representing Key Constraints in UML based Conceptual Data Models



Representing Key Constraints in UML based Conceptual Data Models

From: Pieter Van Gorp <pieter_at_pietervangorp.com>
Date: Tue, 28 Apr 2009 16:58:04 +0200
Message-ID: <15af5f050904280758g35742c44ic29a0c03a289d575@mail.gmail.com>
Hi all,
I want to invite the PUML community to the thread on
http://tech.groups.yahoo.com/group/agileDatabases/message/2296

In that thread, I raise a question about a specific type of key
constraint in UML class diagrams.  Note that I am *not* referring to
key constraints on attributes (which are quite popular).  Instead, I
wonder how you can include (to-one) association ends in key
constraints.

On the one hand, I realize that the obvious solution is to replace all
to-one associations by Attributes and perhaps this is why I do not
find more information about this special case, *but*:
 1) when replacing the association by attributes, I can no longer
indicate that the direction of the original association was irrelevant
(which is something I want to do at the level of conceptual data
modeling).  Even when using attributes on both classes that were
connected by the association, one would express a bias towards the
navigability issues in the implementation,
 2) in the case of a many-to-one association, one would have to use a
to-many multiplicity on one of the attributes (which is AFAIK no
common, neither good, UML style).

Therefore, on the other hand, it does surprize me that my question did
not raise more discussion on the agile databases mailing list.
Perhaps it is of more interest to the PUML community?  If so, we can
conduct a discussion on this list, right?

Please note that I did not copy-paste the background from my question
in this PUML post.  It can be found on
http://tech.groups.yahoo.com/group/agileDatabases/message/2296

Kind regards and thanks in advance for your insight,
Pieter Van Gorp
Received on Tue 28 Apr 2009 - 15:58:11 BST