以博客系統爲例的數據庫分析與設計之分析篇

https://blog.csdn.net/Lockey23/article/details/73468418

系統分析


  1. 作爲一個微型博客系統,不需要像微博或者csdn這樣的大網站每天承受數以N萬計的用戶訪問,也不需要展示豐富繁雜的內容,所以我們就按最簡來進行數據庫的設計,這樣相對而言系統承載要小的很多很多,數據庫條目關係以及儲存佔用也很小,也便於基礎學習者理解。
  2. 服務器和數據庫我們一般都會部署在linux平臺上,如果本地開發練習其實並不麻煩,如果想把成果放到網上去,那麼我們可以租用一部雲主機,在雲主機上搭建一個真實的可訪問系統,這些需要大家自己去探索學習。
  3. 數據庫的話我的示例之中一般都會使用PgSql,可以參考前面的相關文章爲應用配置穩定數據庫
    硬件環境並不作爲此次討論的重點,所以不多說,當然我知道的也有限,接下來我們着重討論數據庫的分析部分
    數據庫分析
    這裏寫圖片描述

此次示例中我本人既作爲一個創建者也作爲一個使用者,所以所有內容都是個人親身試煉所得,不足之處願受教於高人。因爲是一次開發演練,所以我們不關心博客系統本身的市場需求,只討論在這個系統之中數據庫如何根據需求去進行設計。

數據庫需要存儲與訪問的數據對象有哪些

  • 用戶爲核心,所以用戶對象必須要有一張數據表,字段包含包含一些常用信息,比如用戶ID、暱稱、登錄名、密碼,爲了不讓一張表的數據過於繁雜和便於查詢,我們又設計出了一張用戶信息表,保存一些不常用的用戶信息如生日、愛好、教育信息等;
  • 內容爲主體,所以文章對象要有一張數據表,字段包含用戶ID、文章分類、文章標題、關鍵字等;
  • 文章分類表,字段類別、類別名稱等’,
  • 好友表,用來存儲互加好友的兩個人之間的關係,字段包含用戶id和好友id以及自增的主鍵等;
  • 用戶關注表,字段包含用戶id以及被關注人id和自增的主鍵;
  • 私信表, 字段包含自增私信ID,發信者ID,收信者ID, 私信內容;
  • 系統通知表,字段包含系統通知ID,接受者ID,通知內容,自增通知內容id;
  • 評論表,字段包含評論自增ID號,收到評論的用戶ID,評論內容的ID,評論內容,評論者ID,評論時間等;
  • 評論回覆表,字段包含回覆自增ID號,收到回覆的用戶ID,回覆評論的ID,回覆內容,回覆者ID,回覆時間,回覆等級等;
  • 留言表,字段包含留言自增ID號,收到留言的用戶ID,留言內容的ID,留言內容,留言者ID,留言時間等;

數據對象之間的關係

  • 與用戶表關聯的表:所有其他的表都與用戶有聯繫,要麼外鍵約束,要麼有字段聯繫
  • 文章表與文章分列表和文章評論表存在外鍵約束
  • 評論表與回覆表以及留言表和留言回覆表都有外鍵約束


關於數據的表結構關係我會在下一篇的邏輯設計中細細去講解

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