【问题标题】:need help to understand his database relationship需要帮助来了解他的数据库关系
【发布时间】:2012-04-05 13:00:52
【问题描述】:

我有 2 个表,用户和关注者。

用户表。 (用户 ID,用户名)

Follower 表(Id、UserId、FollowerId)(2 个外键,UserId 和 FollowerId 都是 User 表中 UserId 的引用)

User.UserId和Follower.FollowerId,我觉得这是一对多,一个用户可以有多个follower。

User.UserId 和 Follower.UserId 呢,​​是一对一还是一对多。我想我把自己弄糊涂了。

编辑:

这是多对多的关系。我给它命名的方式让我很困惑。

User 表保持不变,Follower 表更改为 (Id, Leader, Follower)

现在很清楚了,一个领导可以有很多追随者,一个追随者可以追随很多领导。

【问题讨论】:

    标签: mysql sql relational-database


    【解决方案1】:

    我认为你的命名让你感到困惑。不要为实体和角色使用相同的名称。实际上,您拥有的是一个 Person 表和另一个表示人与人之间关系的表;也许称它为连接表。

    通过这种方法,很明显一个人可以在连接中扮演任一角色,并且所描述的所有关系都是多对多的。

    【讨论】:

    • 非常感谢。我编辑我的问题并重命名它。现在很清楚了。
    【解决方案2】:

    从表格的角度来看,它是一对多的。所以在实现中,假设表 User 中的用户 A 可能在表 Follower 中有用户 B、C 和 D 行,因此是一对多。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-06-19
      • 2016-05-03
      • 1970-01-01
      • 2021-01-18
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多