2

是否有针对从表的主键创建联结表的硬性规定?假设我有一个结构类似于: 在此处输入图像描述

在这种情况下,有一份可以一起出售的物品清单,但应标记为危险物品。任何一件物品都可能有多个其他危险物品。所有项目都使用它们的 itemId 唯一标识。可以在多对多关系中将表引用到自身吗?我在 SO 上看到过其他示例,但它们实际上并不是特定于 SQL 的。

4

2 回答 2

1

这是针对您的问题的正确设计,只要您的组合只能是两项组合。

于 2013-04-30T21:28:03.687 回答
0

在数据库设计中,以多对多形式呈现关系的概念设计在物理设计中被转换为 2 一对多。例如,一个学生可以参加一门或多门课程,而一门课程可能有很多学生,所以这是多对多。因此,在实际设计中,它将是一个 Student 表,Course 表,然后是 CourseTaken 表,它同时具有 Student 和 Course 表的主键,从而创建 2 个一对多的中继。在您的情况下,尽管这两个表是一个并且相同,但是您拥有虚拟的第三个表来促进 2 个一对多的关系,因此对我来说仍然是非常可行的方法。

于 2013-04-30T21:44:35.747 回答