如何为这些表之间的关系创建新表

  • 本文关键字:关系 创建 新表 之间 tsql
  • 更新时间 :
  • 英文 :


我有表工作。看起来像

CREATE TABLE work
(
work_id int NOT NULL IDENTITY(1,1) PRIMARY KEY,
type_of_service_conn int NOT NULL,
period_of_execution int NOT NULL,
mechanic_conn int NOT NULL,
spare_conn int NOT NULL,
FOREIGN KEY (mechanic_conn) REFERENCES mechanic(mechanic_id),
FOREIGN KEY (type_of_service_conn) REFERENCES type_of_service(type_of_service_id),
FOREIGN KEY (spare_conn) REFERENCES spares(spare_id),
)

我有桌子备件

CREATE TABLE spares
(
spare_id int NOT NULL IDENTITY(1,1) PRIMARY KEY,
name_of_spare nvarchar NOT NULL,
price_for_spare decimal NOT NULL
)

例如,为了维修发动机,需要螺栓,垫圈和螺母。如何链接这些表?

您要寻找的可能是1:n关系。

您需要第三个表格,该表存储用于修复的哪种零件,例如

CREATE TABLE spares_for_work (
    work_id INT NOT NULL,
    spare_id INT NOT NULL,
    count INT NOT NULL,
    FOREIGN KEY (work_id) REFERENCES work(work_id),
    FOREIGN KEY (spare_id) REFERENCES spares(spare_id) );

然后您不能将多个部分放在work_id中。例如:您放入spares_for_work

work_id = 1, spare_id=12, count=1
work_id = 1, spare_id=16, count=12
...

然后从spares_for_work选择work_id 1时,您将获得该工作所需的所有备件。

最新更新