我們組的項目的數據庫模型設計過程中,由於我們對數據庫的概念還不是特別熟悉,我們基本上做中學,邊學邊做,終於成功的完成了數據庫的設計。
我們在數據庫設計的過程當中,學會了一些數據庫設計最基本的知識點和相關內容。以下是我整理的一些知識點:
數據庫設計是根據數據庫模型組織數據。我們確定必須存儲哪些數據以及數據元素如何相互關聯。有了這些信息,我們可以開始將數據擬合到數據庫模型。
我們得先進行需求分析並確定要存儲的數據,確定數據關系
數據庫設計應該遵循以下幾個原則:
- 對需求的認知完全沒有歧義;
- 熟練而且正確的E-R圖繪制,明確改圖是表明實體和關系的圖,實體表示要在數據庫里保存的類,關系表示類與類之間的相互關系,關系主要有一對一,一對多,多對多。經驗之談,繼承關系通常可以用一對一表示,而一對多或者多對多通常表示類之間的使用關系;
- 在設計時要做到高度的抽象,對內容或者關系相類似的內容抽象為一類實體,在分類時可以抽象出一個“類”的實體,與要分類實體之間進行多對多關系映射,明確那些是必須要進行存儲的實體;
- 如果系統涉及用戶角色的不同不妨把,賬戶和身份的考慮分離開,賬戶的存在讓他是一直存在的並且在身份變化時個人的歷史和基礎內容是不變的,就是身份的加持讓他可以有特權或者使命,而賬戶是他在系統中的根;
- 對於有值內容,並且需要對值進行統計結果的需要對他進行內容的拆分,比如:問卷表和問卷內容表,問卷內容值表要拆開,才有利於統計計算,而且他們之間是一對多關系;
- 有時更加困難的是一個實體會發生多個維度的分類,那么就把他的拆分維度一一分開;
- “頻道”概念在消息分發時是一個非常靈活的概念;
- 數據庫可以建表來模擬消息服務器分發消息,在無法保證實時性必須存儲內容時,同一消息對不同用戶創建不同的副本;
總之,我們成功完成了數據庫模型設計,接下來我們還有很多事情要做,我們第一次做項目,可能會遇到更多的問題,但我想我們能像數據庫設計一樣,不知道的地方做中學,邊學邊做並希望我們能早日完成我們的任務。
