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

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

这个桌子的功能和这个两桌设计一样吗?

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

Create table ManagerRelation (
  id_from int NOT NULL,
  id_to int NOT NULL, 
  PRIMARY KEY (id_from, id_to),
  FOREIGN KEY (id_from) REFERENCES Employee(id),
  FOREIGN KEY (id_to) REFERENCES Employee(id)
);

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

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

4

1 回答 1

0

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

第二个允许员工拥有多个老板。

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

于 2016-03-05T01:21:20.500 回答