7.3. Ring Constraints

When two roles in a predicate are played by the same object type, the path from the object type through the role pair and back to the object type forms a “ring”. If the roles are played by subtypes with a common supertype, the path from and back to the super-type also forms a ring. The role pair typically forms a binary predicate, but may be part of a longer predicate (see the shaded role pairs in Figure 7.7) or may even come from different predicates in a join path (join constraints are discussed in Chapter 10). A ring constraint may apply only to a pair of roles like this.

Figure 7.7. Ring constraints may apply to the shaded role pairs.

Before discussing the various kinds of ring constraint, some standard definitions ...

Get Information Modeling and Relational Databases, 2nd Edition 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.