tread
tread

Reputation: 11098

Does a many-to-many relationship with a recursive one-to-many in mysql require at least 4 tables?

I have the following relationships (Business rules):

So ownership or a company can be made up of a number of companies and users.

So I have developed the following:

one-to-many-recursive

So does there have to be at least 4 tables for this sort of relationship or can it be simplified. I feel it is quite complicated and would not be intuitive for another developer? How could it be optimized and elegantly arranged?

Upvotes: 0

Views: 2439

Answers (2)

Mohsen Heydari
Mohsen Heydari

Reputation: 7284

I think ownership and employment are different concepts, that would be more advised to have them separated.
Think about John who is one of the owners of A company and in the mean time he is the CTO of A.

Company and People can have a base to reduce redundancy of entities.

enter image description here

Upvotes: 2

tread
tread

Reputation: 11098

Based on the suggestions of Thilo

A separate relationship table was created for owners and employees respectively. Furthermore, the company_ownership and ownership tables were removed as having a company as an owner is solved by adding an owning_user_id and owning_company_id where one will always be null. The percentage figure is added to this relationship table.

See below:

Solved many-to-many relationship problem

Upvotes: 1

Related Questions