
Silverston c04.tex V2 - 11/21/2008 3:02am Page 155
Level 2 Expanded Recursive Pattern 155
have added subtypes to WORK EFFORT with the specific relationships and
attributes. However, the generalized recursive relationship will not support
specific optionality between different levels of a hierarchy (or aggregation):
for example, if a PROJECT must have one or more PHASE(s), but a PHASE
may have one or more TASK(s).
The pattern is more abstract than the level 1 pattern, but it should be
fairly easy to explain to technical audiences. In general, more documentation
is needed in the data model, such as showing instance diagrams, worked
examples, and/or spreadsheets and databases with e xample data, because the
model is not as self-explanatory as the level 1 pattern.
Another key limitation of this pattern is that it provides only one-to-many
relationships. Therefore, if there is a hierarchy where there is need for a child
to be related to more than one parent, this pattern does not support this need.
This may be referred to as either a ‘‘many-to-many’’ or a ‘‘matrix’’ relationship
structure and is covered in the next section.
Level 2 Expanded Recursive Pattern
Most enterprises need flexibility when dealing with hierarchies, aggregations,
or peer-to-peer relationships. The Level 2 Recursive Pattern supports this
flexibility, but with some loss of specific understanding. This is the classic
balance of flexibility ...