我试图了解在多对多关系中对“额外”表的需求。
例如,如果我的 ERD 具有:Product m----- <makes> ----n Factory
,则表的以下代码可能如下所示:
CREATE TABLE factory(
factory_id INTEGER NOT NULL,
address VARCHAR(30) NOT NULL,
CONSTRAINT PK_factory_factory_id PRIMARY KEY(factory_id)
);
CREATE TABLE product(
prod_id INTEGER NOT NULL,
prod_name VARCHAR(30) NOT NULL,
price FLOAT NOT NULL,
CONSTRAINT PK_product_prod_id PRIMARY KEY(prod_id)
);
CREATE TABLE makes(
prod_id INTEGER NOT NULL,
factory_id INTEGER NOT NULL,
CONSTRAINT PK_makes_prod_id_factory_id PRIMARY KEY(prod_id, factory_id),
CONSTRAINT FK_product_prod_id FOREIGN KEY(prod_id) REFERENCES product(prod_id),
CONSTRAINT FK_factory_factory_id FOREIGN KEY(factory_id) REFERENCES factory(factory_id)
);
制作表的目的是什么?我想不出您何时可以使用它或为什么需要它。