Я пытаюсь понять необходимость «лишней» таблицы во многих отношениях.Какова цель дополнительной таблицы во многих отношениях?
Например, если мой 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)
);
Какова цель таблицы делает? Я не могу думать о времени, когда вы можете использовать его или почему это необходимо.
'invoice' -' invoiceLine' обычно не является отношением «многие ко многим». Фактически, это обычно используется как классическое отношение «Мастер-Деталь» («один ко многим»). Это может усложнить понимание. Вместо этого подумайте о взаимоотношениях между «Клубами» и «Членами». – RBarryYoung