首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在数据库中实现一对多和多对多关系

如何在数据库中实现一对多和多对多关系
EN

Stack Overflow用户
提问于 2013-02-04 13:35:17
回答 2查看 89关注 0票数 1

我有一个橡胶带的数据,在那里一个化合物有许多化学物质,这些许多化学物质可以在任何组合中形成一个新的化合物(许多化合物中有一个化学物质)。我已经为化合物创建了一个表,并为化学品创建了一个表。如何在不重复大量数据的情况下形成关系表?

EN

回答 2

Stack Overflow用户

发布于 2013-02-04 15:43:54

毫无疑问,如果你进行搜索的话,网上有大量的教程。你应该做一些研究,或者得到一个好的数据库文本。为了帮助您,这里有一个多对多关系的示例,它实现为具有关联CompoundChemical表的一对多表。

代码语言:javascript
复制
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)
)
票数 2
EN

Stack Overflow用户

发布于 2013-02-04 15:36:46

添加表结构会有所帮助,但您可以使用下面这样的方法

为化合物创建一个表和为化学品创建一个表是很好的,但您很可能需要多一个表,因为每个化合物中没有固定数量的化学物质。

也许有一张名为Substance的表格,其中有下列引用化学品和化合物的列。(ChemicalID,CompoundID)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14680939

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档