【发布时间】:2019-07-03 19:19:49
【问题描述】:
我了解基本数据库关系的工作原理,但我对 RDBM 中的关注/关注社交媒体关系感到困惑。
用户表:
userId (PK)
email
name
如下表:
followerId (FK referencing userId),
followeeId (FK referencing userId)
这似乎是正确的数据库设计,但我真正想知道这是一对多还是多对多关系。
我认为它是多对多的,因为一个用户可以关注很多用户并被很多用户关注。但它可能是一对多的,因为用户进行的每个关注都包含一个要关注的 userId。这不是完美的多对多示例,例如学生和班级,因此让我感到困惑。谢谢。
【问题讨论】:
-
一个关注者可以关注多个用户吗?一个用户可以被很多关注者关注吗?所以,现在你有答案了
-
我认为以这种方式考虑表格是错误的。本质上,关系数据库中的所有关系都是一对多的。如果它们是一对一的,则不需要单独的表,如果它们是多对多的,则只能通过使用联结表来描述关系。
标签: mysql sql database database-design foreign-keys