內容簡介
本書是Oracle出版社針對OCA SQL Certified Expert考試提供的獨家權威指南。書中每一章均提供了富有挑戰性的練習,還提供了實踐性問題以及兩分鐘練習,目的是加深您對所學知識的印象。
目錄
第1章SQL簡介 1
認證目標1.01 2
1.1考試概述 2
1.1.1SQLFundamentalsI與
SQLExpert的比較 3
1.1.2考試過程 7
認證目標1.02 9
1.2定義和理解RDBMS的基礎知識 9
1.2.1關係資料庫和E.F.Codd博士 9
1.2.2資料庫的規範化 10
1.2.3資料庫設計方面的考慮 11
認證目標1.03 12
1.3定義和理解SQL的基礎知識 12
認證目標1.04 13
1.4理解OracleRDBMS和
OracleSQL 13
1.4.1Oracle是市場主導者 14
1.4.2認證:OracleSQL與ANSISQL
的比較 15
1.4.3認證:OracleSQL與Oracle
SQL*Plus的比較 15
1.4.4Oracle公司的SQL工具 15
1.4.5Oracle的SQL文檔 17
認證目標1.05 17
1.5理解SQL在現代軟體系統中的
獨特作用 17
1.5.1SQL是一種4GL 17
1.5.2SQL:所有其他語言通往
RDBMS之門 18
1.5.3僅了解語法還不夠 19
認證目標1.06 20
1.6確定合適的學習材料 20
1.6.1軟體 21
1.6.2文檔 21
1.7認證總結 22
1.7.1兩分鐘練習 22
1.7.2自測 23
1.7.3自測答案 26
第2章使用DDL語句創建和管理表 29
認證目標2.01 30
2.1主資料庫對象的種類 30
2.1.1什麼是資料庫對象 30
2.1.2模式 31
認證目標2.02 32
2.2創建一個簡單的表 32
2.2.1對表或其他對象進行命名 33
2.2.2SQL語句CREATETABLE 38
認證目標2.03 39
2.3查看錶的結構 39
認證目標2.04 40
2.4列出各列可用的數據類型 40
2.4.1字元 40
2.4.2數值 41
2.4.3日期 42
2.4.4大對象(LOB) 43
認證目標2.05 44
2.5如何在創建表的同時創建約束 44
2.5.1在CREATETABLE語句中
創建CONSTRAINT 45
2.5.2約束的類型 48
2.6認證總結 54
2.6.1兩分鐘練習 55
2.6.2自測 56
2.6.3自測答案 60
第3章操縱數據 63
認證目標3.01 64
3.1描述每條DML語句 64
3.1.1SQL語句概述 64
3.1.2DML語句描述 66
認證目標3.02 67
3.2向表中插入行 67
3.2.1默認列列表 67
3.2.2枚舉的列列表 69
認證目標3.03 72
3.3更新表中的行 72
3.3.1表達式 73
3.3.2約束 73
3.3.3WHERE子句 75
認證目標3.04 75
3.4從表中刪除行 75
認證目標3.05 76
3.5控制事務 76
3.5.1COMMIT 76
3.5.2ROLLBACK 79
3.5.3SAVEPOINT 80
3.5.4回顧ROLLBACK 82
3.6認證總結 83
3.6.1兩分鐘練習 84
3.6.2自測 85
3.6.3自測答案 89
第4章使用SQLSELECT語句檢
索數據 93
認證目標4.01 94
4.1執行基本的SELECT語句 94
4.1.1SELECT語句示例 94
4.1.2SELECT語句的最低要求 95
認證目標4.02 96
4.2列出SQLSELECT語句的能力 96
4.2.1SELECT語句概述 96
4.2.2表達式 100
4.2.3其他SELECT語句子句 103
4.2.4SELECT的能力 104
認證目標4.03 106
4.3描述模式對象如何工作 106
4.3.1表 106
4.3.2約束 106
4.3.3視圖 106
4.3.4索引 106
4.3.5序列 107
4.3.6同義詞 107
4.4認證總結 108
4.4.1兩分鐘練習 108
4.4.2自測 109
4.4.3自測答案 113
第5章對數據進行限定和排序 115
認證目標5.01 116
5.1對查詢所檢索的行進行限制 116
5.1.1WHERE子句 116
5.1.2布爾邏輯 121
5.1.3其他的WHERE子句特性 124
5.1.4其他的概念 127
認證目標5.02 127
5.2對查詢所檢索的行進行排序 127
5.2.1通過名稱進行引用 127
5.2.2表達式 130
5.2.3通過位置進行引用 132
5.2.4組合 133
5.2.5ORDERBY和NULL 133
5.3認證總結 133
5.3.1兩分鐘練習 134
5.3.2自測 136
5.3.3自測答案 140
第6章使用單行函式定製輸出 143
認證目標6.01 144
6.1描述SQL中各種類型的函式 144
6.1.1字元函式 145
6.1.2數值函式 145
6.1.3日期函式 145
6.1.4轉換函式 146
6.1.5其他函式 146
認證目標6.02 146
6.2在SELECT語句中使用字元函式、
數值函式和日期函式 146
6.2.1DUAL表 146
6.2.2字元處理 147
6.2.3數學處理 152
6.2.4處理日期 154
6.2.5其他函式 157
6.2.6嵌套函式 160
認證目標6.03 161
6.3描述轉換函式的用法 161
6.3.1轉換函式 162
6.3.2自動數據類型轉換 169
認證目標6.04 170
6.4使用各種日期時間函式管理
不同時區的數據 170
6.4.1資料庫時間和會話時間的
比較 171
6.4.2通用協調時 172
6.4.3時區數據類型 172
6.4.4時區函式 174
6.4.5時區轉換函式 177
6.4.6ATTIMEZONE,
ATLOCAL 179
6.5認證總結 181
6.5.1兩分鐘練習 182
6.5.2自測 183
6.5.3自測答案 186
第7章使用分組函式報告聚集數據 189
認證目標7.01 190
7.1識別可用的分組函式 190
認證目標7.02 191
7.2描述分組函式的用法 191
7.2.1COUNT 191
7.2.2SUM 193
7.2.3MIN,MAX 193
7.2.4AVG 194
7.2.5MEDIAN 195
7.2.6RANK 195
7.2.7FIRST,LAST 195
7.2.8GROUPING 196
7.2.9其他 196
認證目標7.03 196
7.3使用GROUPBY子句對數據
分組 196
7.3.1多列 201
7.3.2再論ORDERBY 201
7.3.3嵌套函式 202
認證目標7.04 204
7.4通過使用HAVING子句包含或
排除分組後的行 204
7.5認證總結 206
7.5.1兩分鐘練習 206
7.5.2自測 207
7.5.3自測答案 211
第8章從多個表中顯示數據 215
認證目標8.01 216
8.1編寫SELECT語句,使用等值
聯接和非等值聯接從多個表中
訪問數據;使用外聯接查看不
滿足聯接條件的數據 216
8.1.1鍵關聯 216
8.1.2聯接的類型 218
8.1.3內聯接 218
8.1.4外聯接 220
8.1.5使用表的別名 223
8.1.6自然聯接 224
8.1.7USING 225
8.1.8多表聯接 225
8.1.9非等值聯接 226
認證目標8.02 228
8.2使用自聯接將表聯接到自己 228
8.2.1自引用外鍵 228
8.2.2自聯接的語法 228
認證目標8.03 229
8.3從兩個或多個表中生成所有行的
笛卡爾積 229
8.4認證總結 230
8.4.1兩分鐘練習 231
8.4.2自測 232
8.4.3自測答案 236
第9章使用子查詢檢索數據 239
認證目標9.01 240
9.1定義子查詢 240
認證目標9.02 241
9.2子查詢能夠解決的問題類型 241
認證目標9.03 241
9.3子查詢的類型 241
認證目標9.04 242
9.4編寫單行子查詢和多行子查詢 242
9.4.1單行子查詢 242
9.4.2多行子查詢 246
認證目標9.05 247
9.5編寫一個多列子查詢 247
認證目標9.06 249
9.6在SQL中使用標量子查詢 249
認證目標9.07 250
9.7使用關聯子查詢解決問題 250
認證目標9.08 252
9.8使用關聯子查詢更新和刪除行 252
9.8.1在UPDATE語句中使用關聯
子查詢 252
9.8.2在DELETE語句中使用關聯
子查詢 253
認證目標9.09 254
9.9使用EXISTS和NOTEXISTS
操作符 254
認證目標9.10 255
9.10使用WITH子句 255
9.11認證總結 256
9.11.1兩分鐘練習 256
9.11.2自測 258
9.11.3自測答案 263
第10章創建其他模式對象 267
認證目標10.01 268
10.1創建和使用簡單視圖及複雜
視圖 268
10.1.1創建視圖 268
10.1.2可更新視圖 271
10.1.3內聯視圖 273
10.1.4檢索數據 275
10.1.5ALTERVIEW 275
認證目標10.02 276
10.2創建、維護和使用序列 276
10.2.1創建序列 276
10.2.2使用序列 277
認證目標10.03 279
10.3創建和維護索引 279
10.3.1隱式創建索引 280
10.3.2單列索引 281
10.3.3複合索引 283
10.3.4唯一索引 284
10.3.5刪除索引 284
認證目標10.04 284
10.4創建私有同義詞和公有同義詞 284
10.4.1私有同義詞 285
10.4.2公有同義詞 286
10.4.3對象許可權 286
10.4.4名稱優先權 287
10.4.5替換 288
10.4.6刪除同義詞 289
10.5認證總結 289
10.5.1兩分鐘練習 290
10.5.2自測 291
10.5.3自測答案 296
第11章管理模式對象 299
認證目標11.01 300
11.1添加列和修改列 300
11.1.1添加列 300
11.1.2修改列 302
11.1.3重新命名列 305
認證目標11.02 305
11.2刪除列和將列設定為UNUSED 305
11.2.1刪除列 305
11.2.2UNUSED 307
認證目標11.03 309
11.3添加約束 309
11.3.1使用ALTERTABLE
添加約束 309
11.3.2修改約束 312
11.3.3刪除約束 312
11.3.4禁用約束和啟用約束 314
11.3.5DROPTABLE和CASCADE
CONSTRAINTS 319
11.3.6DELETE和ONDELETE 319
11.3.7DEFERABLE和DEFERED 320
11.3.8重新命名約束 321
認證目標11.04 323
11.4使用CREATETABLE語句
創建索引 323
11.4.1自動創建索引 323
11.4.2USINGINDEX子句 324
認證目標11.05 325
11.5創建基於函式的索引 325
認證目標11.06 326
11.6執行FLASHBACK操作 326
11.6.1概述 326
11.6.2恢復被刪除的表 327
11.6.3及時地恢復表 330
11.6.4標記時間 331
認證目標11.07 334
11.7創建和使用外部表 334
11.7.1使用外部表的好處 334
11.7.2創建外部表 335
11.8認證總結 338
11.8.1兩分鐘練習 339
11.8.2自測 340
11.8.3自測答案 345
第12章 使用集合操作符 349
認證目標12.01 350
12.1描述集合操作符 350
認證目標12.02 352
12.2使用一個集合操作符將多個
查詢組合為一個單獨的查詢 352
12.2.1UNION 352
12.2.2UNIONALL 354
12.2.3INTERSECT 355
12.2.4MINUS 355
12.2.5組合 356
認證目標12.03 357
12.3控制返回行的返回順序 357
12.3.1ORDERBY——根據位置
進行排序 357
12.3.2ORDERBY——根據引用
進行排序 358
12.4認證總結 359
12.4.1兩分鐘練習 360
12.4.2自測 360
12.4.3自測答案 365
第13章通過對相關數據進行分組生
成報表 369
認證目標13.01 370
13.1使用ROLLUP操作生成子
和值 370
認證目標13.02 372
13.2使用CUBE操作生成交叉
報表值 372
認證目標13.03 374
13.3使用GROUPING函式標識
ROLLUP或CUBE創建的
行值 374
認證目標13.04 375
13.4使用GROUPINGSETS生成
一個單獨的結果集 375
13.5認證總結 378
13.5.1兩分鐘練習 378
13.5.2自測 379
13.5.3自測答案 383
第14章使用數據字典視圖管理對象 385
認證目標14.01 386
14.1使用數據字典視圖研究對象
的數據 386
14.1.1結構 386
14.1.2動態性能視圖 389
14.1.3讀取註解 390
14.1.4添加註解 390
認證目標14.02 391
14.2查詢各種數據字典視圖 391
14.2.1DICTIONARY 391
14.2.2標識一個用戶擁有的對象 392
14.2.3檢查表和列 394
14.2.4編譯視圖 395
14.2.5檢查許可權 395
14.2.6檢查約束 396
14.2.7查找列 397
14.3認證總結 397
14.3.1兩分鐘練習 398
14.3.2自測 399
14.3.3自測答案 401
第15章操作大數據集 405
認證目標15.01 406
15.1使用子查詢運算元據 406
15.1.1CREATETABLE與子查詢 406
15.1.2INSERT與子查詢 408
15.1.3UPDATE與關聯子查詢 410
認證目標15.02 411
15.2描述多表INSERT語句的
功能 411
認證目標15.03 415
15.3使用無條件多表INSERT語句、
條件多表INSERT語句,
以及轉置多表INSERT語句 415
15.3.1無條件多表INSERT語句 415
15.3.2條件多表INSERT語句 417
15.3.3轉置多表INSERT語句 422
認證目標15.04 424
15.4將數據合併到一個表中 424
認證目標15.05 427
15.5跟蹤數據在一段時間內的變更
情況 427
15.5.1閃回查詢 428
15.5.2閃回版本查詢 432
15.5.3閃回事務查詢 435
15.6認證總結 437
15.6.1兩分鐘練習 438
15.6.2自測 439
15.6.3自測答案 445
第16章分層檢索 449
認證目標16.01 450
16.1分層查詢的概念 450
認證目標16.02 452
16.2分層數據的創建與格式化 452
16.2.1創建一個樹狀結構的報表 453
16.2.2選擇方向 454
16.2.3ORDERSIBLINGSBY 455
16.2.4SYS_CONNECT_BY
_PATH 456
16.2.5CONNECT_BY_ROOT 457
認證目標16.03 457
16.3從樹狀結構中排除分支 457
16.4認證總結 459
16.4.1兩分鐘練習 459
16.4.2自測 460
16.4.3自測答案 463
第17章對正則表達式的支持 467
認證目標17.01 468
17.1使用元字元 468
認證目標17.02 470
17.2正則表達式函式 470
認證目標17.03 478
17.3替換模式 478
認證目標17.04 482
17.4正則表達式和CHECK約束 482
17.5認證總結 484
17.5.1兩分鐘練習 484
17.5.2自測 485
17.5.3自測答案 488
第18章對用戶訪問進行控制 491
認證目標18.01 492
18.1區分系統許可權和對象許可權 492
18.1.1系統許可權 492
18.1.2前提條件 494
18.1.3GRANT語句和REVOKE
語句 496
18.1.4ANY 498
18.1.5ADMINOPTION 499
18.1.6ALLPRIVILEGES 500
18.1.7PUBLIC 500
認證目標18.02 501
18.2授予表上的許可權 501
18.2.1模式前綴 502
18.2.2WITHGRANTOPTION 503
18.2.3REVOKE 504
18.2.4ALLPRIVILEGES 504
18.2.5許可權的依賴性 505
認證目標18.03 505
18.3在數據字典中查看許可權 505
認證目標18.04 507
18.4授予角色 507
認證目標18.05 510
18.5區分許可權和角色 510
18.6認證總結 511
18.6.1兩分鐘練習 511
18.6.2自測 512
18.6.3自測答案 516
附錄A本書附帶的資料 519
系統需求 519
MasterExam 520
幫助 520
刪除安裝 520
技術支持 520
LearnKey技術支持 520
術語表 521