站內訊息系統資料表怎麼設計

2021-06-13 17:28:26 字數 1451 閱讀 6440

-- 一起4張表 訊息類別表,訊息表,傳送訊息人員表,接收訊息人員表

-- 至於會員要接收到資訊後刪除自己,其實可用標記處理而無作廢,也就存在---**站的概念,最後也可以徹底刪除

-- 訊息表單獨拿出來不做任何處理,這樣資料也不會冗餘,傳送人與接收人的處理分別可以單獨處理

---------------訊息類別表-----------------

tmessagetype

ftypeid

ftypename

ftypememo

---------------訊息表---------------

tmessageinfo

fmessageid

ftypename --(這裡也不需要放置id,為提高效能)直接放類別名稱

fcontent

fsenddate

---------------傳送訊息人員表-與訊息表關聯獲取所有資訊--------------

tsendmessage

fsendid --主鍵id

fmessageid --tmessageinfo主鍵id

fuserid --使用者id

fsendperson --傳送人

fcancel --是否作廢標記,也可作為刪除刪除標記

---------------接收訊息人員表-與訊息表關聯獲取所有資訊----

treceivemessage

freceiveid

fmessageid

fuserid

freadftatus --是否讀取

fcancel

-----------------使用者表-----------------

tuserinfo(結構為你自己的)fuserid為主鍵id

--sql語句大概寫法(我用sqlserver)

--1.傳送所有人

insert into treceivemessage

(fmessageid,fuserid,freadftatus,fcancel)

select fmessageid,fuserid ,0,0 --預設未讀

from tuserinfo,tsendmessage

where fsendid=@fsendid

--2.傳送指定人

insert into treceivemessage

(fmessageid,fuserid,freadftatus,fcancel)

select fmessageid,fuserid ,0,0 --預設未讀

from tuserinfo,tsendmessage

where fsendid=@fsendid and fuserid=@fuserid

--tmessageinfo與其它2張訊息表 建立好主外來鍵約束就行了

資料表設計

在進行完了資料調研 需求分析 技術實現方案,進行資料設計。資料設計,往往包含兩個環節 在本專案中,我們所有的資料設計環節,只會涉及第二個,不會涉及第乙個。因為我們為了突出課程重點,也就是spark。所以主要還是集中在spark上面,就不要花時間去做hive etl了。設計mysql中的業務表的結構。...

資料表設計

資料表設計 三大正規化 第一正規化 列的原子性,每一列是不可再拆分的 若是還要查詢省份或地區,則該錶有誤,不滿足第一正規化,則應 第二正規化 表裡面的每一列都應與主鍵有關 範例 品種列亂入不和主鍵有關係,不滿足第二正規化 科考,人員代號和科目代號為聯合主鍵,姓名雖與人員代號有關,但在成績表出來前人的...

quartz設計資料表

qrtz calendars 以 blob 型別儲存 quartz 的 calendar 資訊 qrtz cron triggers 儲存 cron trigger,包括 cron 表示式和時區資訊 qrtz fired triggers 儲存與已觸發的 trigger 相關的狀態資訊,以及相聯 j...