问题
Hopefully someone may be able to quickly advise the best way for me to model my ERD (I'm using IDEF1X & ERWin not Chen Notation) although it doesn't really matter.
Basically I have Three Entities
- Organisation
- Person
- Trustee
Business rules state that a Trustee can be either a person or organisation.
My question is, would it be correct to have two primary, foreign key relationships to Trustee. One from Organisation > Trustee and the second from Person > Trustee. Where one of the FK fields of Trustee will always be NULL depending on if the Trustee is a person or organisation.
Or would it be better to have some sort of associative table between person and organisation (person_organisation) and create a PK, FK relationship from person_Organisation > Trustee.
The second option seems better as there might be other entities that also need to link to both Organisation and person.
Hopefully that makes sense.
Many many thanks in advance
回答1:
EDIT
Well, this should work too:
回答2:
It seems to me that Trustee is just one example of a role a person can play in an organisation. So really, we're talking about a three-way association Person_Organization_Role where all three are the primary key. Now, that could be broken down into Person_Organization > PO_Role, but my preference is not to take things that far.
来源:https://stackoverflow.com/questions/3336164/database-design-erd-modeling-question