1

1つの化合物に多くの化学物質が含まれており、これらの多くの化学物質を任意の組み合わせで組み合わせて新しい化合物(多くの化合物に1つの化学物質)を形成できるゴムベルトのデータがあります。化合物用に 1 つのテーブルを作成し、化学物質用に 1 つのテーブルを作成しました。データを大量に繰り返さずにリレーショナル テーブルを作成するにはどうすればよいですか?

4

2 に答える 2

2

検索すると、ネット上に膨大な数のチュートリアルがあることは間違いありません。いくつかの調査を行うか、適切なデータベース テキストを取得する必要があります。ここでは、CompoundChemical テーブルが関連付けられた 1 対多テーブルとして実現された多対多リレーションシップの例を示します。

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

テーブル構造を追加すると役立ちますが、おそらくこのようなものを使用できます

化合物用に 1 つのテーブルを作成し、化学物質用に 1 つのテーブルを作成するのは良いことですが、各化合物に一定数の化学物質がないため、おそらくもう 1 つのテーブルが必要になるでしょう。

おそらく、化学物質と化合物を参照する次の列を持つ Substances という名前のテーブルです。(化学物質ID、化合物ID)

于 2013-02-04T07:36:46.307 に答える