1. 程式人生 > >數據庫設計感悟

數據庫設計感悟

不必要 當前 綜合 增加 重新定義 外鍵 得到 設定 類的屬性

關於數據庫設計,首先需要明確的就是整個項目的設計是圍繞數據庫結構來實現的,也就是說數據庫一旦設計好就不能隨意改動,因為一旦改動對數據庫的訪問代碼就很容易出現問題,相當於對整個項目需要改動,這也就意味著設計數據庫需要從拓展的角度來實現, 比如說一個用戶表,一個最簡單的用戶登陸只需要用戶與密碼,倘若當前階段我只考慮用戶的賬號與密碼兩個字段,那麽我只需要子啊用戶表中設定兩個字段即可,但如果有一條我需要增加功能,比如加一個個人設置功能,用戶能添加圖像,有個性簽名等,那麽該表就不能實現該拓展,也就意味著原來的數據庫不能用了,需要重新定義數據庫並且改動整個項目中用到該表的代碼,其過程是十分復雜且不必要的。

另外需要註意的就是在建多少表的問題。我可以設置一個字段很長的表,或者很多字段很少的表,兩者的首先考慮基於面向對象的思想,把一個類的屬性設為一個表,按照層次來建表,這樣表與表之間的聯系關系比較清晰,比如我們項目中的門店,類別,商品三個類,三者之間是商品->類別->門店,我們可以建一個表按照門店屬性-類別屬性-商品屬性的格式,也可以建三個表設置主外鍵連接。但是前者存在兩個問題:當我修改門店屬性時要修改很多行,操作繁瑣,另外當我只想得到門店屬性時會得到類別與商品的屬性,安全隱患很大。但也不是表越多越好,還是要從綜合角度去考慮,最為合理。

另外就是建表時記得加註釋

數據庫設計感悟