因此,我的目的是使“ Employee”在“ EmployeeContactInformation”表中包含对同一主键的2个引用。这样做的原因是,我希望我的员工包含同一张表的2个不同副本。例如。 work contact info为1,home contact info为另一个。

我将如何实现这一目标,并使用什么关系?
我假设一对多吗?

当前数据库截图

最佳答案

让我们更改数据库的设计:

创建一个名为ContactInfoTypes的表。它将保存所需的每个ContactInfoType的定义(在您的情况下:workContactInfo和homeContactInfo)。它将有两列(contactTypeId,contactTypeName)在EmployeeContactInfo TABLE中添加一个名为ContactInfoType(DATATYPE编号)的额外列。列ContactInfoType将保持TABLE Con​​tactInfoTypes以上的Foreign-Key

当您在表EmployeeContactInfo中插入联系人时,您将必须Insert两行(其中一行包含针对workContactInfo存储的数字值,另一行与homeContactInfo存储)。

08-06 01:21