從網站功能入手創建數據庫

  上一篇說了,這個網站會模仿B站的主要功能,通過對B站的功能分析,從中拆分出主要功能模塊,分別創建數據庫,並實現相關的功能。

  先上一張網站首頁,欣賞一番

  

  可以明顯的看到,網站首頁非常明顯的分成四塊,①網站主推功能,②用戶相關功能,主要展示頭像、消息等信息,③視頻分類信息,視頻主要分成15個大類,每個大類下會各自分出一定數量的子類,④視頻展示功能區,首頁主要用來展示視頻,這也是網站最主要的功能。

  由此可見,數據庫的表設計應該是圍繞視頻和用戶兩張表展開,每個用戶能夠上傳分享自己的視頻,同時也能訂閱或收藏其他用戶的視頻,這就會產生下面這種關係。

  其中,用戶表用於存儲用戶相關的基本信息,視頻表用於存放視頻相關的信息,用戶視頻表用來存放每一個用戶上傳的每一個視頻,通過用戶ID和視頻ID關聯在一起,形成用戶-視頻一對多的關係。

  

  從用戶相關功能入手,研究和用戶相關的數據表有哪些。

  再來看一張圖片

  

  先看右上角,會員一般會涉及到權限相關的操作,角色表應該是必不可少的;消息、動態、訪客這些類似於博客的功能;收藏、關注、訂閱、···涉及到用戶和用戶之間,用戶和視頻之間的關聯;由此我們可以得到下面這樣的數據表關係圖。

  

  看起來有一點複雜,但仔細觀察會發現除了用戶表和視頻表,其他的每一張表格都代表一個功能。角色表中存儲角色相關信息,主要用戶權限相關的操作;關注表只和用戶表相關聯,因爲用戶關注的也是用戶,不會是視頻;收藏表、訂閱表、記錄表中保存的都是用戶觀看視頻的信息,所以會關聯用戶和視頻兩張表。

  

  和用戶功能一樣,視頻功能也會相應的涉及幾張表。還是從分析頁面着手。

  

  視頻模塊出現了B站中最核心的功能之一,彈幕,因此視頻表必然會關聯一個十分重要的彈幕表;評論也是十分重要的一塊,有評論也就必然會有回覆,評論和回覆可以設計在一張表中也可以分別放在兩張表裏;當然還有之前提到的視頻分類表。這樣一來,上邊那個表格關係圖就會變成下邊這樣。

  

  看起來更復雜了是吧,下邊單獨把視頻相關的表格拆出來看會更加直觀一點。

  

  這樣一來,邏輯性就清晰多了,通過PowerDesigner表格設計軟件把添加相關的字段,一個結構清晰的數據庫也就設計完成了。後期如果再有新的功能加入直接在現有數據庫的基礎上新增相關的表格,添加必要的依賴關係就可以了。

  注意:具體編碼過程中可以把外鍵關聯刪掉,只需要在代碼中注意一下就可以,這樣有助於提升數據庫查詢效率。

  附數據庫表設計文件百度網盤下載地址:

  鏈接:https://pan.baidu.com/s/1Rq4yI60t4RPQSc6IGLohNg
  提取碼:cf02

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