2

如果这是标准知识,我很抱歉。我的部分问题是我什至不确定要使用什么语言进行搜索。

如果我有表事件、部门、客户,并且我想表示客户和事件之间以及部门和事件之间的一对多关系,我会怎么做?

如果我只与 Clients 和 Events 建立一对多关系,我只需在 Event 中有一个 client_id 字段。我可以有两列:client_id 和 department_id,但有没有更好的方法,或者你能指出我的资源甚至是适当的术语,这样我就可以找到更多信息并进行自我教育?

提前致谢。

4

2 回答 2

0

标准规范化是拥有作为连接表的“成员”表。

您的表格将变为:

  • 事件(event_id)
  • 客户端(client_id)
  • 部门 (department_id)

加:

  • Client_Events (id, client_id, event_id)
  • Department_Events(id、department_id、event_id)

然后使用JOIN,你可以得到你想要的。MySQL/Postgre 可以JOIN非常快速地处理这种类型的 s。

于 2013-05-20T20:04:09.993 回答
0

通过 RDBMS 系统,您所拥有的就是最好的方法。

您将在 events 表中有一个 client_id 列和一个 department_id 列,它们分别映射到 client 和 department 表中的键。

编辑:但是,如果您有大量数据,并且您有充足的存储空间并希望优化操作速度,您可以考虑将一个或两个表的列连接到事件表。现在的存储很便宜。

于 2013-05-20T19:55:28.503 回答