gpt4 book ai didi

mysql - 关于多表数据库设计问题的评论

转载 作者:搜寻专家 更新时间:2023-10-30 20:06:19 25 4
gpt4 key购买 nike

我有表:

Articles{...}
Recipes{...}
Notifications{...}
Photos{...}

我需要实现“用户评论”功能(如 facebook)。我应该制作表格:ArticleComments、RecipesComments 等具有 1:n 关系吗?或者为所有人创建一个 Comments 表(但我不知道如何设计)?

最佳答案

您可以创建另一个表 CommentableEntity(尽管称它为更好的名称)。表中的每一行(ArticlesRecipes 等)都将引用此表中的唯一行。实体表可能有一个 type 字段来指示实体的类型(以帮助反向连接)。

然后您可以拥有一个以通用方式引用 CommentableEntityComment 表。

例如,您最终会得到以下表格:

Articles
-----------------
Article_id
CommentableEntity_id (fk, unique)
Content
....

Recipes
-----------------
Recipe_id
CommentableEntity_id (fk, unique)
Content
....

CommentableEntity
-----------------
CommentableEntity_id (pk)
EntityType (e.g. 'Recipe', 'Article')

Comment
-------
Comment_id (pk)
CommentableEntity_id (fk)
User_id (fk)
DateAdded
Comment
...etc...

您可以在每次添加文章/食谱等时添加 CommentableEntity 记录。您所有的评论处理代码都必须知道 CommentableEntity_id - 它不关心它是什么类型。

关于mysql - 关于多表数据库设计问题的评论,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5723209/

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