在关系数据库中表示对称关系的更好方法?

时间:2018-08-08 17:59:02

标签: sql database-design relational-database relationship relation

Table User:
  Id = Integer, PrimaryKey

Table UserSimilarity:
  Id = Integer, PrimaryKey, Autoincrement
  User_a = ForeignKey(User.Id)
  User_b = ForeignKey(User.Id)
  Similarity = Float

有没有比这更好的方法来表示用户之间的相似性?

假设我要查询用户3和用户5之间的相似性,那么我的查询将如下所示:

Select similarity where (user a = 3 and user b = 5) or (user a = 5 and user b = 3)

有没有一种方法可以实现我不需要使用“ user_a”和“ user_b”的设计?

0 个答案:

没有答案