I'm having an existencial doubt: I have three conceptual entity types on my logic:
- distributors
- business_groups
- clients
All of three are "companies"
, and will have the same columns. The relationships are the following:
- 1 distributor => N business_group
- 1 business_group => N clients
In reverse:
- 1 business_group => 1 distributor
- 1 client => 1 business_group
My question
Is it better to create three "equal" tables, one for each entity type, or a single one for the three with distributor_id
and business_group_id
foreign keys (referencing the same table) that sometimes will be NULL?
Considerations
- First approach (three tables): Separation of different concepts, tables with less entries, foreign keys without NULLs, three "equal" tables (with the same columns all)
- Seconds approach (one table): Only one table but less intuitive, some NULLs on foreign key columns, one column more for
type