內容簡介

本書從SQL的歷史講起,詳述了關系數據庫及SQL命令的基礎原理,涵蓋了幾乎所有SQL的相關概念。同時介紹了在商業(Microsoft SQL Server 2008與Oracle Database 11g)與開源(MySQL 5.1與PostgreSQL 8.3)數據庫產品中的SQL語言規範及應用,將每條命令的SQL3標準語法規範、每家數據庫廠商的具體應用及相關示例結合在一起。本書在內容上注重全面性,幾乎涉及了與Microsoft SQL Server、Oracle、MySQL及PostgreSQL相關的所有SQL命令語句及函數。通過閱讀本書,讀者可以快速找到SQL命令語句和函數的標準版與特定半台間的區別及聯系,真正掌握它們的本質。

無論是SQL新手還是已從早期開始使用SQL的老手,你都可以從這本精簡好用的書中學到秘訣及技巧。本書是一本完整的SQL參考手冊,適用于資深SQL設計人員、分析人員及維護單一平台或多平台SQL語言的數據庫管理員,也適用于準備學習SQL的廣大技術人員與學生。
 

目錄

前言
第1章 SQL歷史與實現
1.1 關系模型與ANSI SQL
Codd的關系數據庫系統原則
Codd原則的示例說明︰簡單的SELECT示例
1.2 SQL標準的歷史
SQL2006新增特性
SQL2003(SQL3)新增特性
一致性級別
SQL3標準中的補充功能包
SQL3語句類(Statement Class)
1.3 SQL方言
第2章 基本概念
2.1 本書收錄的數據庫平台
2.2 語法種類
標識符
文本
運算符
關鍵字與保留字
2.3 SQL2003及特定平台的數據類型
MySQL數據類型
Oracle數據類型
PostgreSQL數據類型
SQL_Server數據類型
2.4 約束
作用域
語法
PRIMARY KEY約束
FOREIGN KEY約束
UNIQUE約束
CHECK約束
第3章 SQL語句命令參考
3.1 本章導讀
3.2 SQL平台支持
3.3 SQL命令參考
ALL/ANY/SOME運算符
BETWEEN運算符
CALL語句
CLOSE CURSOR語句
COMMIT語句
CONNECT語句
CREATE/ALTER DATABASE語句
CREATE/ALTER FUNCTION/PROCEDURE語句
CREATE/AulER INDEX語句
CREATE/ALTER METHOD語句
CREATE ROLE語句
CREATE SCHEMA語句
CREATE/ALTER TABLE語句
CREATE/ALTER TRIGGER語句
CREATE/ALTER TYPE語句
CREATE/ALTER VIEW語句
DECLARE CURSOR命令
DELETE語句
DISCONNECT語句
DROP語句
EXCEPT集合運算符
EXISTS運算符
FETCH語句
GRANT語句
IN運算符
INSERT語句
INTERSECT集合運算符
Is運算符
JOIN從屬子句
LIKE運算符
MERGE語句
OPEN語句
ORDER BY子句
RELEASE SAVEPOINT語句
RETURN語句
REVOKE語句
RoLLBACK語句
SAVEPOINT語句
SELECT語句
SET語句
SET CONNECTION語句
SET CONSTRAINT語句
SET PATH語句
SET ROLE語句
SET SCHEMA語句
SET SESSION AuTHORjzATION語句
SET TIME ZONE語句
SET TRANSACTION語句
START TRANSACTION語句
SUBQUERY子句
TRUNCATE TABLE語句
UNION集合運算符
UPDATE語句
WHERE子句
第4章 SQL函數
4.1 函數類型
確定性函數與非確定性函數
聚合函數與標量函數
窗口函數
4.2 ANSI SQL聚合函數
AVG與SUM
CORR
COUNT
C0vAR_POP
COVAR_SAMP
CUME_DIST
DENSE_RANK
MIN與MAX
PERCENT_RANK
PERCENTILE_CONT
PERCENTILE_DISC
RANK
REGR函數系列
STDDEV_POP
STDDEV_SAMP
VAR_POP
VAR_SAMP
4.3 ANSI_SQL窗口函數
ANSI SQL2003的窗口語法
Oracle的窗口語法
SQL Server的窗口語法
分區
排序
分組或開窗
窗口函數列表
CUME DIST
DENSE RANK
PERCENT RANK
RANK
ROW NUMBER
4.4 ANSI_SQL標量函數
內置標量函數
CASE與CAST函數
CASE
CAST
數字標量函數
ABSIS
BIT LENGTH、CHAR LENGTH及0CTET LENGTH
CEIL
EXP
EXTRACT
FLOOR
LN
MOD
POSITION
POWER
SQRT
WIDTH BUCKET
字符串函數及運算符
串聯運算符
CONVERT及TRANSLATE
LOWER及UPPER
OVERLAY
SUBSTRING
TRIM
4.5 特定平台的擴展功能
MySQL支持的函數
Oracle支持的函數
PostgreSQL支持的函數
SQL Server支持的函數
附錄 平台共有與獨有的關鍵字
索引
 

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等開源技術。
網路書店 類別 折扣 價格
  1. 新書
    $480