1. 程式人生 > >資料庫設計感悟

資料庫設計感悟

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

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

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