因此,我的目的是使“ Employee
”在“ EmployeeContactInformation
”表中包含对同一主键的2个引用。这样做的原因是,我希望我的员工包含同一张表的2个不同副本。例如。 work contact info
为1,home contact info
为另一个。
我将如何实现这一目标,并使用什么关系?
我假设一对多吗?
当前数据库截图
最佳答案
让我们更改数据库的设计:
创建一个名为ContactInfoTypes的表。它将保存所需的每个ContactInfoType的定义(在您的情况下:workContactInfo和homeContactInfo)。它将有两列(contactTypeId,contactTypeName)在EmployeeContactInfo TABLE中添加一个名为ContactInfoType(DATATYPE编号)的额外列。列ContactInfoType将保持TABLE ContactInfoTypes以上的Foreign-Key
值
当您在表EmployeeContactInfo中插入联系人时,您将必须Insert
两行(其中一行包含针对workContactInfo存储的数字值,另一行与homeContactInfo存储)。