什么SQL关系适合这里?

时间:2011-03-02 16:18:45

标签: mysql sql database database-design

问候语,

我将这三个表命名为 - person,employee,customer。 我应该使用以下标准的SQL关系: 1.人持有其他两个表的初步数据。 2.没有员工可以成为客户。

要添加更多内容,我正在使用MySQL进行设计。

我应该使用1-1或1- *来表示person-> employee和person-> customer的关系? 非常感谢您的回复。

谢谢!

3 个答案:

答案 0 :(得分:1)

您在Person和其他两个表之间基本上有1-(0或1)关系。可以通过触发器强制实现Customer和Employee互斥的事实。您可以查看Section 3.6.3 of this explanation of relationship types了解更多信息。这是Wikipedia article on exclusive relationships

答案 1 :(得分:0)

以下是sql-server的“表继承”示例,但也适用于mysql: http://www.sqlteam.com/article/implementing-table-inheritance-in-sql-server

答案 2 :(得分:0)

您的案例看起来像是gen-spec设计模式的一个例子。有关此前的讨论,请点击链接。 This should be simple. But how do I design this?