
Silverston c04.tex V2 - 11/21/2008 3:02am Page 173
Level 3 Recursive Pattern with Rules 173
or routines. Also, it is easier to build competency around a single way to
handle recursive rel ationships in your data community. Those in your data
community don’t have to worry about dealing with one-to-many structures.
Also they will go to only one p lace to access all the recursive structures they
need for any specific entity.
This pattern is also significant because it is expressly built to be ‘‘change
tolerant.’’ New types of recursive relationships can easily be added.
The pattern helps you because once implemented, it rarely needs to be
changed. It supports all different types of recursive structures — hierarchies,
aggregations, peer-to-peer relationships, and any new types of associations you
may need to use, such as compositions and collections- in exactly the same way.
The structure is more generalized, which may lead to confusion in inter-
pretation even for data professionals. You would not generally use it as part
of a scope statement. This pattern also allows the data modeler to ‘‘catch all’’
situations. However, this also means that a modeler could become lazy and
not capture all of the business rules that should be recorded for the different
recursive relationships.
By capturing all of the different types of recursive relationship structures in
one place in the model, you may also need to