Oracle 資料庫系統原理(第2版)

Oracle 資料庫系統原理(第2版)

本書包括資料庫基本理論以及Oracle資料庫系統知識兩部分。主要包括關係模型基本理論、ER圖及範式理論、安裝Oracle 12c軟體、SQL語言、Oracle的邏輯存儲空間、索引原理、Oracle資料庫體系結構、事務處理與鎖、網路連線配置、用戶和許可權管理等內容。強調在學習各種技能的同時,理解關係型資料庫理論的一些本質內容,能夠對Oracle資料庫的體系結構及運作原理有深層次的理解。

本書可以作為高校計算機各專業的資料庫教材或參考書,也可以供相關Oracle資料庫管理員或編程人員參考。

基本介紹

  • 書名:Oracle 資料庫系統原理(第2版)
  • 作者:李愛武
  • ISBN:978-7-5635-4495-0
  • 出版時間:2015-08-20
目錄
第1章資料庫技術基礎1
1.1資料庫套用的場合1
1.2常用術語1
1.3資料庫系統的構成1
1.3.1硬體2
1.3.2軟體2
1.3.3人員2
第2章關係模型理論的發展及主要產品4
2.1數據處理的歷史4
2.2數據模型的概念5
2.3網狀模型與層次模型簡介5
2.3.1網狀模型5
2.3.2層次模型6
2.3.3層次模型和網狀模型的貢獻及缺陷6
2.4關係模型的提出和成熟6
2.4.1關係數據模型要解決的問題7
2.4.2關係模型的提出與完善7
2.4.3IBM的System R項目7
2.4.4加州大學伯克利分校的Ingres項目8
2.5關係數據模型的三個要素9
2.5.1關係數據模型的數據結構9
2.5.2關係數據模型的數據操作方式10
2.5.3關係數據模型中的完整性約束(integrity constraint)11
2.5.4關係型資料庫的特點11
2.6常用關係型資料庫產品介紹12
2.6.1關係型資料庫產品的主要類型12
2.6.2Oracle13
2.6.3DB213
2.6.4SQL Server13
2.6.5Sybase和Informix13
2.6.6MySQL與PostgreSQL開源資料庫13
第3章ER模型15
3.1資料庫設計的主要步驟15
3.2ER模型的主要概念15
3.3ER圖的表示方法16
3.4聯繫的映射約束16
3.4.1一對一聯繫17
3.4.2一對多聯繫17
3.4.3多對多聯繫17
3.5ER圖如何轉化為表18
3.5.1一對一聯繫轉化為表18
3.5.2一對多聯繫轉化為表18
3.5.3多對多聯繫轉化為表19
第4章規範化理論20
4.1引入範式理論的原因20
4.1.1Insertion異常21
4.1.2Deletion異常21
4.1.3Update異常21
4.2第一範式22
4.3第二範式23
4.4第三範式23
第5章獲得Oracle 12c安裝檔案及幫助檔案25
5.1註冊OTN賬號25
5.2下載Oracle 12c安裝檔案26
5.3獲得Oracle 12c文檔26
5.3.1下載文檔26
5.3.2檢索文檔27
5.3.3三個重要文檔介紹28
5.3.4查詢Oracle的錯誤信息28
第6章安裝Oracle 12c並創建資料庫30
6.1安裝Oracle 12c30
6.2創建資料庫36
6.3刪除Oracle 12c軟體44
第7章配置和使用SQLPlus46
7.1啟動資料庫服務46
7.2啟動和關閉資料庫46
7.3可用資料庫用戶48
7.4常用SQLPlus操作48
7.4.1使用SQLPlus連線到本地資料庫48
7.4.2切換連線用戶49
7.4.3切換資料庫50
7.4.4查看當前連線的資料庫名稱50
7.4.5執行SQL命令50
7.4.6describe命令查詢表的結構51
7.4.7修改執行過的SQL命令以重新執行51
7.4.8執行SQL腳本檔案51
7.5設定SQLPlus環境52
7.5.1設定每行容納的字元數52
7.5.2設定查詢結果的列寬52
7.5.3自定義SQL提示符53
7.5.4修改ED命令默認使用的編輯器53
7.5.5使用glogin.sql檔案保存SQLPlus環境配置53
7.5.6獲得SQLPlus環境設定幫助信息54
第8章SQL查詢語句56
8.1SQL概述56
8.1.1SQL的歷史56
8.1.2SQL的發音57
8.1.3SQL查詢的特點57
8.1.4SQL標準57
8.2SQL語言的主要類型59
8.3常用數據類型60
8.4數值類型60
8.5字元串數據類型60
8.5.1早期字元編碼方式61
8.5.2Unicode編碼方式61
8.5.3資料庫字元集與國家字元集61
8.5.4char(n)與varchar2(n)63
8.5.5nchar(n)和nvarchar2(n)63
8.6日期時間數據類型63
8.7Oracle中的關鍵字64
8.8簡單的SQL查詢語句64
8.8.1最簡單的查詢——只指定表64
8.8.2指定列65
8.8.3指定列別名65
8.8.4指定查詢條件66
8.8.5使用order by子句對查詢結果排序67
8.9常用數值函式68
8.10字元數據的處理69
8.10.1字元串常量條件69
8.10.2字元串模糊查詢70
8.10.3查詢特殊字元71
8.10.4常用字元串函式72
8.10.5利用正則表達式搜尋字元串75
8.11日期型數據的處理78
8.11.1獲得當前日期時間78
8.11.2日期型常量78
8.11.3顯示日期型列值79
8.11.4使用extract()函式抽取日期的指定部分80
8.11.5獲取時間差81
8.12空值的處理81
8.13分組匯總查詢83
8.13.1單獨使用分組函式84
8.13.2與group by子句結合使用分組函式85
8.13.3having子句87
8.13.4order by子句88
8.13.5分組匯總查詢小結88
8.14子查詢89
8.14.1where子句中使用子查詢89
8.14.2select子句中使用子查詢90
8.14.3from子句中使用子查詢91
8.14.4非相關子查詢與相關子查詢91
8.14.5in與not in94
8.14.6exists與not exists97
8.15集合運算98
8.15.1求並集union與union all98
8.15.2求交集intersect98
8.15.3求差集minus99
8.16多表連線查詢100
8.16.1交叉連線100
8.16.2內連線101
8.16.3兩種連線標準:SQL86與SQL92103
8.16.4外連線104
8.17如何構造複雜的查詢語句106
8.18SQL查詢的等效轉換109
8.18.1內連線與子查詢109
8.18.2in,exists,內連線,intersect109
8.18.3not in,not exist,外連線110
第9章數據修改語句112
9.1delete112
9.2update112
9.3insert113
9.4構造涉及多個表的數據修改語句113
9.4.1附帶複雜條件的update語句114
9.4.2修改的新值與其他表相關114
第10章表及約束115
10.1創建簡單的表115
10.2約束115
10.2.1約束的種類116
10.2.2創建表時附加約束116
10.2.3對表增加約束119
10.2.4刪除約束120
10.2.5禁用和啟用約束120
10.2.6查詢約束的信息121
10.3修改表的結構122
10.3.1修改列的數據類型122
10.3.2添加及刪除列123
10.3.3修改列名123
10.3.4修改表名123
10.3.5清空表:truncate table123
10.3.6刪除表124
10.4資源回收筒功能124
10.4.1與資源回收筒有關的數據字典視圖124
10.4.2查詢被刪除表中的數據125
10.4.3恢復被刪除的表126
10.4.4如何不開啟資源回收筒功能127
10.4.5清空資源回收筒中的對象127
10.4.6關於資源回收筒功能的幾點注意事項128
10.4.7恢復與表相關的索引對象128
10.5DDL語句的背後129
第11章管理表空間和數據檔案130
11.1表空間130
11.1.1表空間是什麼130
11.1.2如何創建表空間130
11.1.3如何把表創建於指定表空間131
11.1.4把表的數據移至另外一個表空間131
11.1.5查詢表所在的表空間131
11.1.6表的數據存儲於多個數據檔案的原因132
11.1.7查詢表空間或數據檔案的系統信息132
11.2表空間的類型及其功能133
11.3存儲空間如何分配135
11.3.1數據塊、段和區135
11.3.2指定非默認的塊大小136
11.3.3指定表空間的空間分配方式136
11.3.4觀察空間分配的過程137
11.3.5對表分配指定大小的空間139
11.4刪除數據時空間是否釋放139
11.5修改表空間和數據檔案的屬性141
11.6與存儲空間相關的系統信息查詢144
第12章B樹索引148
12.1一個使用索引的例子148
12.2如何創建索引150
12.3B樹索引能把查詢速度提高多少151
12.4B樹索引的結構153
12.4.1如何表示表中記錄的地址153
12.4.2B樹索引的葉節點內容155
12.4.3B樹索引的分支節點內容156
12.4.4Oracle如何利用索引進行查詢156
12.4.5實驗探究:驗證索引葉節點及分支節點內容157
12.4.6哪些情況需要創建索引159
12.5如何知道一個查詢是否使用了索引159
12.5.1設定SQLPlus查看執行計畫159
12.5.2通過查看執行計畫確認是否使用索引161
12.5.3哪些情況不會使用索引162
12.6DML語句對索引的影響162
12.6.1insert語句對索引的影響162
12.6.2delete語句對索引的影響163
12.6.3update語句對索引的影響163
12.7基於函式的B樹索引163
12.8設定索引的可見性(visible/invisible)164
12.9約束與索引164
12.10與B樹索引有關的數據字典視圖165
第13章點陣圖索引168
13.1點陣圖索引的功能168
13.2點陣圖索引能把查詢速度提高多少168
13.3點陣圖索引占用多少空間169
13.4點陣圖索引的結構170
13.5實驗探究:驗證點陣圖索引的內容170
第14章管理資料庫的各種檔案173
14.1參數檔案173
14.1.1參數檔案的作用173
14.1.2pfile和spfile173
14.1.3修復spfile174
14.1.4參數檔案的存儲位置175
14.1.5修改參數值176
14.1.6如何查詢參數值177
14.1.7有關初始化參數的幫助178
14.2跟蹤檔案179
14.2.1跟蹤檔案的位置179
14.2.2跟蹤檔案的種類180
14.2.3警告檔案180
14.2.4當前會話跟蹤檔案182
14.3控制檔案183
14.3.1控制檔案的內容183
14.3.2控制檔案的安全性保證措施185
14.4重做檔案188
14.4.1重做檔案的內容188
14.4.2實例恢復與介質恢復189
14.4.3重做檔案組189
14.4.4查詢重做檔案信息192
14.4.5管理在線上重做檔案192
14.4.6移動重做檔案194
14.4.7資料庫歸檔模式195
14.4.8查詢資料庫歸檔模式199
14.4.9查詢在線上重做檔案組及重做檔案信息199
14.4.10查詢歸檔日誌檔案信息201
第15章實例203
15.1記憶體構成部分203
15.1.1SGA203
15.1.2PGA203
15.1.3UGA203
15.2SGA構成部分204
15.2.1固定區域(fixed area)204
15.2.2數據緩衝區(database buffer cache)204
15.2.3Java池(Java pool)206
15.2.4大池(large pool)206
15.2.5重做緩衝區(redo buffer)206
15.2.6共享池(shared pool)207
15.3PGA的構成208
15.3.1私有SQL區域208
15.3.2SQL工作區域208
15.4記憶體管理與配置209
15.4.1記憶體自動管理209
15.4.2自動管理SGA210
15.4.3手工管理SGA212
15.5進程212
15.5.1伺服器進程215
15.5.2後台進程217
第16章事務處理與鎖220
16.1事務概念220
16.1.1事務套用實例1:銀行轉賬220
16.1.2事務套用實例2:超市收銀221
16.2事務的ACID屬性221
16.2.1Atomicity——原子性221
16.2.2Consistency——一致性221
16.2.3Isolation——隔離性222
16.2.4Durability——持久性223
16.3事務控制命令223
16.4並發控制要解決的問題224
16.5解決並發問題的鎖和多版本數據技術226
16.5.1Oracle中鎖的種類226
16.5.2Oracle自動附加的鎖227
16.5.3DML鎖227
16.5.4死鎖229
16.5.5鎖的升級和轉換230
16.5.6多版本數據技術230
16.5.7總結:Oracle解決三個並發控制問題的方法232
16.6實例恢復232
16.6.1checkpoint與實例恢復的關係233
16.6.2前滾(rollforward)233
16.6.3回滾(rollback)233
第17章網路連線234
17.1網路連線的幾個術語234
17.1.1伺服器與客戶端234
17.1.2資料庫服務名234
17.1.3監聽器235
17.1.4專用伺服器模式及專用伺服器進程237
17.1.5共享伺服器模式和共享伺服器進程237
17.1.6服務註冊238
17.2簡單的網路連線配置239
17.2.1伺服器端操作239
17.2.2客戶端配置240
17.3共享伺服器模式及專用伺服器模式配置248
17.3.1配置共享伺服器模式248
17.3.2在客戶端指定共享或專用連線方式253
17.4使用非默認連線埠連線資料庫254
17.4.1設定監聽器254
17.4.2設定local_listener參數靜態註冊資料庫服務至監聽器256
17.4.3配置客戶端連線至資料庫256
第18章用戶和許可權管理258
18.1一個用戶及許可權管理的簡單示例258
18.2用戶管理259
18.2.1用戶屬性259
18.2.2創建用戶260
18.2.3模式的概念260
18.2.4修改用戶屬性260
18.2.5刪除用戶261
18.2.6查詢資料庫中的用戶名稱261
18.2.7查詢用戶屬性262
18.2.8資料庫中的預定義用戶263
18.2.9預置管理用戶263
18.3許可權管理264
18.3.1Oracle中的許可權種類264
18.3.2系統許可權265
18.3.3unlimited tablespace許可權265
18.3.4sysdba和sysoper許可權265
18.3.5資料庫中的所有系統許可權265
18.3.6對象許可權266
18.3.7賦予系統許可權267
18.3.8賦予對象許可權267
18.3.9撤銷用戶許可權268
18.3.10查詢用戶的許可權信息269
18.4角色271
18.4.1public角色271
18.4.2角色相關信息查詢271
18.4.3connect、resource、dba角色272
參考文獻273

相關詞條

熱門詞條

聯絡我們