簡體   English   中英

自引用關系表設計:一個還是兩個表?

[英]Self-referential relationship table design: one or two tables?

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。

我的問題是,這兩個設計對嗎? 如果正確,它們在功能上是否完全相同?

兩種設計有很大不同。 第一個要求每個員工(最多)有一個老板,盡管每個老板可以有很多員工。

第二種允許員工擁有多個老板。

根據問題的描述,第二種形式是更合適的數據模型。 根據我對老板與員工關系的理解,我希望第一個是正確的。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM