什么样的 SQL 关系适合这里?

发布于 2024-10-20 03:04:26 字数 214 浏览 0 评论 0原文

您好,

我有这三个表,分别命名为 - 人员、员工、客户。 我应该使用什么 SQL 关系并符合以下标准: 1. Person保存另外两个表的初步数据。 2. 任何员工都不能成为客户。

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

我应该使用 1-1 还是 1-* 来表示人员->员工和人员->客户的关系? 非常感谢您的回复。

谢谢!

Greeting,

I have these three tables named - person, employee, customer.
What SQL relationship should I use with the following criterion:
1. Person holds the preliminary data of the other two tables.
2. No employee-person can be customer-person.

To add more, I'm designing this with MySQL.

Should I use 1-1 or 1-* to the relationship of person->employee and person->customer?
Your reply is higly appreciated.

Thanks!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

悟红尘 2024-10-27 03:04:26

Person 和其他两个表之间基本上存在 1-(0 或 1)关系。客户和员工是互斥的这一事实可以通过触发器强制执行。您可以查看关系类型说明的第 3.6.3 节更多信息。这是有关排他关系的维基百科文章

You basically have a 1-(0 or 1) relationship between Person and the other two tables. The fact that Customer and Employee are mutually exclusive can be enforced via triggers. You can look at Section 3.6.3 of this explanation of relationship types for more info. Here is the Wikipedia article on exclusive relationships.

策马西风 2024-10-27 03:04:26

这是 sql-server 的“表继承”示例,但也应该适用于 mysql:
http://www.sqlteam.com/article/implementing-table -sql-server 中的继承

Here is an example for "tableinheritance" for sql-server, but should worl for mysql also:
http://www.sqlteam.com/article/implementing-table-inheritance-in-sql-server

神魇的王 2024-10-27 03:04:26

您的案例看起来像是一代规格设计模式的示例。有关此问题的先前讨论,请点击链接。 这应该很简单。但我该如何设计呢?

Your case looks like an example of the gen-spec design pattern. For previous discussions on this, follow the link. This should be simple. But how do I design this?

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文