For years I have been thinking that there are only four relationships in data modeling:
- Many to Many
- One to Many
- One to One
At least that’s what the books seemed to say. However I have been reconsidering since I began exploring the Zachman Framework on my own. It has become apparent to me through many practical applications that the textbooks are not always right. Below are the six basic data modeling relationships:
As you can see there are three cursive and three recursive relationships. The cursive relationships are between two separate entities. The recursive relationships are between an entity and itself. Restating them, they are:
- Cursive Many to Many
- Cursive One to Many
- Cursive One to One
- Recursive Many to Many
- Recursive One to Many
- Recursive One to One
Many to many relationships are resolved as illustrated below:
How does this fit into the Zachman Framework? Let’s examine the framework as I illustrate it below:
As you can see relationships each serve a purpose. Concepts are associations between intstances of differing entities. Contexts are one to many relationships between instances of differing entities. Logics are one to one relationships between instances of differing entities. Physics are associations between instances of the same entity. Spherics are one to many relationships between instances of the same entity. Episodics are one to one relationships between instances of the same entity.
Another way to consider this diagram is the first three relationships involve attributes, while the second three relationships involve domains.