
Silverston c02.tex V2 - 11/21/2008 2:58am Page 61
Level 3 Declarative Role Pattern 61
has a recursive relationship that states that ‘‘each ROLE TYPE may be classified
by one or more ROLE TYPE(s) and each ROLE TYPE may be within one and
only one ROLE TYPE.’’ This hierarchical structure allows you to support the
classification or organization of the ROLE TYPES. For example, in Table 2-7
you see a hierarchy of different instances of ROLE TYPE. This is illustrated in
Figure 2-7. This recursive relationship also allows maintenance of lower-level
roles. For example, you could also add additional instances to the ROLE TYPE
in order to further break down the roles of customer into ‘‘bill-to customer’’
and ‘‘ship-to customer’’ (although it depends on the circumstances whether
these are actually declarative or contextual roles, as is discussed in Chapter 3).
Table 2-7 Hierarchy of ROLE TYPE(s)
ROLE TYPE. PARENT ROLE TYPE. ROLE TYPE. ROLE TYPE.
ROLE TYPE ID NAME (PARENT) ROLE TYPE ID NAME (CHILD)
100 Party Role 1 Customer
200 Organization Role 2 Supplier
100 Party Role 3 Partner
300 Person Role 4 Employee
100 Party Role 200 Organization Role
100 Party Role 300 Person Role
NOTE
An alternative way to specify which roles are person roles and which are
organization roles is to have subtypes within PARTY ROLE of ORGANIZATION
PARTY ROLE and PERSON PARTY ROLE and then have the roles that are
person-only roles as subtypes ...