gpt4 book ai didi

Mysql 事件提要设计

转载 作者:行者123 更新时间:2023-11-30 01:16:07 29 4
gpt4 key购买 nike

在我的应用程序中,用户可以创建项目(上传照片/图像)、欣赏或添加到收藏夹其他用户项目、撰写消息、发表评论。还有事件源,每个用户都可以看到 friend 的新评论、新消息、新项目等。

事件源中的每条记录都可以与不同的对象关联。例如,new_vote 类型的记录可以连接到 VoteProjectSender(投票者)。每条记录都有所有者。我有下表(简单地):

feed (id, owner_id, sender_id, project_id, vote_id, message_id, comment_id, type)
projects (id, title)
votes (id, vote)

等等

我希望每条记录都与多个对象相关。例如,new_message 类型的记录可以与多条消息相关。因此,在事件提要页面上,我可以向用户显示“Mike 给你写了 4 条消息”。在我看来,它将是:

feed (id, type)
projects (id, title)
votes (id, vote)
feeds_projects_relations (feed_id, project_id)
feeds_votes_relations (feed_id, vote_id)

以及其他类似的表格。

设计正确吗?有更好的方法吗?

谢谢。

最佳答案

您在设计数据库时假设从提要到投票之间存在多对多关系。真的吗?我假设每次投票只与一个提要相关。在这种情况下,只需将 feed_id 添加到您的投票表以指向其所在的 Feed,而不是 feeds_votes_relations 表。

我还想知道 feed 是否是正确的表名。我将 feed 视为一个集合体或群体。通常,您希望表保存单个对象,例如投票或项目,并将表命名为投票或项目。

关于Mysql 事件提要设计,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19040267/

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