內容簡介
本書採用大量的實例,深入淺出地介紹了Oracle 11g的使用和管理,共16章,包括資料庫系統概述,關係資料庫設計理論、資料庫設計、安裝Oracle、SQL*Plus、DDL和DML、查詢語句、Oracle事務管理、模式對象、常用SQL函式、PL/SQL基礎、PL/SQL高級編程、Oracle全球化支持、Oracle的啟動和關閉、Oracle的體系結構、Oracle的安全管理等內容。本書注重實用性和可讀性,以實例為依託,使讀者在學習理論知識的同時能夠將所學內容套用於實際中,更容易掌握Oracle 11g的使用方法及技巧。本書可作為高等院校及培訓機構計算機相關專業的教材,也可作為Oracle資料庫的初學者及具有一定的Oracle資料庫基礎的軟體開發人員和資料庫管理人員的參考書。
圖書目錄
第1章 資料庫系統概述1
1.1 資料庫的基本概念1
1.1.1 數據和資料庫1
1.1.2 資料庫管理系統2
1.1.3 資料庫系統3
1.2 數據管理技術的發展5
1.2.1 人工管理階段6
1.2.2 檔案系統階段7
1.2.3 資料庫系統階段7
1.3 資料庫系統的體系結構10
1.3.1 三級模式結構10
1.3.2 兩級映像功能與數據獨立性12
1.4 練習題12
第2章 關係資料庫設計理論14
2.1 數據模型14
2.1.1 數據模型及分類14
2.1.2 數據模型的組成要素15
2.1.3 幾種主要的數據模型16
2.2 關係模型19
2.2.1 關係數據結構19
2.2.2 關係操作20
2.2.3 關係的完整性約束20
2.3 關係資料庫規範化理論22
2.3.1 數據依賴23
2.3.2 範式及規範化24
2.4 練習題28
第3章 資料庫設計30
3.1 資料庫設計概述30
3.1.1 什麼是資料庫設計30
3.1.2 資料庫設計的內容31
3.1.3 資料庫設計的目標與特點31
3.1.4 資料庫設計的方法31
3.1.5 資料庫設計的步驟32
3.2 需求分析34
3.2.1 需求分析的任務34
3.2.2 需求分析的步驟35
3.3 概念結構設計36
3.3.1 概念結構設計的目標和策略36
3.3.2 實體-聯繫方法38
3.3.3 採用E-R方法的資料庫概念結構設計41
3.3.4 E-R模型設計實例45
3.4 邏輯結構設計48
3.4.1 邏輯結構設計的步驟48
3.4.2 E-R模型向關係數據模型的轉換49
3.4.3 關係數據模型的最佳化50
3.5 物理結構設計51
3.5.1 物理結構設計的步驟51
3.5.2 物理結構設計的性能評價52
3.6 資料庫實施53
3.7 資料庫運行和維護54
3.8 練習題54
第4章 安裝Oracle56
4.1 準備工作56
4.1.1 了解硬體需求56
4.1.2 獲取Oracle資料庫及幫助文檔56
4.2 安裝步驟58
4.3 數據字典70
4.3.1 數據字典概述70
4.3.2 靜態數據字典視圖71
4.3.3 動態性能視圖72
4.4 練習題73
第5章 SQLPlus75
5.1 登錄到資料庫75
5.1.1 sqlplus命令75
5.1.2 connect命令78
5.2 SQLPlus的常用命令78
5.2.1 HELP命令79
5.2.2 SET命令80
5.2.3 SHOW命令87
5.2.4 PROMPT命令89
5.2.5 SAVE和@命令89
5.2.6 EDIT命令90
5.2.7 RUN命令90
5.2.8 COLUMN命令91
5.2.9 DESCRIBE命令92
5.2.10 SPOOL命令93
5.2.11 CLEAR命令94
5.3 保存SQLPlus的設定95
5.4 練習題95
第6章 DDL和DML97
6.1 SQL的基本概念97
6.1.1 SQL的歷史97
6.1.2 SQL的組成元素98
6.1.3 空值99
6.1.4 注釋100
6.1.5 SQL語句的分類100
6.2 Oracle的主要數據類型101
6.2.1 字元型101
6.2.2 數值型108
6.2.3 日期時間型112
6.2.4 rowid類型117
6.2.5 大對象類型118
6.2.6 不同數據類型之間的轉換119
6.3 使用CREATE TABLE語句建表120
6.3.1 基本語法120
6.3.2 完整性約束122
6.3.3 使用子查詢創建表129
6.3.4 查看錶信息131
6.4 使用ALTER TABLE語句修改表結構132
6.4.1 增加列132
6.4.2 增加約束133
6.4.3 修改列134
6.4.4 修改約束135
6.4.5 重命名表名和列名137
6.4.6 刪除列和約束137
6.4.7 約束的啟用、驗證和延遲141
6.5 使用INSERT語句插入數據147
6.5.1 單行插入147
6.5.2 空字元串與空值148
6.5.3 多行插入148
6.6 使用UPDATE語句更新數據154
6.7 使用DELETE語句刪除數據155
6.8 使用TRUNCATE語句刪除數據155
6.9 刪除表156
6.10 練習題157
第7章 查詢語句159
7.1 查詢語句概述159
7.1.1 基本語法格式159
7.1.2 偽表和偽列160
7.2 單表查詢161
7.2.1 SELECT子句161
7.2.2 FROM子句165
7.2.3 WHERE子句166
7.2.4 DISTINCT關鍵字182
7.2.5 GROUP BY子句與聚合函式183
7.2.6 HAVING子句188
7.2.7 ORDER BY子句189
7.2.8 查詢語句的執行順序194
7.3 多表連線查詢195
7.3.1 內連線195
7.3.2 外連線199
7.3.3 自然連線203
7.3.4 笛卡兒積和交叉連線205
7.3.5 自連線206
7.4 子查詢207
7.4.1 可以使用子查詢的語句208
7.4.2 子查詢的分類208
7.4.3 相關子查詢214
7.5 集合運算217
7.5.1 並集運算217
7.5.2 交集運算219
7.5.3 差集運算219
7.6 練習題220
第8章Oracle事務管理221
8.1事務概述221
8.1.1什麼是事務221
8.1.2事務的4個特性222
8.2Oracle的事務處理機制222
8.2.1事務的開始與終止222
8.2.2事務控制語句223
8.2.3多版本讀一致性225
8.3事務的並發控制225
8.3.1並發操作帶來的問題225
8.3.2事務的隔離級別226
8.3.3鎖230
8.4練習題235
第9章模式對象237
9.1視圖237
9.1.1視圖的概念237
9.1.2創建視圖238
9.1.3對視圖進行DML操作241
9.1.4修改視圖244
9.1.5刪除視圖244
9.1.6內聯視圖與前n行查詢244
9.1.7查看視圖信息248
9.2同義詞249
9.2.1同義詞的概念249
9.2.2創建同義詞249
9.2.3刪除同義詞251
9.2.4查看同義詞信息251
9.3序列251
9.3.1序列的概念251
9.3.2創建序列252
9.3.3NEXTVAL偽列和CURRVAL偽列253
9.3.4修改序列255
9.3.5查看序列信息256
9.4索引256
9.4.1索引的概念256
9.4.2索引的類型257
9.4.3創建索引261
9.4.4修改和重建索引262
9.4.5刪除索引264
9.4.6查看索引信息264
9.4.7索引與約束265
9.4.8何時使用索引267
9.5分區表268
9.5.1什麼是分區表268
9.5.2創建分區表268
9.5.3維護分區285
9.5.4查看分區信息289
9.6臨時表291
9.7練習題293
第10章常用SQL函式295
10.1字元類函式295
10.1.1ASCII函式295
10.1.2CHR函式296
10.1.3CONCAT函式296
10.1.4INITCAP函式296
10.1.5INSTR函式297
10.1.6LOWER函式和UPPER函式298
10.1.7LPAD函式和RPAD函式299
10.1.8LTRIM函式、RTRIM函式和TRIM函式300
10.1.9LENGTH函式和LENGTHB函式301
10.1.10REPLACE函式301
10.1.11SUBSTR函式和SUBSTRB函式302
10.2數值類函式302
10.2.1ABS函式302
10.2.2CEIL函式303
10.2.3FLOOR函式303
10.2.4MOD函式303
10.2.5ROUND函式304
10.2.6TRUNC函式305
10.3日期類函式305
10.3.1ADD_MONTHS函式305
10.3.2CURRENT_DATE函式和CURRENT_TIMESTAMP函式306
10.3.3EXTRACT函式307
10.3.4LAST_DAY函式308
10.3.5MONTHS_BETWEEN函式308
10.3.6NEXT_DAY函式309
10.3.7ROUND函式310
10.3.8TRUNC函式311
10.4空值處理函式313
10.4.1NVL函式313
10.4.2NVL2函式313
10.4.3NULLIF函式314
10.4.4COALESCE函式314
10.5轉換類函式315
10.5.1TO_CHAR函式315
10.5.2TO_DATE函式317
10.5.3TO_NUMBER函式317
10.6其他常用函式318
10.6.1DECODE函式318
10.6.2DUMP函式320
10.7練習題320
第11章PL/SQL基礎322
11.1PL/SQL概述322
11.1.1什麼是PL/SQL322
11.1.2SQL與PL/SQL322
11.1.3PL/SQL的運行323
11.2PL/SQL的組成元素324
11.2.1塊325
11.2.2標識符327
11.2.3數據類型327
11.2.4變數330
11.2.5賦值語句332
11.3控制結構333
11.3.1分支結構333
11.3.2循環結構338
11.3.3跳轉結構343
11.4游標346
11.4.1游標的概念346
11.4.2顯式游標346
11.4.3隱式游標356
11.5異常357
11.5.1異常概述357
11.5.2異常的處理359
11.5.3異常的傳播362
11.5.4SQLCODE和SQLERRM函式367
11.6練習題368
第12章PL/SQL高級編程372
12.1存儲子程式372
12.1.1存儲過程372
12.1.2存儲函式380
12.1.3局部子程式386
12.2包388
12.2.1包概述388
12.2.2包的創建389
12.2.3包的調用391
12.2.4包的重載392
12.2.5包的管理393
12.3觸發器394
12.3.1觸發器概述394
12.3.2DML觸發器396
12.3.3INSTEADOF觸發器401
12.3.4系統觸發器403
12.3.5觸發器的管理404
12.4練習題405
第13章Oracle全球化支持408
13.1國家語言支持408
13.1.1什麼是NLS408
13.1.2NLS的主要內容408
13.2Oracle中的字元集409
13.2.1Oracle支持的字元集410
13.2.2資料庫字元集和國家字元集411
13.3常用的NLS參數412
13.3.1語言和地區參數412
13.3.2日期和時間參數413
13.3.3查看NLS參數415
13.3.4設定NLS參數416
13.4練習題420
第14章Oracle的啟動和關閉421
14.1創建和配置參數檔案421
14.1.1Oracle參數檔案概述421
14.1.2查看初始化參數422
14.1.3創建參數檔案424
14.1.4修改初始化參數425
14.1.5常見的初始化參數427
14.2啟動資料庫428
14.2.1資料庫的啟動過程428
14.2.2實例的創建與資料庫的啟動428
14.2.3資料庫的狀態切換430
14.3關閉資料庫436
14.4練習題438
第15章Oracle的體系結構439
15.1Oracle實例439
15.1.1Oracle實例概述439
15.1.2Oracle的記憶體結構440
15.1.3Oracle的進程結構446
15.2Oracle的物理存儲結構450
15.2.1數據檔案451
15.2.2控制檔案452
15.2.3在線上重做日誌檔案452
15.3Oracle的邏輯存儲結構458
15.3.1數據塊458
15.3.2區460
15.3.3段461
15.3.4表空間462
15.4練習題476
第16章Oracle的安全管理478
16.1用戶管理478
16.1.1用戶與模式478
16.1.2創建用戶479
16.1.3用戶的認證方式481
16.1.4修改用戶490
16.1.5刪除用戶492
16.1.6Oracle資料庫默認創建的用戶492
16.1.7查詢用戶信息494
16.2許可權管理495
16.2.1系統許可權管理495
16.2.2對象許可權管理503
16.3角色管理506
16.3.1創建角色506
16.3.2為角色授予許可權509
16.3.3默認角色與角色的啟用禁用509
16.3.4回收角色的許可權和刪除角色512
16.3.5查看角色信息513
16.4概要檔案管理514
16.4.1概要檔案概述514
16.4.2創建概要檔案514
16.4.3刪除概要檔案517
16.4.4查看概要檔案信息517
16.5練習題519
附錄A各章練習題參考答案521
參考文獻535