對于一個程序員來說,沒有一個個人的博客是不能稱為程序員的。程序員要養(yǎng)成一個經(jīng)常數(shù)學(xué)博客的習(xí)慣谋作,這個是一定要的芋肠,可以寫下自己的反思,自己的成果遵蚜,這樣不僅可以幫助自己也可以幫助其他人學(xué)習(xí)帖池。
思考了一下,我在這邊簡單的列出了一些字段,適合表結(jié)構(gòu)的開發(fā),自己做博客也沒有UI設(shè)計,我個人是喜歡先設(shè)計好,把表結(jié)構(gòu)邏輯都搞好,然后再去做靜態(tài)頁面,寫js(其實就是前端技術(shù)不咋地)吭净。這樣我可以在設(shè)計的時候思考很多東西睡汹,如果到時候前端需要更多的東西就只能去修改數(shù)據(jù)庫。
接下來展示表的設(shè)計
1. 文章信息表(article_info)文章的基礎(chǔ)字段
id(主鍵),create_by(創(chuàng)建人),create_date(創(chuàng)建日期),update_by(更新人),update_date(更新日期),version(版本號,樂觀鎖),is_deleted(是否刪除)這幾個字段是每個表都有的,一方面我們需要去詳細的記錄信息,另一方面如果我們的數(shù)據(jù)出現(xiàn)了錯誤,我們可以第一時間去查找錯誤寂殉。比如某個人往數(shù)據(jù)庫里面修改了數(shù)據(jù)囚巴,導(dǎo)致數(shù)據(jù)出現(xiàn)了問題,這時候我們不知道誰刪除的就很尷尬了友扰,還有就是避免用戶的手誤彤叉,安全等等原因,我們的刪除最好是邏輯刪除村怪,不物理刪除秽浇。邏輯刪除也方便我們以后統(tǒng)計數(shù)據(jù)。
id(主鍵),create_by(創(chuàng)建人),create_date(創(chuàng)建日期),update_by(更新人),update_date(更新日期),version(版本號,樂觀鎖),is_deleted(是否刪除),title(標(biāo)題),type(文章分類,可以是springBoot,java等),is_top(是否置頂),author(作者),original_link(原始鏈接),is_original(是否原創(chuàng)),is_private(是否是私密)
2. 文章內(nèi)容表(article_conetnt) 文章的文本信息
id,create_by,create_date,update_by,update_date,version,is_deleted,content(text)(內(nèi)容),article_info_id(文章信息id),
這里是和文章信息分開來,因為阿里開發(fā)規(guī)范中說,如果文本類型為text類型,建議單獨分開一張表出來,當(dāng)然這個一張表也是可以的,畢竟數(shù)據(jù)量較小甚负。如果放在一起為影響索引效率柬焕。
3. 文章評論或留言表(article_comment)對于文章的評論或者留言
id,create_by,create_date,update_by,update_date,version,is_deleted,content(內(nèi)容),name,email,article_info_id(如果是評論需要保存信息id)审残,type(1是評論,2是留言)
這里主要包括兩個方面击喂,一是對于文章的評論维苔,而是用戶對于整個系統(tǒng)的留言,剛開始是想書寫兩個表懂昂,主要是結(jié)構(gòu)相同介时,評論比留言多了一個article_info_id,索性我給加個type來區(qū)分,這樣方便日后的統(tǒng)計。如果不加type的話凌彬,評論你可以有article_info_id,留言可能就沒有,如果去統(tǒng)計數(shù)據(jù),去數(shù)據(jù)庫判斷article_info_id==null,我感覺這樣的形式不好沸柔,也不建議這樣去做。
4. 文章圖片表(article_picture)文章的圖片
id,create_by,create_date,update_by,update_date,version,is_deleted,name,picture_url,article_info_id
因為很大程度上,給文章來一個頭圖會顯得更好看,這樣的話,就會有圖片铲敛。這里單獨設(shè)計出來一個表的原因是褐澎,怕一個文章會有多個圖片,這樣就不能在article_info中添加一個url伐蒋,就不能滿足需求工三。這樣支持可擴充,也方便去查看先鱼。
5. 文章類型表(article_type)
id,create_by,create_date,update_by,update_date,version,is_deleted,code,value,name,remark(備注)
這個對應(yīng)在article_info中的type字段,我們把文章類型新建一個表,這樣可以從數(shù)據(jù)庫中獲取,不能設(shè)計為固定的(java,spring,springBoot,mysql等等),這個.我們需要在后端去管理的所以我們給設(shè)計為可操作性俭正。
6. 系統(tǒng)圖片表(system_picture)首頁的圖片顯示
id,create_by,create_date,update_by,update_date,version,is_deleted,type,name,picture_url,type,code
這個是初始化頁面的圖片,可能是輪播圖,我們要設(shè)計成可以控制的,到時候要是換圖片,我們可以在后臺修改。
現(xiàn)在這些只是在頁面上顯示的數(shù)據(jù)焙畔,還可以加一些內(nèi)容包括 瀏覽表掸读,日志表等等,這些都是要完善的宏多。后面還要做一個后臺管理頁面儿惫,用于編輯和發(fā)布文章等等,這只是一個初級想法伸但,自己要去設(shè)計表結(jié)構(gòu)了肾请,設(shè)計好后頁面在下面供大家參考!希望可以幫到大家