gpt4 book ai didi

mysql - 如何构建这些关系?

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

我有一个表tablet,其中有一列period_idtablet 表与 period 表具有多对一关系,period 表与 period 表具有一对多关系sub_period 表。我需要能够在 tablet 中或从 tablet 指定单个 sub_period 条目,其选择受到 period 条目的限制,但由于sub_period 仅取决于 period,我不能。我应该如何建模?

在我的模型中,每个tablet 行应该有一个period 条目和一个sub_period 条目。 periodsub_period之间的关系应该是1:n(一个周期可以有多个子周期,但每个子周期只能属于到一个时期)。我希望能够在平板电脑中选择的子周期应该受到我选择的周期

的限制

编辑:已经意识到我需要在平板电脑期间之间建立N:1关系:许多平板电脑可以与同一时期相关。

最佳答案

创建可为空列 has_tablet ENUM('1')sub_period并创建一个 UNIQUE sub_period (period, has_tablet) 的约束.

has_tablet只能接受值 1NULL这意味着您可以将每个时期的一个季节设置为“拥有平板电脑”。自 periodtablet是一对一的,这唯一标识 tablet也是。

使用此解决方案,可以在一段时间内完全不设置任何平板电脑。如果有问题,请添加periodtablet并制作tablet (period, sub_period)引用sub_period (period, sub_period) .

这是一种非规范化,但它永远不会导致不一致(因为 period 在两个表中都是由 sub_period 定义的)。

更新:

似乎平板电脑的周期是一对多。在这种情况下,只需添加 make tablet引用sub_period而不是periodperiod关系可以通过简单的连接来传递推断。

关于mysql - 如何构建这些关系?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10835706/

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