0
我正在建立一個朋友/好友系統,其中一個用戶可以發送好友請求,接受,拒絕或阻止某人。什麼應該是朋友/好友系統的數據庫結構
起初我是用一個簡單的兩列的表:
user (BIGINT)
friend (BIGINT)
的想法是,如果user1
有一個朋友user2
然後會有兩排,其中在其中user1
之一將是user2
的朋友,而在另一排中,恰恰相反,這意味着他們是共同的朋友。另一方面,如果只有一個這樣的行,這意味着,另一個用戶還沒有接受作爲朋友的用戶。
但是,這種結構似乎不處理rejected
或blocked
狀態,所以我想知道什麼是更好的數據庫結構。有任何想法嗎?