我有橡胶带的数据,其中一种化合物含有许多化学物质,这些化学物质可以任意组合形成一种新化合物(许多化合物中的一种化学物质)。我创建了一个化合物表和一个化学品表。如何在没有大量重复数据的情况下形成关系表?
答案 0 :(得分:2)
毫无疑问,如果您进行搜索,网上会有大量的教程。你应该做一些研究或获得一个好的数据库文本。为了帮助您,这里有一个关于您的多对多关系的示例,实现了一对多的表以及相关的CompoundChemical表。
CREATE TABLE Compound
(
CompoundId INT NOT NULL PRIMARY KEY,
Name VARCHAR(100) NOT NULL
);
CREATE TABLE Chemical
(
ChemicalId INT NOT NULL PRIMARY KEY,
Name VARCHAR(100) NOT NULL
)
CREATE TABLE CompoundChemical
(
CompoundId INT NOT NULL,
ChemicalId INT NOT NULL,
PRIMARY KEY (CompoundId, ChemicalId),
FOREIGN KEY fk1 (CompoundId) REFERENCES Compound(CompoundId),
FOREIGN KEY fk2 (ChemicalId) REFERENCES Chemical(ChemicalId)
)
答案 1 :(得分:0)
添加表格结构会有所帮助,但你可以选择这样的东西
为化合物创建一个表,为化学品创建一个表是好的,但是你很可能还需要一个表,因为每个化合物中没有固定数量的化学物质。
也许表名为Substances的物质具有以下引用化学品和计算的列。 (ChemicalID,CompoundID)