数据库,商店关系

时间:2016-03-15 11:34:44

标签: database-schema

我目前正在申请让体育运动员与其他运动员相遇,以便一起比赛。问题是关于在数据库中列出关系。我发现了一个有效的解决方案如下。

--------   -----------------
| User |   | Relationships |
--------   -----------------
| id   |   |    id         |
--------   |    idUser1    |
           |    idUser2    |
           -----------------

但是我觉得还有改进的余地,有没有更好的方法来解决这种情况?

1 个答案:

答案 0 :(得分:0)

  1. 你在关系中不需要 id,虽然它可以很方便
  2. 添加检查约束,以便用户无法与自我
  3. 建立关系
  4. 添加唯一约束(idUser1,idUser2),以免重复关系
  5. 您使用外键是吗?
  6. 有索引吗?
  7. 考虑添加自反关系,即添加关系(user1,user2)时,您还要添加(user2,user1)。这可能会使访问控制变得更容易,让某人" defriend"没有你诽谤他们的你。
  8. 只会有一种关系吗?