SQL語言詳解第3版

SQL語言詳解第3版

《SQL語言詳解第3版》是2011年出版的圖書,作者是吳驊、王學昌。

圖書簡介

本書全面、深入地介紹了SQL的使用方法,主要包括關係型數據模型、關係代數、SQL簡介、簡單的SQL查詢、從多個表中檢索數據、高級查詢操作、操作多行數據、數據修改、模式與用戶、視圖/臨時表/公共表表達式及索引、保持設計更新、用戶與訪問許可權、用戶/會話及事務控制、編寫和執行SQL例程與模組、嵌入式SQL、動態SQL、XML支持、對象-關係數據模型以及對象-關係支持。
本書適合作為高等院校計算機及相關專業的教材和教學參考書,也可作為相關開發人員的自學參考手冊。
SQLClearlyExplained,3e
JanL.Harrington
ISBN:9780123756978
Copyright©2010byElsevier.Allrightsreserved.
AuthorizedSimplifiedChinesetranslationeditionpublishedbyElsevier(Singapore)PteLtdPressandTsinghuaUniversityPress.
Copyright©2011byElsevier(Singapore)PteLtdandTsinghuaUniversityPress.Allrightsreserved.
PublishedinChinabyTsinghuaUniversityPressunderspecialarrangementwithElsevier(Singapore)PteLtd..ThiseditionisauthorizedforsaleinChinaonly,excludingHongKongSARandTaiwan.UnauthorizedexportofthiseditionisaviolationoftheCopyrightAct.ViolationofthisLawissubjecttoCivilandCriminalPenalties.
本書簡體中文版由Elsevier(Singapore)PteLtd.授予清華大學出版社在中國大陸地區(不包括香港、澳門特別行政區以及台灣地區)出版與發行。未經許可之出口,視為違反著作權法,將受法律之制裁。

目 錄

第一部分SQL簡介

第1章關係型數據模型 2

1.1模式與實體 2

1.2關係和表 3

1.2.1行和列 4

1.2.2域 4

1.2.3主鍵 5

1.2.4空值 6

1.3基表與虛擬表 7

1.4關係的表現形式 7

1.4.1關係的類型 7

1.4.2外鍵和引用完整性 10

1.4.3視圖 12

1.5樣例資料庫的設計 13

第2章關係代數 18

2.1生成垂直子集:投影 19

2.2生成水平子集:約束 21

2.3選擇行和列:先約束後投影 21

2.4聯合 22

2.5連線 23

2.5.1一個與資料庫無關的例子 23

2.5.2等值連線 24

2.5.3到底是怎么一回事呢:乘積與約束 26

2.5.4連線鍵上的等值連線 28

2.5.5外連線 31

2.5.6有效連線和無效連線 33

2.5.7差 36

2.5.8交叉 36

2.5.9除 39

第3章SQL簡介 40

3.1有關SQL的歷史點滴 40

3.2一致性等級 41

3.3SQL環境 42

3.3.1互動式SQL命令處理器 43

3.3.2圖形用戶界面 44

3.3.3嵌入式SQL 45

3.4SQL語句的元素 46

第二部分互動式SQL

第4章簡單的SQL檢索 48

4.1選擇列 49

4.1.1檢索所有列 49

4.1.2檢索特定的列 50

4.1.3移除重複值 50

4.2對結果表進行排序 52

4.3選擇行 54

4.3.1斷言 54

4.3.2執行行選擇查詢 61

4.4空值與檢索:三值邏輯 65

第5章從多表當中檢索數據 69

5.1內連線的SQL語法 69

5.1.1傳統的SQL連線 69

5.1.2SQL-92標準當中的連線語法 70

5.1.3使用連線鍵進行連線 72

5.1.4連線兩個以上的表 73

5.2在一個表中查找多行:表內連線 75

5.2.1相關名稱 78

5.2.2執行表內連線 78

5.2.3外連線 79

5.3查詢中的表構造器 81

5.4避免連線無關的子查詢 82

5.4.1使用IN操作符 82

5.4.2使用ANY操作符 83

5.4.3嵌套子查詢 84

5.4.4用子查詢來代替表內連線 84

第6章高級檢索操作 86

6.1聯合 86

6.1.1使用相同源表執行Union操作 87

6.1.2對不同的源表執行Union操作 88

6.1.3使用SQL-92的Union語法 89

6.2否定查詢 89

6.2.1傳統SQL的否定查詢 90

6.2.2使用EXCEPT操作符的否定查詢 92

6.3EXISTS操作符 93

6.4INTERSECT操作符 94

6.5執行運算 96

6.5.1運算操作符 96

6.5.2操作符優先權 97

6.6字元串操作 98

6.6.1連線 98

6.6.2UPPER和LOWER 98

6.6.3TRIM 99

6.6.4SUBSTRING 100

6.7日期和時間操作 101

6.7.1日期和時間的系統值 101

6.7.2日期和時間間隔操作 101

6.7.3OVERLAPS 103

6.7.4EXTRACT 104

6.8CASE表達式 104

第7章操作多行數據 107

7.1集函式 107

7.1.1COUNT函式 108

7.1.2SUM函式 110

7.1.3AVG函式 110

7.1.4MIN和MAX函式 111

7.1.5謂詞當中的集函式 111

7.2改變數據類型:CAST函式 112

7.3分組查詢 114

7.3.1形成分組 114

7.3.2限制分組 117

7.4開窗以及開窗函式 118

7.4.1分區排序 121

7.4.2一些特殊的函式 123

第8章數據修改 132

8.1插入數據行 132

8.1.1插入一行數據 132

8.1.2複製現有的數據行 133

8.2更新數據 135

8.3刪除數據行 136

8.4刪除與引用完整性 136

8.5MERGE 137

第三部分管理資料庫結構

第9章模式與用戶 142

9.1資料庫對象的層次 142

9.2模式 144

9.2.1創建模式 144

9.2.2標識需要使用的模式 145

9.3域 145

9.4表 147

9.4.1列的數據類型 147

9.4.2默認值 151

9.4.3非空約束 151

9.4.4主鍵 151

9.4.5外鍵 151

9.4.6其他的一些列約束 156

9.5斷言 157

9.6確定何時檢查約束 157

第10章視圖、臨時表、公共表表達式及索引 160

10.1視圖 160

10.1.1為什麼要使用視圖 160

10.1.2創建視圖 161

10.1.3查詢視圖 162

10.1.4有關可更新視圖的問題 162

10.2臨時表 163

10.2.1創建臨時表 164

10.2.2向臨時表中裝載數據 164

10.2.3處置臨時表中的行 165

10.3公共表表達式 165

10.4索引 168

10.4.1確定創建哪些索引 169

10.4.2創建索引 170

第11章保持設計更新 172

11.1修改表結構 172

11.1.1添加新列 172

11.1.2添加表約束 173

11.1.3修改列 173

11.1.4刪除表元素 174

11.1.5重命名表元素 175

11.2修改域 175

11.3刪除資料庫元素 176

第12章用戶與訪問許可權 177

12.1管理用戶賬號 177

12.2授權與撤銷訪問許可權 178

12.2.1訪問許可權的類型 179

12.2.2存儲訪問許可權 179

12.2.3授權 180

12.2.4撤銷許可權 181

12.2.5角色 182

第13章用戶、會話及事務控制 184

13.1並發使用數據環境 184

13.2資料庫會話與連線 187

13.2.1使用SQL對資料庫進行連線以及下線 187

13.2.2關於會話長度的一些注意事項 188

13.3事務處理控制 188

13.3.1事務的讀/寫許可權 189

13.3.2事務終止 189

13.3.3開始事務 190

13.3.4結束事務 190

13.3.5關於事務長度的一些注意事項 190

第四部分SQL編程

第14章編寫和執行SQL例程與模組——觸發器和存儲過程 194

14.1SQL編程元素 194

14.1.1變數及其賦值 196

14.1.2選擇 198

14.1.3疊代 200

14.1.4互動式檢索 202

14.1.5嵌套模組 202

14.2模組作為觸發器執行 203

14.3模組作為存儲過程執行 204

第15章嵌入式SQL 205

15.1嵌入式SQL環境 205

15.2使用宿主語言變數 207

15.3資料庫管理系統返回代碼 207

15.4獲取一行數據 208

15.5獲取多行數據:游標 210

15.5.1聲明游標 211

15.5.2打開游標 213

15.5.3獲取行數據 213

15.5.4關閉游標 216

15.6嵌入式SQL的數據修改 216

15.6.1直接修改 216

15.6.2指示符變數與數據修改 217

15.6.3使用MATCH進行完整性驗證 218

15.6.4使用游標修改數據 219

15.6.5使用游標刪除數據 219

第16章動態SQL 220

16.1ImmediateExecution語句 220

16.2具有動態參數的動態SQL 222

16.2.1帶有游標的動態參數 223

16.2.2沒有游標的動態參數 228

第五部分非關係型SQL語言擴展

第17章XML支持 230

17.1XML基礎 230

17.1.1XML結構 231

17.1.2XML文檔結構 232

17.1.3XML的模式 235

17.2SQL/XML 236

17.3XML數據類型 244

第18章對象—關係型數據模型 247

18.1入門—無需計算的面向對象 247

18.2面向對象的基本概念 251

18.2.1對象 251

18.2.2類 253

18.2.3類之間的關係 256

18.3面向對象的優點 261

18.4純面向對象資料庫 265

18.4.1表示數據關係 265

18.4.2關係導航 266

18.5對象-關係型數據模型 266

18.5.1對象-關係型設計中的ER圖 267

18.5.2對象關係型數據模型的特性 270

第19章對象—關係支持 272

19.1引子——一個額外的樣本資料庫 272

19.2對象-關係支持下的SQL數據類型 273

19.2.1行(Row)類型 273

19.2.2數組(Array)類型 274

19.2.3多重集(Multiset)類型 276

19.3用戶定義的數據類型與類型化表 278

19.3.1UDT作為域 278

19.3.2UDT作為類 279

19.3.3使用UDT創建類型化表 279

19.3.4繼承 280

19.3.5引用(REF)類型 280

19.4方法 282

19.4.1定義方法 283

19.4.2執行方法 283

第六部分附錄

附錄A常用縮略語 286

附錄BSQLSTATE返回代碼 288

附錄CSQL語法匯總 298

附錄D辭彙表 306

SQL語言詳解(第3版)

目錄

相關詞條

熱門詞條

聯絡我們