對于一個程序員來說,沒有一個個人的博客是不能稱為程序員的。程序員要養成一個經常數學博客的習慣,這個是一定要的,可以寫下自己的反思,自己的成果,這樣不僅可以幫助自己也可以幫助其他人學習。
思考了一下,我在這邊簡單的列出了一些字段,適合表結構的開發,自己做博客也沒有UI設計,我個人是喜歡先設計好,把表結構邏輯都搞好,然后再去做靜態頁面,寫js(其實就是前端技術不咋地)。這樣我可以在設計的時候思考很多東西,如果到時候前端需要更多的東西就只能去修改數據庫。
接下來展示表的設計
1. 文章信息表(article_info)文章的基礎字段
id(主鍵),create_by(創建人),create_date(創建日期),update_by(更新人),update_date(更新日期),version(版本號,樂觀鎖),is_deleted(是否刪除)這幾個字段是每個表都有的,一方面我們需要去詳細的記錄信息,另一方面如果我們的數據出現了錯誤,我們可以第一時間去查找錯誤。比如某個人往數據庫里面修改了數據,導致數據出現了問題,這時候我們不知道誰刪除的就很尷尬了,還有就是避免用戶的手誤,安全等等原因,我們的刪除最好是邏輯刪除,不物理刪除。邏輯刪除也方便我們以后統計數據。
id(主鍵),create_by(創建人),create_date(創建日期),update_by(更新人),update_date(更新日期),version(版本號,樂觀鎖),is_deleted(是否刪除),title(標題),type(文章分類,可以是springBoot,java等),is_top(是否置頂),author(作者),original_link(原始鏈接),is_original(是否原創),is_private(是否是私密)
2. 文章內容表(article_conetnt) 文章的文本信息
id,create_by,create_date,update_by,update_date,version,is_deleted,content(text)(內容),article_info_id(文章信息id),
這里是和文章信息分開來,因為阿里開發規范中說,如果文本類型為text類型,建議單獨分開一張表出來,當然這個一張表也是可以的,畢竟數據量較小。如果放在一起為影響索引效率。
3. 文章評論或留言表(article_comment)對于文章的評論或者留言
id,create_by,create_date,update_by,update_date,version,is_deleted,content(內容),name,email,article_info_id(如果是評論需要保存信息id),type(1是評論,2是留言)
這里主要包括兩個方面,一是對于文章的評論,而是用戶對于整個系統的留言,剛開始是想書寫兩個表,主要是結構相同,評論比留言多了一個article_info_id,索性我給加個type來區分,這樣方便日后的統計。如果不加type的話,評論你可以有article_info_id,留言可能就沒有,如果去統計數據,去數據庫判斷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
因為很大程度上,給文章來一個頭圖會顯得更好看,這樣的話,就會有圖片。這里單獨設計出來一個表的原因是,怕一個文章會有多個圖片,這樣就不能在article_info中添加一個url,就不能滿足需求。這樣支持可擴充,也方便去查看。
5. 文章類型表(article_type)
id,create_by,create_date,update_by,update_date,version,is_deleted,code,value,name,remark(備注)
這個對應在article_info中的type字段,我們把文章類型新建一個表,這樣可以從數據庫中獲取,不能設計為固定的(java,spring,springBoot,mysql等等),這個.我們需要在后端去管理的所以我們給設計為可操作性。
6. 系統圖片表(system_picture)首頁的圖片顯示
id,create_by,create_date,update_by,update_date,version,is_deleted,type,name,picture_url,type,code
這個是初始化頁面的圖片,可能是輪播圖,我們要設計成可以控制的,到時候要是換圖片,我們可以在后臺修改。
現在這些只是在頁面上顯示的數據,還可以加一些內容包括 瀏覽表,日志表等等,這些都是要完善的。后面還要做一個后臺管理頁面,用于編輯和發布文章等等,這只是一個初級想法,自己要去設計表結構了,設計好后頁面在下面供大家參考!希望可以幫到大家