我刚得到以下实体员工、客户和公司。员工和客户与公司有一对多的关系,即一个员工可能被映射到许多公司,而客户也一样。我将如何为这种情况设计一个优化的表。我曾想过下面
员工:
ID
姓名
公司编号
但由于它是一对多的公司 ID,因此必须将其保存为逗号分隔的公司 ID。在这种情况下我该怎么办。
我刚得到以下实体员工、客户和公司。员工和客户与公司有一对多的关系,即一个员工可能被映射到许多公司,而客户也一样。我将如何为这种情况设计一个优化的表。我曾想过下面
ID
姓名
公司编号
但由于它是一对多的公司 ID,因此必须将其保存为逗号分隔的公司 ID。在这种情况下我该怎么办。
假设 a
company
可以被多个“关注”employee
,同样对于client
,您可以这样建模:所以这两种关系都是“多:多”。正如 gbn 还所说,添加“逗号分隔的 id”将是数据库设计中的一场灾难:您会后悔很多次。
您在 2 之间有一个多对多(又名链接或联结)表
员工公司
列:
键:
不要在列中存储 CSV:这是不好的做法,不能强制数据完整性,不能有效搜索,没有意义等
注意:名为“ID”的列非常不明确,因此这是您使用表名作为前缀的一种情况