gpt4 book ai didi

mysql - SQL表设计

转载 作者:行者123 更新时间:2023-11-29 14:26:11 25 4
gpt4 key购买 nike

我有一个名为“项目”的表。为简单起见,我们假设它有一个名为 projectId 的列。

Projects---------projectId    PK

我还有另一张 table 。它称为子项目。它有两列,一列称为projectId,另一列称为subProjectId。两列组成主键。

Sub Projects--------projectId       PKsubProjectId    PK

他们的工作方式是您在项目表中列出了一堆项目。其中一些项目可以是项目的子项目。例如,如果项目表有 3 行,如下所示

Projects-------projectId    1    2    3

项目 2 和 3 可以被视为项目 1 的子项目。这就是 SubProject 表的用武之地。为了表示这一点,子项目将如下所示

Sub Projects--------1 ,21 ,3

这意味着项目 2 和项目 3 是项目 1 的子项目。

我在为此创建模型时遇到问题。在 SubProjects 表中,我需要 projectId 和 subProjectId 来引用 Projects 表中的 projectId。但是,关键是他们可能引用不同的项目。我想我应该使用外键来做到这一点?这有道理吗?这是允许的吗?有更好的方法吗?

我正在使用 MySql 和 MySql 工作台,但似乎无法实现这一点。有什么想法吗?

编辑一个项目可以是多个表的子项目。

最佳答案

这样做应该没问题。您能更具体地说明为什么无法设置吗?

如果一个项目只是一个项目的子项目,另一种方法是在项目表中添加一个“父项目”列,其中 FK 指向“自身”。我认为如果您这样做,您的查询很可能会变得更简单。

关于mysql - SQL表设计,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10920516/

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