Entity Relationship Modeling - Involuted (or recursive) relationships
(Page 10 of 21 )
Involuted, or recursive, relationships, are self-relationships; relationships from and to the same entity. This is a special construction normally used to represent a hierarchical tree structure. This kind of relationship alone has just as many possibilities as the ones discussed above have together. However; most of the combinations just theoretically usable: For all practical reasons they are impossible since they relate back to themselves; you cannot relate to something that do not exist yet. Constraints will be broken in the database. We will therefore concentrate on the three forms of involuted relationships that may be of any use to you:
One-to-one relationship, optional-optional

This may be a useful relationship. The relationship makes it possible for you, if you wish, to be married to one person (at the time). However, if you want historical data as to who you were married to earlier (as it happens too often today), you need more analysis.
If you substitute PERSON with PRODUCT, this relationship may also be used for suggesting an alternative product, if the original is sold out, or is no longer manufactured.
One-to-many, optional-optional

This is a classical hierarchy, or tree structure. Note however that any one person MAY work for ZERO OR ONE AND ONLY ONE manager, while a given person MAY be manager for zero or more persons.
Many-to-many, optional-optional

This is a network structure. In a project-organized environment, any one person MAY have ZERO or more managers, while any person MAY be manager for ZERO OR MORE persons. This construction is also good for decomposition of products: If you swap PERSON with PRODUCT, we may read it as: A product MAY contain zero or more (sub)products, while a given (sub)product MAY be a part of zero or more products.
Next: Many-to-Many >>
More Development Cycles Articles
More By Alf A. Pedersen