20 個資料庫設計最佳實務

來源:互聯網
上載者:User

  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欄位不應該定義在常用的資料表中,否則會影響效能。 
  19. 範式(Normalization)要按照要求使用以提高效能。Normalization做的不夠會導致資料冗餘,而過度Normalization 會導致太多的join和資料表,這兩種情況都會影響效能。 
  20. 多花點時間在資料庫設計上,否則你將來會付出加倍的時間來償還。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.