如何设计一个具有附加关系的单个数据库表的循环引用?

1 sql database database-design data-modeling

我不确定如何最好地表达这个问题,但基本上我有一个联系人表,而不是典型的 - 一个联系人有一个参与表与配偶信息,一个表有孩子,我想要每个那些人是一个联系人,但后来定义了这些联系人(兄弟,姐妹,孩子,配偶等)之间的关系.因此,联系人将存在于单个表中,但我无法根据联系人ID和关系类型确定如何最好地定义关系.任何意见,将不胜感激.

OMG*_*ies 6

CONTACTS

  • contact_id,PK

CONTACT_RELATIONSHIP_TYPE_CODE

  • contact_relationship_type_code,PK
  • description

CONTACTS_RELATIONS

  • parent_contact_id,pk,CONTACTS表的外键
  • child_contact_id,pk,CONTACTS表的外键
  • contact_relationship_type_code,CONTACT_RELATIONSHIP_TYPE_CODE表的外键

如果您发现需要为一对人员支持多种关系类型,请将该CONTACTS_RELATIONS.contact_relationship_type_code列添加到复合主键