Reputation: 1496
I am designing a relational database for storing application information.
Each application can contain participants of different types: legal persons and physical persons.
Form of a legal person and physical persons are different and contains different fields.
I want to have a common pk for participants therefore I created three tables:
Cons of this approach is that I have difficult structure and to get information of participants I have to join three different tables using left join.
An Alternative solution is to unify these three tables into one (participants). Cons of this solution is that the table is big and ambiguous.
Please advise me which solution to choose and why, or some other better solution for this problem.
Upvotes: 0
Views: 60
Reputation: 1722
You should go for the first approach you mentioned in your question that splits into three tables. This keeps you away from different anomalies like update
, delete
, insert
etc.
This is a good read about normalization. Go through this link and you will know how normalization works and how we can normalize our DB Design. Hope it helps :)
Upvotes: 1