Chapter 4. Hierarchies, Aggregations, and Peer-to-Peer Relationships: The Organization of Similar Data

Account managers want to know their customer organizational hierarchy and how parent companies are related to subsidiaries that are related to lower-level organizations such as divisions and departments. Project managers want to know how programs are broken down into projects and then into activities and tasks, or in other words, how certain types of work efforts are further broken down into lower-level work efforts. Investment banks want to know how certain financial instruments such as options are constructed from other financial instruments. Manufacturers need to know the bill of materials and how parts may make up other parts. All these examples have one thing in common; they refer to a situation where some class of information is related to itself in some way. This chapter describes the patterns that support the organization of similar types of data into a structure. We refer to this type of self-association as a recursive relationship.

What Is the Significance of This Type of Pattern?

Most enterprises live and die by the reports they create and analyze. People working in the enterprise need to summarize the information in the reports or drill into the details of the data.[27] Hierarchies, aggregations, or peer-to-peer relationships of a class of data allow people to drill up and down through the details of a report. For example, a manager may start wondering why a project will ...

Get The Data Model Resource Book, Volume 3: Universal Patterns for Data Modeling now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.