Hi Gordon,
I see now what you were trying to do, sorry I didn't get you before.
One way to do this would be to make the fact type a 1:1 binary, optional
to "Department" objects, and with a value constraint {'y'} on the other
involved object type, "IsTopDepartmentCode" (or something like that).
See the attached diagram. The U.C. on the latter object type's role
should be implemented with "IGNORE NULLS" semantics (unless you map it
to its own table to avoid nulls), i.e. as implemented it does not
restrict how many nulls show up in that column but it does restrict any
other values that show up there -- and the value constraint enforces
that only one other value can ever show up there.
This idea is based on Terry's suggestion of how to implement an
"open-world" unary (IMRD, Fig. 7.23, p. 297), to which I've added the
U.C. on the other role to make it 1:1.
Regards,
Andy
-----Original Message-----
From:
Geverest@... [mailto:
Geverest@...]
Sent: Monday, August 02, 2004 1:30 PM
To:
jcm@yahoogroups.com
Cc: Andy Carver
Subject: RE: [JCM] Frequency constraint on a Unary predicate
Andy (and say hi to Terry for me),
The explicit "exactly one" you speak of does not make any sense to
me. Why would the (implicit) default for a unary predicate be that one
and only one member of the attached object population be allowed to play
that role? The case I am trying to model is a tree structure of say
organizational departments, where one and only one department is at the
top. I want to call that top one out, make it exclusive with the rest,
and have a disjunctive mandatory constraint on both roles. That way I
can say that for all the rest (except for the top dept) it is mandatory
that they report to a parent organizational unit.
Here is what I am trying to model in VisioEA
(assuming the graphic comes through for you,
otherwise, check out the attached .vsd file):
(Embedded image moved to file: pic19169.jpg)
Regarding your second comment,
I am unable to explicitly add this particular constraint in VisioEA. Try
it for yourself. It behaves just as I described in my initial email.
-gord.e. (See attached file: P1 Dept ORM.vsd)
"Andy Carver"
<andy.carver@nort
hface.edu>
To
<
jcm@yahoogroups.com>
08/02/2004 10:32
cc
AM
Subject
RE: [JCM] Frequency constraint on
a
Please respond to Unary predicate
jcm@...
om
There is already an implicit frequency constraint of "exactly one" on
any unary predicate, i.e., there's already an implicit functional
uniqueness constraint on the role, and the tool is apparently set up to
prevent making that constraint explicit. But you can use the "add
constraints" dialog to add the uniqueness constraint explicitly.
Andy
-----Original Message-----
From:
geverest@... [mailto:
geverest@...]
Sent: Monday, August 02, 2004 1:27 AM
To:
jcm@yahoogroups.com
Subject: [JCM] Frequency constraint on a Unary predicate
I am using VisioEA 2003 and am attempting to define a frequency
constraint on a unary predicate. I want to specify exactly one. When I
leave the minimum at 1, and change the maximum from 2 to 1, the system
dims out the 'OK' button and I am unable to define that particular
frequency constraint. This would appear to be a bug in the system.
Anyone encountered this? -gord.everest
Your use of Yahoo! Groups is subject to the Yahoo! Terms of
Service.