gpt4 book ai didi

mysql - 追随者/关注关系

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

我了解基本数据库关系的工作原理,但我对 RDBM 中的关注/关注者社交媒体关系感到困惑。

用户表:

userId (PK)
email
name

如下表:

followerId (FK referencing userId),
followeeId (FK referencing userId)

这似乎是正确的数据库设计,但我真正想知道这是一对多还是多对多关系。

我认为这是多对多,因为一个用户可以关注许多用户并被许多用户关注。但它可能是一对多,因为用户的每个关注都包含一个要关注的用户 ID。这不是完美的多对多示例,例如学生和类(class),所以它让我感到困惑。谢谢。

最佳答案

在我看来,您的数据库设计与您的用例是一致的。

用户之间存在多对多关系,用户可以:

  • 关注许多用户
  • 并且受到许多用户的关注

为了表示这种关系,您创建了一个桥接表,即follow 表。这是进行相关操作的方法。

与典型的学生/类(class)关系的区别在于,相关的两个对象都存储在同一个表中(users):这就是为什么您最终会在 follow 表引用 user.userId。但无论这种特殊性如何,这在概念上都是同一类型的关系。

关于mysql - 追随者/关注关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54611212/

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