【发布时间】:2011-03-03 01:20:39
【问题描述】:
问候,
我将这三个表命名为 - 人员、员工、客户。 我应该使用以下标准的 SQL 关系: 1. Person 持有另外两张表的初步数据。 2. 没有员工-人可以是客户-人。
要添加更多内容,我正在使用 MySQL 进行设计。
对于person->employee和person->customer的关系,我应该使用1-1还是1-*? 非常感谢您的回复。
谢谢!
【问题讨论】:
-
看起来您需要相当于 1-* 的值,因为您不能使用 1-1,因为从人员到另一个表的链接将是客户表或员工表.
-
员工不能做客户?好吧,这是获得员工折扣的一种方式!
-
@John:如果我要使用 1-*,对于不同的 CustomerPK 或 EmployeePK,PersonFK 上将存在重复项。
-
基本上,您将有一个从客户到人的受约束外键和一个从员工到人的外键......因此,客户表必须有一个现有的人员记录,而员工表将有有一个现有的人员记录,但是......人员记录不必有一个现有的客户或员工记录......您无法设置从人员到其他 2 个表的外键,因为外键需要从一张桌子到一张桌子......
标签: mysql sql database database-design