在创建两个表之间的关系时,我应该连接什么?

时间:2015-08-17 05:26:23

标签: database-design database-schema

例如,我有2个表,即父表和子表

父表

parent_id

name

然后我有儿童表

children_id

name

然后是关系表

relationship_id

child_id

father_idfather_name?

mother_idmother_name?

如果我想在2个表之间创建一个关系,指示parents children我应该链接什么?

我应该创建一个名为father_id的字段来获取父级的唯一ID,还是father_name以获取关系表中父亲姓名的直接链接如果我想得到父亲的名字?

1 个答案:

答案 0 :(得分:1)

您应该(并且至少在某些(如果不是所有数据库中)是您唯一的选择)始终使用主键进行关系。
该关系的至少一方需要连接到表的主键。

但是,对于你写的例子,我会选择单人表:

TblPerson
(
    Person_Id, -- Primary key
    Person_FirstName, 
    Person_LastName, 
    Person_Mother_Id, -- Self reference FK
    Person_Father_Id -- Self reference FK
)