20個資料庫設計的最佳實踐
資料庫設計是整個程式的重點之一,為了支援相關程式執行,最佳的資料庫設計往往不可能一蹴而就,只能反覆探尋並逐步求精,這是一個複雜的過程,也是規劃和結構化資料庫中的資料物件以及這些資料物件之間關係的過程。下面給出了20個資料庫設計最佳實踐,當然,所謂最佳,還是要看它是否適合你的程式。一起來了解了解吧。
- 使用明確、統一的標明和列名,例如 School, SchoolCourse, CourceID。
- 資料表名使用單數而不是複數,例如 StudentCourse,而不是StudentCourses。
- 資料表名不要使用空格。
- 資料表名不要使用不必要的字首或者字尾,例如使用School,而不是TblSchool,或者SchoolTable等等。
- 資料庫中的密碼要加密,到應用中再解密。 (其實就是雜湊儲存、單向加密)
- 使用整數作為ID欄位,也許現在沒有這個必要,但是將來需要,例如關聯表,索引等等。
- 使用整數字段做索引,否則會帶來很大的效能問題 。
- 使用 bit 作為布林欄位,使用整數或者varcha是浪費。同時,這類欄位應該以“Is”開頭。
- 要經過認證才能訪問資料庫,不要給每一個使用者管理員許可權。
- 儘量避免使用“select *”,而使用“select [required_column_list]”以獲得更好的效能。
- 假如程式程式碼比較複雜,使用ORM框架,例如hibernate,iBatis。ORM框架的效能問題可以通過詳細的配置去解決。
- 分割不常使用的資料表到不同的物理儲存以獲得更好的效能。
- 對於關鍵資料庫,使用安全備份系統,例如叢集,同步等等。
- 使用外來鍵,非空等限制來保證資料的完整性,不要把所有的東西都扔給程式。
- 缺乏資料庫文件是致命的。你應該為你的資料庫設計寫文件,包括觸發器、儲存過程和其他指令碼。
- 對於經常使用的查詢和大型資料表,要使用索引。資料分析工具可以幫助你決定如何建立索引。
- 資料庫伺服器和網頁伺服器應該放在不同的機器上。這回提高安全性,並減輕CPU壓力。
- Image和blob欄位不應該定義在常用的資料表中,否則會影響效能。
- 正規化(Normalization)要按照要求使用以提高效能。Normalization做的不夠會導致資料冗餘,而過度Normalization 會導致太多的join和資料表,這兩種情況都會影響效能。
- 多花點時間在資料庫設計上,否則你將來會付出加倍的時間來償還。(oschina.net蟲蟲譯)
英文原址:javacodegeeks.com
相關文章
- 資料庫設計的十個最佳實踐資料庫
- 資料庫設計中的6個最佳實踐步驟資料庫
- TypeScript 資料模型層程式設計的最佳實踐TypeScript模型程式設計
- PHP最佳實踐之資料庫PHP資料庫
- 13 個設計 REST API 的最佳實踐RESTAPI
- 微服務的【資料庫管理】最佳實踐微服務資料庫
- 20分鐘資料庫索引設計實戰資料庫索引
- 20個異常處理的最佳實踐
- 資料庫安全最佳實踐:基本指南資料庫
- Java程式設計師的八個最佳實踐Java程式設計師
- 企業級雲資料庫最佳實踐資料庫
- Android 中的升級資料庫最佳方法實踐Android資料庫
- 設計微服務的最佳實踐微服務
- Spring Boot中五個設計模式最佳實踐Spring Boot設計模式
- 資料庫安全的5個基本實踐資料庫
- TiDB 異構資料庫複製最佳實踐TiDB資料庫
- 資料庫伺服器運維最佳實踐資料庫伺服器運維
- 有效資料湖攝取的5個最佳實踐
- 【資料庫設計】資料庫的設計資料庫
- MaxCompute表設計最佳實踐
- 從資料庫設計到效能調優,全面掌握openGemini應用開發最佳實踐資料庫
- 【BEST】Oracle 資料庫19c配置最佳實踐Oracle資料庫
- 雲時代的資料庫客戶端 —— CloudQuery最佳實踐資料庫客戶端Cloud
- react 設計模式與最佳實踐React設計模式
- Python資料庫程式設計全指南SQLite和MySQL實踐Python資料庫程式設計SQLiteMySql
- 深入 Django 模型層:資料庫設計與 ORM 實踐指南Django模型資料庫ORM
- SACC2017:資料庫架構設計與實踐的後半生資料庫架構
- 來自Google資深工程師的API設計最佳實踐Go工程師API
- 資料庫實驗五:資料庫程式設計資料庫程式設計
- 資料庫實驗八 資料庫程式設計資料庫程式設計
- 防拖庫的最佳實踐
- 資料庫智慧管理助手-CloudDB詳解及最佳實踐資料庫Cloud
- 中小銀行資料倉儲建設 | 最佳實踐
- 資料治理:管理資料資產的最佳實踐框架框架
- 資料安全治理及審計合規的最佳實踐XX
- MSSQL·最佳實踐·RDSSDK實現資料庫遷移上阿里雲RDSSQLServerSQL資料庫阿里Server
- 基於容器的金融資料庫雲平臺DBaaS設計實踐分享資料庫
- Python程式設計規範+最佳實踐Python程式設計
- vSAN 設計、部署、運維最佳實踐運維