基本信息
作者:(美國)克力吉爾著、陳冰等譯
ISBN:10位[7505390996]13位[9787505390997]
出版社:電子工業出版社
出版日期:2003-9-1
定價:¥64.00元
內容提要
現在拿到的這本書,是有關SQL的可用的最新最完整的參考。它包含了經核准的最新的SQL規範SQL99,以它的標準格式,可以把本書中的代碼和技術套用到來自任何主要開發商的SQL資料庫中,這些資料庫包括MicrosoftSQLServer,Oracle以及IBMDB2。因為作者強調的是標準的SQL,因此,可以執行不同的資料庫應用程式,並可以確信這些代碼將在任何主要的開發商提供的產品中都能工作得很好。無論是一位準備嘗試資料庫編程的資料庫管理員,還是一位有經驗的希望查找有關SQL99內容的資料庫程式設計師,都將發現《SQL寶典》引是完整的解決方案。本書的主要內容包括:SQL的基本概念和原理、創建和修改資料庫對象、數據操作和事務控制、檢索和轉換數據、利用系統目錄來實現安全、超越SQL:過程化程式設計和資料庫訪問機制等內容。附錄中介紹了本書附帶光碟的內容及大量的對讀者極有價值的參考資料。本書適用於廣泛使用SQL的讀者,從初級到高級的讀者都有參考價值。
編輯推薦
本書的主要內容包括:SQL的基本概念和原理、創造和修改資料庫對象、數據操作和事務控制、檢索和轉換數據、利用系統目錄來實現安全、超越SQL:過程化程式設計和資料庫訪問機制等內容。附錄中介紹了本書附帶光碟的內容及大量的對讀者極有價值的參考資料。
本書適用於廣泛使用SQL的讀者,從初級到高級的讀者都有參考價值。
目錄
目錄
前言1
第1部分SQL的基本概念和原理5
第1章SQL和關係型資料庫管理系統7
1.1理想的資料庫特徵7
1.1.1充足的容量7
1.1.2足夠的安全8
1.1.3多用戶環境8
1.1.4效率8
1.1.5可伸縮性8
1.1.6用戶友好8
1.2選擇資料庫軟體9
1.2.1市場份額9
1.2.2所有權的總成本9
1.2.3支持和持續10
1.3一切的細節:DBMS實現10
1.4現實中的資料庫例子11
1.4.1訂購管理系統資料庫11
1.4.2健康護理提供者資料庫12
1.4.3科學資料庫12
1.4.4非盈利組織資料庫13
1.5舊有資料庫13
1.5.1平面檔案資料庫13
1.5.2層次資料庫14
1.5.3網狀資料庫15
1.6關係型資料庫16
1.6.1表16
1.6.2關係17
1.6.3主鍵18
1.6.4外鍵18
1.6.5RDBMS的發展19
1.7對象資料庫和對象關係型資料庫模型19
1.8SQL和SQL標準簡史20
1.8.1卑微的開始:RDBMS和SQL的演變20
1.8.2SQL標準簡史22
1.9小結24
第2章SQL基本概念和原理25
2.1SQL標準回顧25
2.2SQL初探28
2.2.1資料庫範例28
2.2.2獲取和導出數據29
2.2.3從不同的角度查看數據31
2.2.4聚合32
2.2.5數據安全33
2.2.6從客戶端應用程式訪問數據34
2.2.7新的發展34
2.3平台無關性35
2.4小結37
第3章SQL數據類型39
3.1字元串與二進制串40
3.1.1字元串40
3.1.2二進制串46
3.2數字48
3.2.1精確的數字48
3.2.2近似的數字51
3.3日期和時間數據類型52
3.3.1複雜數據類型入門52
3.3.2日期和時間實現53
3.4對象和用戶定義的數據類型58
3.4.1SQL9959
3.4.2Oracle9i59
3.4.3DB2UDB8.161
3.5其他數據類型62
3.5.1BOOLEAN62
3.5.2ROWID63
3.5.3UROWID63
3.5.4BFILE63
3.5.5DATALINK63
3.5.6BIT63
3.5.7TIMESTAMP63
3.6NULL64
3.7小結64
第2部分創建和修改資料庫對象65
第4章創建RDBMS對象67
4.1表67
4.1.1CREATETABLE語句68
4.2索引88
4.2.1CREATEINDEX語句90
4.3視圖93
4.3.1CREATEVIEW語句93
4.3.2創建複雜視圖98
4.4別名和同義詞100
4.4.1SQL99102
4.4.2Oracle9i的CREATESYNONYM語句102
4.4.3DB2UDB8.1的CREATEALIAS/SYNONYM語句103
4.4.4MSSQLServer2000103
4.5模式103
4.5.1CREATESCHEMA語句103
4.6其他SQL99和實現專有的對象107
4.6.1SQL99中的域107
4.6.2表空間和檔案組107
4.6.3序列109
4.6.4物化視圖(Oracle9i)114
4.6.5資料庫連結(Oracle9i)115
4.7CREATE語句交叉參考116
4.8小結118
第5章修改和刪除RDBMS對象119
5.1表119
5.1.1ALTERTABLE語句119
5.1.2DROPTABLE語句127
5.2索引129
5.2.1Oracle9i中的ALTERINDEX語句129
5.2.2DROPINDEX語句130
5.3視圖131
5.3.1ALTERVIEW語句131
5.3.2DROPVIEW語句 132
5.4別名和同義詞133
5.5模式134
5.6其他實現專有的對象134
5.6.1表空間134
5.6.2序列136
5.7ALTER和DROP語句交叉參考137
5.8小結139
第3部分數據操作和事務控制141
第6章數據操作語言143
6.1INSERT:用數據來填充表143
6.1.1一般的INSERT語句子句144
6.1.2與開發商有關的特殊的INSERT語句151
6.2UPDATE:更新表的數據155
6.2.1一般的UPDATE語句子句156
6.2.2開發商特有的UPDATE語句細節159
6.3DELETE:從表中刪除數據160
6.3.1一般的DELETE語句子句161
6.3.2開發商特有的DELETE語句子句163
6.4其他用於運算元據的SQL語句163
6.4.1MERGE語句163
6.4.2TRUNCATE語句164
6.5小結165
第7章會話.事務和鎖定167
7.1會話167
7.2事務174
7.2.1什麼是一個事務174
7.2.2事務的COMMIT和ROLLBACK175
7.2.3事務隔離級別180
7.3理解鎖定182
7.3.1鎖定模式183
7.3.2處理死鎖185
7.4小結186
第4部分檢索和轉換數據187
第8章理解SELECT語句189
8.1單一表SELECT語句語法189
8.2SELECT子句:到底要選擇什麼190
8.2.1單一列選擇190
8.2.2多列SELECT190
8.2.3使用字面值.函式和計算列193
8.2.4在一個SELECT子句中使用子查詢197
8.3FROM子句198
8.3.1從表和視圖中選擇198
8.3.2在一個FROM子句中使用別名198
8.3.3在一個FROM子句中使用子查詢199
8.4WHERE子句:設定水平限制200
8.4.1使用比較運算符200
8.4.2複合運算符:使用AND和OR201
8.4.3使用BETWEEN運算符202
8.4.4使用IN運算符:設定成員資格測試203
8.4.5使用ISNULL運算符:針對NULL的專門測試204
8.4.6在一個WHERE子句中使用子查詢205
8.5GROUPBY和HAVING子句:匯總結果208
8.6ORDERBY子句:排序查詢的輸出211
8.7聯合多個查詢的結果214
8.7.1UNION214
8.7.2EXCEPT218
8.8小結220
第9章多表查詢221
9.1內連線221
9.1.1用於內連線的兩個語法221
9.1.2同等連線223
9.1.3非同等
譯者序
這是一本關於SQL的全方位的參考書。換句話說,這本書沒有將目光局限在任何一個具體的資料庫管理系統上。本書試圖在最大限度上讓你理解什麼是標準的SQL以及標準的SQL在開發商們的不同實現上是如何貫徹的。本書的講解是以目前業界最重要也最流行的三個關係型資料庫管理系統(Oracle9i,IBMDB2,MicrosoftSQLServer2000)為基礎的。正如任何一本書都有其特定的讀者群一樣,這本書也不例外。從這本書的內容和敘述方式上看,本書是為那些希望全面了解SQL的能力,希望以某種方式將Oracle,IBM和Microsoft三家公司的資料庫產品貫通起來的讀者而寫的。本書的定位始終是一個“標準”,對所有三巨頭數..
前言
這本書是關於結構化查詢語言的。它以名稱SQL為人們所熟知,它是關係型資料庫的標準語言以及資料庫世界的國際通用語言。它已經存在了超過20年之久,而且沒有絲毫要衰退的跡象。這主要應歸功於大量的修訂:專利發明頻繁地被資料庫開發商們引入,這些專利或者被採納為標準,或者隨著資料庫界的發展被廢棄。最新的SQL標準在1999年被引入,儘管ANSI/ISOSQL標準的確存在,但這些標準中有許多只是在理論上維持著一致,在從一個實現到另一個實現間還有著很大的不同。因此,要想找到一本“囊括一切”的SQL書是非常困難的。一個作者可能偏愛某一特別的開發商,因此,一本相當不錯的Oracle或MSSQLServer書,但它..
文摘
第1章SQL和關係資料庫管理系統
信息可能是現代社會中最有價值的商品。它可以以多種不同的形式呈現出來,例如會計賬目和薪金信息、有關客戶和訂購者的信息、科學和統計數據、圖形或多媒體。事實上,我們是完全被數據淹沒的,而且(至少我們願意這樣認為)這些數據不能夠丟失。現在,我們擁有的數據實在是太多了,無法把它們都保存到檔案櫃或硬紙箱中。對每一個企業而言,安全地存儲需要長期保存的海量數據,允許多用戶以不同的角度對海量數據進行有效的查詢,並在需要的時候能很方便地對數據進行更新,這些都是極為關鍵和重要的問題。這些工作需要交由現有的資料庫去處理,它能夠完成上述所有的任務以及其他更多的事情。簡單地說,資料庫就是一個有組織的信息集合(重點是“有組織的”)。
一個更明確的定義是資料庫管理系統(DBMS),它常被用做“資料庫”的同義詞。這個術語的含義更為寬泛,除了指存儲信息外,還包含了一些使用數據的方法和維護數據的工具。
注意:DBMS可以被定義為一個相關數據的集合及一套用於訪問、修改和維護數據的程式。有關DBMS的更多信息將在本章的後面介紹。
1.1理想的資料庫特徵
關於資料庫是什麼和它應該做什麼,存在著許多不同的意見。但不管怎么說,所有現代資料庫都應該至少具有下列特徵。