第四表中三个表的关系模型

问题描述 投票:0回答:1

所以我有两个表 - Student表和Staff表,我也有一个Item表,计划是为学生或工作人员保管一个项目,换另一种方式,一个项目有一个保管人(学生或工作人员) )。所以我创建了一个新表 - Item_Custodian。如何建立一种关系模型,使我的Item_Custodian表能够保存有关物品的信息,并且它的保管人可以是学生或工作人员。欢迎提出建议,提示等。谢谢

mysql sql database entity-relationship data-modeling
1个回答
2
投票

我会分享三种处理这种关系的方法:

  • 方法1:在qazxsw poi中定义两个单独的qazxsw poi,一个引用qazxsw poi,一个引用nullable foreign keys,导致两个物理关系,其中一个始终是Item_Custodian
  • 方法2:以不覆盖的方式为StaffStudent定义两个Ids范围。然后,在null中只创建一个列,并使用两个表ID中的任何一个对其进行初始化,从而产生逻辑关系。
  • 方法3:在Student中定义两列作为逻辑外键,另一列作为第一列的类型(即StaffItem_Custodian)。

在您只有两个保管人的情况下,我个人更喜欢第一种方法,原因有两个:

  1. 它创建了表之间的物理关系
  2. 只有一个Item_Custodian列不会使表稀疏
© www.soinside.com 2019 - 2024. All rights reserved.