20個資料庫設計最佳實踐

2021-06-15 07:03:05 字數 1357 閱讀 3764

下面這些內容,是經過借鑑和這些年來對資料庫設計的認知和經驗,來總結的一些資料庫設計技巧,不足之處,希望大家多多提出。

1、使用明確、統一的標明和列名,例如 school, schoolcourse, courceid。

2、資料表名使用單數而不是複數,例如 studentcourse,而不是studentcourses。 

3、資料中表名和列名不要使用空格。 

4、資料表名不要使用不必要的字首或者字尾,例如使用school,而不是tblschool,或者schooltable等等。 

5、資料庫中的密碼要加密,到應用中再解密。 (其實就是雜湊儲存、單向加密) 

6、使用整數作為id欄位,也許現在沒有這個必要,但是將來需要,例如關聯表,索引等等。 

7、使用整數欄位做索引,否則會帶來很大的效能問題 。 

8、使用 bit 作為布林字段,使用整數或者varcha是浪費。同時,這類字段應該以「is」開頭。 

9、要經過認證才能訪問資料庫,不要給每乙個使用者管理員許可權。 

10、盡量避免使用「select *」,而使用「select [required_column_list]」以獲得更好的效能。 

11、假如程式**比較複雜,使用orm框架,例如hibernate,ibatis。orm框架的效能問題可以通過詳細的配置去解決。 

12、分割不常使用的資料表到不同的物理儲存以獲得更好的效能。 

13、對於關鍵資料庫,使用安全備份系統,例如集群,同步等等。 

14、使用外來鍵,非空等限制來保證資料的完整性,不要把所有的東西都扔給程式。 

15、缺乏資料庫文件是致命的。你應該為你的資料庫設計寫文件,包括觸發器、儲存過程和其他指令碼。 

16、對於經常使用的查詢和大型資料表,要使用索引。資料分析工具可以幫助你決定如何建立索引。 

17、資料庫伺服器和網頁伺服器應該放在不同的機器上。這回提高安全性,並減輕cpu壓力。 

18、image和blob欄位不應該定義在常用的資料表中,否則會影響效能。 

18、正規化(normalization)要按照要求使用以提高效能。normalization做的不夠會導致資料冗餘,而過度normalization 會導致太多的join和資料表,這兩種情況都會影響效能。

19、資料庫中,最好不要儲存null資料,因為null是一種特殊的資料型別,資料庫在處理的null型別的時候,有乙個特殊的過程,這個自然會有時間和效能上的代價。

20、善於運用資料庫儲存過程,來處理一些業務需求,省去程式維護成本,有利於效能和安全性的提公升。

21、盡量避免使用游標,使用時,注意對游標自己的釋放。

22、為**和程式,建立新的資料庫賬號和密碼,並為該賬戶,分配應用所需的最低許可權

多花點時間在資料庫設計上,否則你將來會付出加倍的時間來償還。

20個資料庫設計最佳實踐

使用明確 統一的標明和列名,例如 school,schoolcourse,courceid。資料表名使用單數而不是複數,例如 studentcourse,而不是studentcourses。資料表名不要使用空格。資料表名不要使用不必要的字首或者字尾,例如使用school,而不是tblschool,或...

20個資料庫設計最佳實踐

使用明確 統一的標明和列名,例如 school,schoolcourse,courceid。資料表名使用單數而不是複數,例如 studentcourse,而不是studentcourses。資料表名不要使用空格。資料表名不要使用不必要的字首或者字尾,例如使用school,而不是tblschool,或...

20個資料庫設計最佳實踐

1 使用明確 統一的標明和列名,例如 school,schoolcourse,courceid。2 資料表名使用單數而不是複數,例如 studentcourse,而不是studentcourses。3 資料表名不要使用空格。4 資料表名不要使用不必要的字首或者字尾,例如使用school,而不是tbl...