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
是對稱的。
我覺得這很醜,想知道是否有更好的方法來處理它。
謝謝!