朋友也是用户时如何表示朋友关系

时间:2013-07-23 10:28:17

标签: database-design

我正在设计一个具有以下两个必要条件的数据库:

  • 用户可以有朋友。
  • 朋友是应用程序的用户。

在我的概念设计中,我用这种方式表示:

enter image description here

我有几个问题:
1. 这是正确的吗?
2. 朋友是实体吗?我是否必须添加表格Friend

我想我需要一个包含两列的朋友表,这两个列都是用户表的外键。

1 个答案:

答案 0 :(得分:4)

您尝试设置的方案看起来非常类似于自引用多对多方案:

Many-to-many self-referencing entity.

没有单独的Friend实体,只有名为UserFriend的“友情链接”表。它有两个属性 - 表示朋友的用户实体的ID和朋友的用户的ID。 “友谊”还可能包含其他属性,例如友谊建立的日期,友谊存在的背景(大学,工作,家庭)等。