gpt4 book ai didi

mysql - 如何处理多父表

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

我在为我正在处理的特定数据库结构建模时遇到问题。简而言之,考虑以下因素:

  • 一个网页可以有一个或多个线程
  • 一个线程由一条或多条评论组成
  • 可以对评论提出一项或多项投诉
  • 也可以针对整个线程提出投诉
  • 也可以针对页面提出投诉

我不太清楚如何在数据库级别对其进行建模。前三个很简单:

webpage
----------
id
name

thread
---------
id
page_id
name

comment
--------
id
thread_id
name

但是如果我想要一张投诉表,应该如何建模呢?我认为你不想这样做:

complaint
----------
id
page_id
thread_id
comment_id

如果您添加了新的对象类型,例如图片,则必须在投诉中添加更多列。有没有更好的方法来做到这一点,或者已经做到最好了?

提前致谢,- 安东尼

最佳答案

我会将投诉创建为一个独立的实体,然后在它可以关联的所有不同事物之间建立链接表。

所以,我有以下表格......

  • 投诉
  • compliant_comment_link
  • complaint_thread_link
  • 投诉页面链接

这是 Waleed 解决方案的一个略有不同的变体。对于所有类似的事情,有很多方法可以解决它:)

这种方法的优点是您可以使用外键来维护数据完整性。缺点是每当你需要对一个新的“事物”进行投诉时,你将需要一个新的链接表,但我想你无论如何都必须创建一个新的“事物”表。

关于mysql - 如何处理多父表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6798535/

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