這一部要學的是:如何把 SQL 查詢當成應用程式碼的一部分來撰寫與維護。

  • 如果你一直透過 ORM 產生查詢,可能從未認真思考過 SQL 的排版、縮排與維護——但 SQL 就是程式碼,同樣需要縮排、註解、版本控制與單元測試。
  • 為了能在正式環境除錯,你必須能快速找出查詢來自哪段程式、重播它、修改它,再把修正後的版本放回程式碼中。
  • 在進入細節之前,先回頭檢視 SQL 在軟體開發中扮演的角色:哪些程式碼寫在資料庫層、該寫多少?核心問題是——SQL 適合用來實作商業邏輯嗎?

接下來的章節安排:先透過一個極簡的範例應用建立具體的程式碼情境,再介紹讓你日常使用 SQL 更順手的工具與習慣,並說明為什麼「索引策略(indexing strategy)」是應用程式開發者份內的工作。本部最後由 Yohann Gabory 以其 Django 經驗,補充「SQL 就是程式碼」這個主題。