SQL是一種用于維護和查詢數據庫信息的標準化查詢語言,其功能十分強大。幾十年的歷史證明,SQL是數據庫系統必然選擇的標準語言,它易用、易學,你只須花費很短時間,便能運用自如,這比學習任何一門高級程序設計語言都容易得多、實用得多。熟練掌握並靈活運用SQL是數據庫初學者、數據庫管理員、SQL程序設計師的必備基本功。大多數應用開發及程序設計工作均需要一定的SQL語言知識,而使用SQL時,則需要一份便捷的參考資料與手冊。盡管SQL是標準化語言,但SQL的實現並不是標準化的。廠商軟件間有很大的差異,Kevin
Kline與Daniel Kline兄弟合著的《SQL技術手冊》也就因此而誕生。它是一本可以在較短時間內使讀者系統掌握SQL知識的較理想的書籍。
本書從SQL的歷史講起,詳述了關系數據庫及SQL命令的基礎原理,涵蓋了幾乎所有的SQL相關概念。同時介紹了在商業(Microsoft SQL Server 2008與Oracle Database 11g)與開源(MySQL 5.1與PostgreSQL
8.3)數據庫產品中的SQL語言規範及應用,將每條命令的SQL3標準語法規範、每家數據庫廠商的具體應用及相關示例結合在一起。通過閱讀本書,讀者可以快速找到SQL命令語句及函數的標準版與特定平台間的區別和聯系,真正掌握它們的本質。
本書收錄的這四種數據庫平台的較新版本比以前的版本有眾多個大大小小的改進及創新,要對它們進行全面系統的介紹,並使讀者容易掌握是一件極為困難的事情。為此,作者汲取了眾多專業數據庫管理員與開發者使用SQL支持復雜的企業級應用程序的不同經驗,這為本書的撰寫做了充分的準備。
本書不僅是富有經驗的SQL程序設計師、分析人員和數據庫管理員的便捷參考指南;同時,對于數據庫新手和其他SQL用戶(如系統管理員及須熟悉跨平台的各種SQL語言的用戶),本書也是一本很好的學習輔助材料。
在本書翻譯的過程中,為了表達作者的意圖,確保技術細節的準確,譯者專門安裝了這四種數據庫平台的對應版本,建立了工作環境,以便在翻譯過程中實踐參考。全書的術語基本上做到了前後統一。書中將“cluster”統一譯為“集群”、“群集”、“簇”等,“clustered
index”常見的譯法有“群集索引”、“聚集索引”、“集群索引”等。如在MySQL的官方文檔(http://dev.mysql.com/doc/refman/5.1/zh/ndbcluster.html#mysql-cluster-overview)中將“cluster”稱為“簇”,而在SQL Server 2008附帶的聯機叢書中則將其稱為“群集”。
感謝博文視點周筠女士、編輯徐定翔先生為譯者提供翻譯本書的機會,感謝技術編輯柳安意在本書冥過程中所做的細致工作。在本書翻譯的過程中,譯者得到了O’Reilly出版社的版權經理Helen Monroe的協助,在此表示誠摯的謝意,特別感謝本書作者Kevin Kline先生及本書編輯Julie
Steele女士及時且不厭其煩地就書中許多細節問題為譯者進行了解答,並確認了一些甚誤,令譯者受益匪淺。博文視點的編輯們為此書的出版在幕後做了大量艱苦細致的工作,譯者謹向他們表示衷心的感謝。由于譯者知識有限,書中的翻譯錯誤和不妥之處在所難免,讀者若發現翻譯處理不當之處,歡迎批評指正。譯者為本書開通了博客,提供本書的勘誤,網址為http://www.vifir.com/blog/hongjunli或http://hongjunli.blogjava.net
李紅軍
2009年8月
[email protected]
譯者介紹
李紅軍,W3China論壇Java/Eclipse版版主。沈陽工業大學計算機應用技術專業碩士,2006年加入EasyJF開源團隊,並擔任核心開發者,開發出了國內第一款最完備的j2ee MVC框架EasyJWeb。2008年與徐涵等共同翻譯出版REST專著《RESTful Web
Services中文版》,2009年翻譯出版《MySQL核心技術手冊》。現為上海立信會計學院網絡信息中心系統工程師。研究興趣包括網絡存儲、數據庫、LDAP及Linux、Apache等開源技術。