文章/圖集設計

最近需要搭建一個隨時可以用的CMS系統(tǒng),但是不想用別人開發(fā)的系統(tǒng)茬暇,于是自己著手設計了一波文章+評論的數(shù)據(jù)庫霹期。

這篇文章主要列一下文章和圖集的概要。

!!!! 所有數(shù)據(jù)快压,最好不要設置外鍵

粗略概要圖

然后經(jīng)過細細揣摩后圆仔,對這些概要進行MySQL數(shù)據(jù)表設計(緩存如何存就不說了,每個業(yè)務設計不一樣)蔫劣,如圖:


數(shù)據(jù)表概覽圖

這里只對幾張表進行字段闡述坪郭,因為其他都可以理解清楚的

分類表

分類表
字段 類型(長度) 釋義
分類ID int(11) 主鍵,也可以使用隨機字符串脉幢,隨意
分類名稱 varchar(8) 分類2-4個漢字
排序 int(11) 用于前端顯示排序
創(chuàng)建時間 int(11) 時間戳
父級分類ID int(11) 默認0歪沃,關聯(lián)本表的分類ID,主要做二級分類用
刪除時間 int(11) 時間戳嫌松,用于數(shù)據(jù)冗余沪曙,以后做分析

主體表

文章主體表
字段 類型(長度) 釋義
文章ID varchar(50) 主鍵,使用隨機字符串萎羔,目前采用 md5(作者賬號+隨機數(shù)) 生成
標題 varchar(100) 標題簡要明了液走,100都多了
作者 varchar(20) 這里主要存儲 用戶系統(tǒng) 的賬號ID
類型 tinyint(1) 文章類型 ,1圖集贾陷,0普通文章
封面圖類型 tinyint(1) 默認0無圖缘眶,1單圖,2三圖髓废,3自定義
定時發(fā)布時間 int(11) 時間戳巷懈,在前端展示的時候,定時發(fā)布時間應覆蓋實際發(fā)布時間
置頂時間 int(11) 時間戳慌洪,默認最新置頂?shù)脑谧钌厦?/td>
通過審核時間 int(11) 時間戳顶燕,通過審核后更新該字段并異步添加一條審核記錄到審核表
上架時間 int(11) 時間戳,用戶可自行上下架蒋譬,上架需審核割岛,下架后重新上架也需要審核。
發(fā)布時間 int(11) 時間戳犯助,用戶真實發(fā)布時間
刪除時間 int(11) 時間戳癣漆,用于數(shù)據(jù)冗余,以后做分析

分類主體關系表

分類主體關系表
字段 類型(長度) 釋義
分類ID varchar(50) 分類表中的分類ID
文章ID varchar(50) 文章表中的文章ID
創(chuàng)建時間 int(11) 時間戳
更新時間 int(11) 時間戳剂买,這個字段至關重要惠爽,當文章有置頂和定時發(fā)布的時候癌蓖,這個字段應該與文章中的置頂或定時時間同步,方能保證根據(jù)分類獲取列表時候婚肆,可以減小時間排序的誤差
是否生效 tinyint(1) 可選1和0租副,主要用于文章下架后或待審核前,文章不應該出現(xiàn)在分類下较性;以此字段來過濾分類下的文章ID
刪除時間 int(11) 時間戳用僧,用于數(shù)據(jù)冗余,以后做分析

這些表設計來的作用是什么呢赞咙,我覺得還是舉例幾個說明比較好(復雜數(shù)據(jù)都是做過緩存的):

0.1 獲取分類列表(僅限二級)

獲取數(shù)據(jù)時候责循,進行自關聯(lián)查詢,可以獲取到一級和二級的分類列表

獲取分類列表

0.2 發(fā)布圖集

提交數(shù)據(jù)后攀操,對數(shù)據(jù)拆分后進行異步存儲院仿,分別存儲到 文章主體表圖集內容表 ... ,如果做了緩存速和,可以先直接存儲到緩存歹垫,然后異步提交任務,由任務執(zhí)行者來執(zhí)行DB操作(沒做過線上測試颠放,目前新增數(shù)據(jù)是采用直接操作DB)排惨,可以減少響應時間。

發(fā)布圖集

0.3 獲取圖集詳情

在查詢時候默認查詢的是緩存慈迈,如果要查詢DB若贮,則先查主體表,再查圖集內容表

獲取圖集詳情

0.4 刪除圖集

可以直接僅更改主體表中文章和分類關系表的刪除時間痒留,然后推一個異步任務去更新封面、內容表等其他表蠢沿,因為只要更新了主體表分類關系表伸头,就沒有文章入口了,其他的自然也查不出來了舷蟀,把費時的操作拿給任務去做

目前這個數(shù)據(jù)表的結構配上緩存恤磷,還沒發(fā)現(xiàn)大問題,希望指教

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末野宜,一起剝皮案震驚了整個濱河市扫步,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌匈子,老刑警劉巖河胎,帶你破解...
    沈念sama閱讀 216,544評論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異虎敦,居然都是意外死亡游岳,警方通過查閱死者的電腦和手機政敢,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,430評論 3 392
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來胚迫,“玉大人喷户,你說我怎么就攤上這事》枚停” “怎么了褪尝?”我有些...
    開封第一講書人閱讀 162,764評論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長期犬。 經(jīng)常有香客問我河哑,道長,這世上最難降的妖魔是什么哭懈? 我笑而不...
    開封第一講書人閱讀 58,193評論 1 292
  • 正文 為了忘掉前任灾馒,我火速辦了婚禮,結果婚禮上遣总,老公的妹妹穿的比我還像新娘睬罗。我一直安慰自己,他們只是感情好旭斥,可當我...
    茶點故事閱讀 67,216評論 6 388
  • 文/花漫 我一把揭開白布容达。 她就那樣靜靜地躺著,像睡著了一般垂券。 火紅的嫁衣襯著肌膚如雪花盐。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,182評論 1 299
  • 那天菇爪,我揣著相機與錄音算芯,去河邊找鬼。 笑死凳宙,一個胖子當著我的面吹牛熙揍,可吹牛的內容都是我干的。 我是一名探鬼主播氏涩,決...
    沈念sama閱讀 40,063評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼届囚,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了是尖?” 一聲冷哼從身側響起意系,我...
    開封第一講書人閱讀 38,917評論 0 274
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎饺汹,沒想到半個月后蛔添,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,329評論 1 310
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 37,543評論 2 332
  • 正文 我和宋清朗相戀三年作郭,在試婚紗的時候發(fā)現(xiàn)自己被綠了陨囊。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,722評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡夹攒,死狀恐怖蜘醋,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情咏尝,我是刑警寧澤压语,帶...
    沈念sama閱讀 35,425評論 5 343
  • 正文 年R本政府宣布,位于F島的核電站编检,受9級特大地震影響胎食,放射性物質發(fā)生泄漏。R本人自食惡果不足惜允懂,卻給世界環(huán)境...
    茶點故事閱讀 41,019評論 3 326
  • 文/蒙蒙 一厕怜、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧蕾总,春花似錦粥航、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,671評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至蚀浆,卻和暖如春缀程,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背市俊。 一陣腳步聲響...
    開封第一講書人閱讀 32,825評論 1 269
  • 我被黑心中介騙來泰國打工杨凑, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人摆昧。 一個月前我還...
    沈念sama閱讀 47,729評論 2 368
  • 正文 我出身青樓蠢甲,卻偏偏與公主長得像,于是被迫代替她去往敵國和親据忘。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 44,614評論 2 353

推薦閱讀更多精彩內容