连接表连接3个表?

时间:2015-01-25 13:51:35

标签: database database-design junction-table

我是编程和数据库的新手。目前正在进行涉及部门(物理,化学等),类别(物理 - >热,化学 - >有机)和实际实验室项目(物理 - >加热 - >匹配棒,化学 - >)的库存项目。有机 - >己烷溶液)。我的数据库图表应该如何显示,以便我可以根据部门和类别搜索项目列表,在添加项目时,它们被归类为正确的部门和类别。我正在创建一个连接到Department,Category和Item Details(不包含DeptID和CatID)表的Junction表(Department-Category-Item)。

我是否在正确的轨道上?

希望有人可以帮忙澄清一下。

提前非常感谢。

克里斯

1 个答案:

答案 0 :(得分:0)

是的,你走在正确的轨道上。如果它是对的:

  • 一个离职人员可以有几个类别,一个类别总是连接到一个部门
  • 一个类别可以包含多个项目,一个项目始终连接到一个类别。

然后你应该做一些这样的模型:

Id | Name
---|-------
1  | Physics
2  | Chemistry

<强>分类

Id | DepartmentId |Name
---|--------------|-----
1  | 1            |Heat
2  | 1            |...

<强>物品

Id | CategoryId | Name
---|------------|------
1  | 2          | Match Sticks
2  | 1

你会得到你的&#34;交界处&#34;使用外键(DepartmentId,CategoryId)。您可以通过输入相应的外键来严格添加项目。

P.S。:如果你的一个关系是n:n(就像一个项目可以是几个类别)那么你需要在它们之间有一个新的实体/表。