通告(公告),消息(站內短信),提醒的數據庫設計

1 業務描述

首先我們來認識一下通告,消息,提醒這三者的區別和聯繫。

1.1 通告Bulletin

平臺發,用戶收。分爲實時通告和非實時通告。通告有優先級:緊急,高,普通。

平臺向單個用戶發,平臺向多個用戶發,平臺向某一個用戶類型發,平臺向全部用戶發。

平臺發佈通告。

平臺撤銷通告。

平臺刪除通告。

平臺查詢通告。

用戶查看通告。

用戶查詢通告。

數據庫特點

一般不修改,每個用戶一份,或者每個羣體一份

1.2 消息Message(站內短信):

用戶之間互相發消息,好比是手機短信。可以針對一個消息進行回覆。分爲實時消息和非實時消息。

用戶發送消息。可以是個人向個人發消息,個人向羣體發消息,羣體向個人發消息,羣體向羣體發消息。個人向多個用戶發消息。

用戶查看消息。

用戶回覆消息。

用戶標記消息已讀。

用戶查詢消息。

數據庫特點

一般不修改,每個用戶一份,或者每個羣體一份,或者多個用戶一份。

3 提醒Remind

一般情況下,提醒對於被提醒者來說是被動的。主要是由於外界直接或者間接更新自己相關的信息,對自己產生了影響,自己又不知道的情況下,需要系統主動提醒自己。

統計性的提醒:相關內容的個數變化,統計相關內容的個數。又可以分爲實時統計和登錄統計。

彈出窗口提醒:彈出一個窗口,提醒用戶發生變化的內容,或者點擊可以跳轉到相應的窗口顯示結果。又可以分爲登錄之後提醒距離上次登錄之間發生的影響;和實時的提醒。

通常是由於其他操作附帶產生需要提醒的信息。

數據庫特點

統計性的提醒,記錄需要提醒的個數,以及個數代表的意義。

彈出窗口提醒,提醒的格式是統一的。格式例如:提醒的對象,提醒的內容,提醒的優先級(緊急,高,普通,不同優先級,有不同的顏色)。

 

 

 

2 設計

今天只是設計一下通告,大家有什麼不同意見,儘管提出來。

數據庫表

2.1 平臺向單個用戶發通告

添加公告的時候,直接將用戶編號寫在通告表中。用戶閱讀之後修改響應的標記。

剛開始考慮個用戶,就直接在通告表添加幾個字段,反正是1對1的關係。後來覺得可以變相的理解一下,分開兩張表,是的通告表儘量還是存放通告相關的信息,應該更好一點吧。

通告表

     
編號    
標題    
內容    
發佈時間    
是否撤銷    
撤銷時間    
是否刪除    
刪除時間    
優先級    
用戶編號    
用戶類型    
是否閱讀    
閱讀時間    

 

 

2.2 平臺向多個用戶發通告

添加公告記錄的同時【通告對象】表中添加多個用戶相應的記錄。用戶閱讀之後修改【通告對象】表響應的標記。

bulletin2

通告表

     
編號    
標題    
內容    
發佈時間    
是否撤銷    
撤銷時間    
是否刪除    
刪除時間    
優先級    

 

通告對象表

     
通告編號    
用戶編號    
是否閱讀    
閱讀時間    

 

2.3 平臺向某個用戶類型發通告

添加通告,通告信息中附帶有用戶類型信息。用戶根據自己的類型查看通告,閱讀之後,在【用戶標記】表中添加記錄。在【用戶標記】表中存在的通告,就是歷史通告,不存在的就是新通告。

bulletin4

通告表

     
編號    
標題    
內容    
發佈時間    
是否撤銷    
撤銷時間    
是否刪除    
刪除時間    
優先級    
用戶類型    

 

用戶標記表

     
通告編號    
用戶編號    
閱讀時間    

 

2.4 平臺向全部用戶發通告

添加通告,只有通告的相關信息。在【用戶標記】表中存在的通告,就是歷史通告,不存在的就是新通告。

bulletin1

通告表

     
編號    
標題    
內容    
發佈時間    
是否撤銷    
撤銷時間    
是否刪除    
刪除時間    
優先級    

 

用戶標記表

     
通告編號    
用戶編號    
閱讀時間    

 

2.5 綜合比較

bulletin5

 

綜合前面的設計思路,得出上面的這張圖。

3 相關業務描述

3.1 添加通告

單個用戶:通告表添加一條記錄,用戶標記表添加一條記錄 多個用戶:通告表添加一條記錄,用戶標記表添加多條記錄 全部用戶:通告表添加一條記錄 用戶類型:通告表添加一條記錄

3.2 閱讀公告

單個用戶:修改用戶標記表中的記錄 多個用戶:修改用戶標記表中的記錄 全部用戶:用戶標記表添加閱讀記錄 用戶類型:用戶標記表添加閱讀記錄

3.3 發現新通告的規則

單個用戶:通告表中有,並且通告對象類型是“單個用戶”,並且用戶標記表中的未讀標記是“0” 多個用戶:通告表中有,並且通告對象類型是“多個用戶”,並且用戶標記表中的未讀標記是“0” 全部用戶:通告表中有,並且通告對象類型是“全部用戶”,並且用戶標記表中沒有用戶的信息 用戶類型:通告表中有,並且通告對象類型是“用戶類型”,並且用戶標記表中沒有用戶的信息,並且通告表中的用戶類型是自己的用戶類型

3.4 查詢

單個用戶:通告表中有,並且通告對象類型是“單個用戶”,並且用戶標記表中有 多個用戶:通告表中有,並且通告對象類型是“多個用戶”,並且用戶標記表中有 全部用戶:通告表中有,並且通告對象類型是“全部用戶” 用戶類型:通告表中有,並且通告對象類型是“用戶類型”,並且通告表中的用戶類型是自己的類型

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章