这是一个棘手的规范化/SQL/数据库设计问题,一直困扰着我们。我希望我能正确地陈述它。
你有一组事件。它们是需要做的事情——一个美化的待办事项 list 。任何给定的事件都可以分配给员工。
每个事件也有一个实体,为谁执行该事件。这些事件是联系人(人)或客户(企业)。然后,每个事件将有一个联系人或一个为其完成事件的客户。例如,事件可能是“向 Spacely Sprockets(客户)发送感谢卡”或“向 Tony Almeida(联系人)发送营销文献”。
从这个结构中,我们然后需要能够查询以找到给定员工必须做的所有事件,将它们列在一个单一的关系中,最简单的形式是这样的:
-----------------------------------------------------
| Activity | Description | Recipient of Activity |
-----------------------------------------------------
这里的想法是避免为联系人和客户提供两列,其中一列为空。
我希望我已经正确地描述了这一点,因为这并不像乍一看那样明显。
所以问题是:数据库的“正确”设计是什么,您将如何查询它以获得所需的信息?
最佳答案
这听起来像是一个基本的多对多关系,我会这样建模。
关于sql - 设计此特定数据库/SQL 问题的最佳方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3982288/