2
如果表中存在对称关系,如何以优雅的方式表示它? 例如,有一个表Friend
,其中应包含两个用户的用户标识。如果我们在这个表中使用UID1
和UID2
,当我们要找出是否A_uid和B_uid是朋友,我们应该使用如何表示数据库建模中的对称关系
SELECT * FROM Friend WHERE (UID1 = A_uid AND UID2 = B_uid) OR (UID1 = B_uid AND UID2 = A_uid);
因为UID1
和UID2
是表示友好一样。 而在这个困境中最重要的是UID1
和UID2
是对称的。
我觉得这很丑,想知道是否有更好的方法来处理它。
谢谢!