gpt4 book ai didi

mysql - 在设计数据库模式时,表的属性如何被其所属组的属性覆盖?

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

我有一个名为 Person 的表:
人名 |名字 |中间名 |姓氏 |组 ID | property_id
(group_id 将引用表 GroupOfPerson 的 group_id 列,property_id将引用表Property的property_id列)

另一个名为 GroupOfPerson 的表:
组 ID |组名 | property_id
(property_id将引用表Property的property_id列)

还有另一个名为 Property 的表:
属性_id |属性名称

这里,如果 Person 属于 GroupOfPerson,则 Person 表中的 property_id 将被 GroupOfPerson 表中相应 Person 的 property_id 覆盖。在设计数据库模式时如何有效地做到这一点?提前致谢。

最佳答案

我认为你不能在表格设计层面定义它。

但是,您可以使用 Person 表上的插入/更新触发器强制执行它。如果 group_id 值不为 null,触发器会将 property_id 的值从 GroupOfPerson 表复制到 PersonPerson 表。

或者,您可以在查询级别执行此操作。每当您从 Person 表中选择数据时,请将其与 GroupOfPerson 表连接,并根据中的 null/notnull 值为 property_id 列选择适当的源group_id 列。

关于mysql - 在设计数据库模式时,表的属性如何被其所属组的属性覆盖?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9637081/

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