Focusing on relationships
When defining a data model, it is common to take an object-oriented approach: represent your information units as objects and link them to organize their relationships.
Let's consider the following data model:
It's easy to identify different relationships:
Contact to Account: A contact can be related to an account with the
AccountId
lookup field, and more contacts can look up the same account.Opportunity to Account: An opportunity must be related to an account with the
AccountId
lookup field, and more opportunities can look up the same account.Advertisement to Account and Opportunity: An advertisement is related to both an account and an opportunity, and both relationships are one to many, that is, many advertisements can be related to the same account and/or opportunity, using custom relationship fields.
Account to itself: An account can be related...