一個不錯的 SQL 編碼風(fēng)格的指南
SQL語句的編寫對于我們后端開發(fā)者而言是一個必備的技巧,在日常工作中,SQL語言編寫的質(zhì)量不僅僅會影響到團(tuán)隊的合作效率與項目的可維護(hù)性,還直接關(guān)系到數(shù)據(jù)庫的性能優(yōu)化與數(shù)據(jù)安全。今天大姚給大家分享一個不錯的 SQL 編碼風(fēng)格的指南,希望可以幫助到有需要的同學(xué)。
項目介紹
sqlstyle.guide是一個關(guān)于SQL編碼風(fēng)格的指南,旨在通過提供一套明確的規(guī)則和標(biāo)準(zhǔn),幫助開發(fā)者編寫更加清晰、一致和易于維護(hù)的SQL代碼。該指南提供了多語言版本描述,其中包括:簡體中文、英文、法語、德語、韓語等多種語言。
SQL和數(shù)據(jù)庫相關(guān)
關(guān)系型數(shù)據(jù)庫(SQL)庫指的是使用關(guān)系模型(二維表格模型)來組織數(shù)據(jù)的數(shù)據(jù)庫,是一種使用結(jié)構(gòu)化查詢語言(Structured Query Language,簡稱SQL)進(jìn)行數(shù)據(jù)管理和操作的數(shù)據(jù)庫類型。它采用表格的形式來組織和存儲數(shù)據(jù),通過定義表之間的關(guān)系來建立數(shù)據(jù)之間的聯(lián)系。
https://github.com/YSGStudyHards/DotNetGuide
應(yīng)該做的事情
- 使用一致的、描述性的名稱。
- 合理地使用空格和縮進(jìn)來增強(qiáng)可讀性。
- 存儲符合 ISO-8601 標(biāo)準(zhǔn)的日期格式(YYYY-MM-DDTHH:MM:SS.SSSSS)。
- 為了提高可移植性,最好僅使用標(biāo)準(zhǔn) SQL 函數(shù)而不是特定供應(yīng)商的函數(shù)。
- 保證代碼簡潔明了、沒有多余的 SQL —— 比如非必要的引號或括號,或者可以推導(dǎo)出的 WHERE 子句。
- 必要時在 SQL 代碼中加入注釋。優(yōu)先使用 C 語言式的以 /* 開始以 */ 結(jié)束的塊注釋,或使用以 -- 開始的行注釋,并在末尾換行。
應(yīng)避免的事情
- 駝峰命名法 —— 它不適合快速掃讀。
- 描述性的前綴或匈牙利命名法比如 sp_ 或 tbl。
- 復(fù)數(shù)形式 —— 盡量使用更自然的集合術(shù)語。比如,用“staff”替代“employees”,或用“people”替代“individuals”。
- 被引號包裹的標(biāo)識符(quoted identifier)—— 如果你必須使用這樣的標(biāo)識符,最好堅持用 SQL92 的雙引號來提高可移植性(你可能需要配置你的 SQL 服務(wù)器以支持此特性,具體取決于供應(yīng)商)。
- 面向?qū)ο缶幊痰脑瓌t不該應(yīng)用到 SQL 或數(shù)據(jù)庫結(jié)構(gòu)上。
更多技巧閱讀
SQL樣式指南中文講解:https://www.sqlstyle.guide/zh
GitHub開源地址:https://github.com/treffynnon/sqlstyle.guide