假设我的数据库中有多个关系,例如商店,员工和销售,并且我想用简单的二进制关系连接对。我个人将创建一个名为Employee_Store和Employee_Sale的表,并使用由外键组成的自然键。
现在,我的同事坚持要为多个关系创建一张表。对于上面的示例,可能有一个名为EmployeeLinks的表:
EmployeeLinks(
IdLink int PK,
IdEmployee int FK null,
IdStore int FK null,
IdSale int FK null,
LinkType int not null
)
请以充分的理由帮助我,为什么这不是一个好主意。我有自己的论点,但我想让他们保密,并听听您的公正意见。
编辑:
最初,上表没有主键(!)。因为外键允许为null,所以替代键是唯一的选择。