自我指涉关系表设计:一个或两个表?

时间:2016-03-05 01:18:02

标签: mysql sql self-referencing-table

{"where": {"sharedusers.users": "513" }}

一个员工可以有很多老板,一个老板可以有很多员工。

这个表的功能是否与这个双表设计相同?

CREATE TABLE Employee 
(
     id        INT,
     boss      INT REFERENCES Employee(id),
     PRIMARY KEY (id)
);

第二个表ManagerRelation存储具有老板 - 员工关系的工人的ID。

我的问题是,这两个设计是对的吗?如果正确,它们在功能上是否完全相同?

1 个答案:

答案 0 :(得分:0)

两种设计完全不同。第一个要求每个员工(最多)有一个老板,尽管每个老板可能有很多员工。

第二种允许员工拥有一个以上的老板。

根据您对问题的描述,第二种形式是更合适的数据模型。根据我对老板 - 员工关系的理解,我希望第一个是正确的。