A Data Model Relationship and its Cardinality Do Not Equal Business Rules!I was reading some discussion about data models the other day and came across the following:
“The relationships between entities define the rules about which entities relate to others, as well as the number of minimum and maximum occurrences on each side of the relationship.”Rules is definitely the wrong choice of word here. The misconception that relationships per se in data models represent (business) rules goes all the way back to the 1980s. It’s simply wrong. Instead I would say:
The relationships between entities provide structure for the data model, specifically indicating which entities relate to which and how. Specifications for a relationship typically indicate the number of minimum and maximum occurrences allowed on each side of that relationship – i.e., their cardinalities.Of the three typical cardinality values – zero, one and many – only one removes any degree of freedom, and thus could be said to represent a rule. In any case, cardinality per se is a specification device; the business rule is in the meaning – for example:
A customer may be related to at most only one sales area.