1
我們需要在基於spring MVC的web應用程序中創建一個聊天功能。如何爲聊天功能創建數據庫設計?
會有兩種聊天一對一聊天和羣聊。
對於羣組聊天我已經提出了以下架構。
Table = group_chat
User_id, message, message_on (datetime), group_id
雖然我不確定一對一聊天。
一對一聊天可能發生在羣組之外或兩個羣組成員之間的羣組內。
請幫
我們需要在基於spring MVC的web應用程序中創建一個聊天功能。如何爲聊天功能創建數據庫設計?
會有兩種聊天一對一聊天和羣聊。
對於羣組聊天我已經提出了以下架構。
Table = group_chat
User_id, message, message_on (datetime), group_id
雖然我不確定一對一聊天。
一對一聊天可能發生在羣組之外或兩個羣組成員之間的羣組內。
請幫
你的問題是有點開放式的,由於這樣的事實,我們不知道你的架構或要求任何東西。然而,對於本質上相同類型的數據而言,有兩個單獨的表看起來像是一種代碼味道。我可能會從這樣的結構開始,並根據它的表現來迭代它。
USERS
user_id
username
password
GROUP
group_id
name
GROUP_MEMBERS
group_id
user_id
MESSAGE
message_id
timestamp
from_user_id
destination_type (enum - group, user)
destination_id
您對您的聊天功能,任何添加,然後自動傳播到兩個對等網絡和羣聊。當然,這也要求你的代碼遵循將兩種類型的聊天結合到同一類中的原理。
嗨!我發現你的答案很有趣。但是有一點我不清楚:我如何獲得特定用戶一直處於活動狀態的最近5個話題(私人或小組)的列表?你能寫一個示例查詢嗎? –
另一個問題:字段「destination_id」是與哪個字段相關的外鍵? Group_id ....或者group_id和user_id? –