gpt4 book ai didi

sql - 多对多但来自多个表

转载 作者:行者123 更新时间:2023-12-05 08:35:09 24 4
gpt4 key购买 nike

我应该运送一个装有可变内容的盒子并在数据库中对其进行跟踪。我所有的项目(盒子的内容)都是不同的类型,需要不同的表格来跟踪它们各自的信息,尽管每个项目类型都有相同长度的序列号(即 PK 是相同的数据类型)。我有一个 Boxes 表。

因此每个项目都有一个表(~7 个表)加上 box 表。我想创建一个 BoxContents 表。我试图制作一个包含两列的多对多关系中间表:一列用于 BoxID,一列用于 ItemBarcode,其中 BoxID 是一个FK 到 Boxes 表上的 PK,ItemBarcode 是到 Items 表上每个 PK 的 FK(即我试图将多个表链接到同一列) .毫不奇怪,这没有用。我尝试插入一个项目,但是除了一个 ItemBarcode 关系之外,其他所有项目都违反了 FK 约束。

如何构建我的关系以将多种类型的项目链接到一个表中的一个框?这是合乎逻辑的方法吗?您需要更多信息吗?

最佳答案

您需要一个类别层次结构(也就是类层次结构、子类型层次结构、继承层次结构...):

enter image description here

3 main strategies用于实现类别层次结构。如果您选择“所有类在一个表中”或“每个表中的类”,那么无论您有多少种类的项目,您只需要一个“链接”表来实现多对-许多关系。

关于sql - 多对多但来自多个表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9796991/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com