資料庫設計時要遵循的一些原則

2021-08-22 06:08:16 字數 1399 閱讀 5750

(1).可讀性原則:使用大小寫來格式化的庫物件名字以獲得良好的可讀性。例如:使用custaddress而不是custaddress來提高可讀性。

(2).表意性原則:物件的名字應該能夠描述它所表示的物件。例如:對於表,表的名稱應該能夠體現表中儲存的資料內容;對於儲存過程,儲存過程應該能夠體現儲存過程的功能。

(3).長名原則:盡可能少使用或者不使用縮寫,適用於資料庫(database)名之外的任一物件。

1.列的資料型別一方面影響資料儲存空間的開銷,另一方面也會影響資料查詢效能。當乙個列可以選擇多種資料型別時,應該優先考慮數字型別,其次是日期或者二進位制型別,最後是字元型別。對於相同級別的資料型別,應該優先選擇占用空間小的資料型別。

2.以上選擇原則主要是從下面兩個方面考慮。

(1)在對資料進行比較(查詢條件、join條件、排序)操作時:同樣的資料,字元處理往往比數字處理慢。

(2)在資料庫中,資料處理以頁為單位,列的長度越小,利於效能提公升。

1.如果列中要儲存的資料長度差不多是一致的,則應該考慮用char;否則應該考慮用varchar。

2.如果列中的最大資料長度小於50byte,則一般也考慮用char(如果這個列很少用,則基於節省空間和減少i/o的考慮,還是可以選擇用varchar)。

3.一般不宜定義大於50byte的char型別列。

1.decimal用於儲存精確資料,而float只能用於儲存非精確資料。故精確資料只能選擇用decimal型別。

2.由於float的儲存空間開銷一般比decimal小(精確到7位小數只需要4個位元組,而精確到15位小數只需要8位元組)故非精確資料優先選擇float型別。

1.使用int來儲存時間欄位的優缺點

(1)優點:字段長度比datetime小。

(2)缺點:使用不方便,要進行函式轉換。

(3)限制:只能儲存到2038-1-19  11:14:07  即:2147483648。

2.需要儲存的時間粒度

年、月、日、小時、分、秒、周

1.區分業務主鍵與資料庫主鍵

(1)業務主鍵用於標識業務資料,進行表與表之間的關聯。

(2)資料庫主鍵為了優化資料儲存(innodb會生成6個位元組的隱含主鍵)。

2.跟蹤資料庫的型別,考慮主鍵是否要順序增長,有些資料庫是按主鍵的順序邏輯儲存的。

3.主鍵的字段型別所佔空間要盡可能的小,對於使用聚集索引方式儲存的表,每個索引後都會附加主鍵資訊。

1.降低資料匯入的效率。

2.增加維護成本。

1.降低資料匯入的效率。

2.可能會出現意想不到的資料異常。

3.使業務邏輯變得複雜。

1.無法準確的知道預留欄位的型別。

2.無法準確的知道預留欄位中所儲存的內容。

3.後期維護預留欄位所要的成本,同增加乙個欄位所需要的成本是相同的。

4.嚴禁使用預留字段。

資料庫設計遵循的原則

正規化就是符合某一規範級別的關係模式的集合。資料庫共有7種正規化 從低到高分別是 1nf,2nf,3nf,bcnf,4nf,5nf,6nf 注意 1 實際開發中,我們一般使用前三種正規化,用的最多的是 2nf 2 正規化之間滿足 向下相容 的特點 即 如果滿足了 3nf 則相容 1nf 2nf 的規...

資料庫建立索引的一些原則

一,經常被用來過濾記錄的字段。1.primary key 字段,系統自動建立主鍵的索引 2.unique kye 字段,系統自動建立對應的索引 3.foreign key 約束所定義的作為外來鍵的字段 4.在查詢中用來連線表的字段 5.經常用來作為排序 order by 的字段 基準的字段 二.索引...

資料庫設計的一些感想

有關主鍵與外來鍵 一般而言,乙個實體不能既無主鍵又無外來鍵。在e r 圖中 處於葉子部位的實體 可以定義主鍵,也可以不定義主鍵 因為它無子孫 但必須要有外來鍵 因為它有父親 主鍵作用是保持唯一性 外來鍵的作用是資料庫的完整性,說白了 就是乙個表某一列的內容 來自於另乙個表的 一列,不能隨便刪除外來鍵...