
Silverston c02.tex V2 - 11/21/2008 2:58am Page 47
Level 2 Declarative Role Pattern 47
Within the context of a relational model, this pattern has many weaknesses.
For example, this pattern may store redundant attributes. Data stored redun-
dantly can quickly create future data quality issues if not managed correctly.
The same person or organization may appear twice in two different declarative
roles. How do you reconcile them? It is difficult to see the whole picture of
a person or organization if they play many roles, and thus you are looking
at pieces of the person’s or organization’s data in different entities. This pat-
tern often helps us highlight the weaknesses of implementing this pattern to
business and technical stakeholders.
Finally, this pattern is most suited for illustrating information requirements
about declarative roles in a simple way. It is most useful in very well-defined,
static environments. If roles change, then implementation of this pattern leads
to a design that is not stable, because the underlying data structures will
probably require change.
Level 2 Declarative Role Pattern
It is often desirable to model declarative roles with flexibility, but still maintain
the specific nature of the pattern. By adding the PARTY entity to the pattern,
attributes that are related to people (e.g., first name, last name and date of
birth) and related to organizations (e.g., organization name ...