我有一个橡胶带的数据,其中一种化合物具有多种化学物质,这些多种化学物质可以任意组合形成一种新化合物(多种化合物中的一种化学物质)。我创建了一张化合物表和一张化学品表。如何在没有大量重复数据的情况下形成关系表?
问问题
89 次
2 回答
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)
)
于 2013-02-04T07:43:54.100 回答
0
添加表结构会有所帮助,但您可能可以使用这样的东西
为化合物创建一个表,为化学品创建一个表是好的,但您很可能需要再创建一个表,因为每种化合物中没有固定数量的化学品。
也许名为 Substances 的表具有引用化学品和化合物的以下列。(ChemicalID, CompoundID)
于 2013-02-04T07:36:46.307 回答