我有一个橡胶带的数据,在那里一个化合物有许多化学物质,这些许多化学物质可以在任何组合中形成一个新的化合物(许多化合物中有一个化学物质)。我已经为化合物创建了一个表,并为化学品创建了一个表。如何在不重复大量数据的情况下形成关系表?
发布于 2013-02-04 15:43:54
毫无疑问,如果你进行搜索的话,网上有大量的教程。你应该做一些研究,或者得到一个好的数据库文本。为了帮助您,这里有一个多对多关系的示例,它实现为具有关联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)
)发布于 2013-02-04 15:36:46
添加表结构会有所帮助,但您可以使用下面这样的方法
为化合物创建一个表和为化学品创建一个表是很好的,但您很可能需要多一个表,因为每个化合物中没有固定数量的化学物质。
也许有一张名为Substance的表格,其中有下列引用化学品和化合物的列。(ChemicalID,CompoundID)
https://stackoverflow.com/questions/14680939
复制相似问题