1

我有一个橡胶带的数据,其中一种化合物具有多种化学物质,这些多种化学物质可以任意组合形成一种新化合物(多种化合物中的一种化学物质)。我创建了一张化合物表和一张化学品表。如何在没有大量重复数据的情况下形成关系表?

4

2 回答 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 回答