1. 數據庫設計最起碼要占用這個項目開發的40%以上的時間。
2. 數據庫設計不僅僅停留在頁面demo的表面 頁面內容所需字段,在數據庫設計中只是一部分,還有系統運轉、模塊交互、中轉數據、表之間的聯系等等所需要的字段,因此數據庫設計絕對不是簡單的基本數據存儲,還有邏輯數據存儲。
3. 數據庫設計完成后,項目80%的設計開發都要存在你的腦海中 每個字段的設計都要有他存在的意義,要清楚的知道程序中如何去運用這些字段,多張表的聯系在程序中是如何體現的。
4. 數據庫設計時就要考慮效率和優化問題 數據量大的表示粗粒度的,會冗余一些必要字段,達到用最少的表,最弱的表關系去存儲海量的數據。大數據的表要建立索引,方便查詢。對于含有計算、數據交互、統計這類需求時,還有考慮是否有必要采用存儲過程。
5. 添加必要的冗余字段 像創建時間、修改時間、操作用戶IP、備注這些字段,在每張表中最好都有,一些冗余的字段便于日后維護、分析、拓展而添加。
6. 設計合理的表關聯 若兩張表之間的關系復雜,建議采用第三張映射表來關聯維護兩張表之間的關系,以降低表之間的直接耦合度。
7. 設計表時不加主外鍵等約束關聯,系統編碼階段完成后再添加約束性關聯。
8. 選擇合適的主鍵生成策略 數據庫的設計難度其實比單純的技術實現難很多,他充分體現了一個人的全局設計能力和掌控能力,最后說一句,數據庫設計,很重要,很復雜。