Oracle 11g 基礎教程與實驗指導( 簡體 字) | |
作者:郝安林、康會光 等 | 類別:1. -> 資料庫 -> Oracle |
出版社:清華大學出版社 | 3dWoo書號: 38269 詢問書籍請說出此書號! 有庫存 NT售價: 295 元 |
出版日:4/11/2014 | |
頁數:432 | |
光碟數:1 (含視頻教學) | |
站長推薦: | |
印刷:黑白印刷 | 語系: ( 簡體 字 ) |
ISBN:9787302317975 | 加入購物車 │加到我的最愛 (請先登入會員) |
(簡體書上所述之下載連結耗時費功, 恕不適用在台灣, 若讀者需要請自行嘗試, 恕不保證, 繁體書的下載亦請直接連絡出版社) | |
第1章 Oracle 11g關系數據庫 1
1.1 關系數據模型 1 1.1.1 數據結構 1 1.1.2 關系的完整性約束 3 1.1.3 關系數據模型的特點 4 1.2 關系數據庫的范式理論 5 1.2.1 第一范式 5 1.2.2 第二范式 6 1.2.3 第三范式 6 1.3 實體-關系模型 7 1.3.1 E-R模型的概念 7 1.3.2 E-R圖的繪制 8 1.3.3 將E-R模型轉化為關系 模型 9 1.4 Oracle 11g的下載和安裝 11 1.4.1 下載和安裝Oracle 11g 11 1.4.2 Oracle服務管理 13 1.5 創建數據庫 14 1.6 Oracle默認用戶 18 1.7 使用OEM 19 1.8 擴展練習 21 第2章 Oracle數據庫的體系結構 22 2.1 物理存儲結構 22 2.1.1 數據文件 22 2.1.2 控制文件 24 2.1.3 重做日志文件 25 2.1.4 其他文件 25 2.2 邏輯存儲結構 26 2.2.1 表空間 27 2.2.2 段 27 2.2.3 區 29 2.2.4 塊 29 2.3 Oracle數據庫的實例結構 31 2.3.1 Oracle進程結構 31 2.3.2 Oracle內存結構 36 2.4 數據字典 40 2.4.1 Oracle數據字典介紹 40 2.4.2 常用數據字典 41 2.5 擴展練習 44 第3章 使用SQL﹡Plus工具 46 3.1 SQL﹡Plus概述 46 3.1.1 SQL﹡Plus的主要功能 46 3.1.2 SQL﹡Plus連接與斷開 數據庫 47 3.2 使用SQL﹡Plus命令 49 3.2.1 使用DESCRIBE命令查看 表結構 49 3.2.2 執行SQL腳本 50 3.2.3 使用SAVE命令保存緩沖 區內容到文件 51 3.2.4 使用GET命令讀取腳本文件 到緩沖區 52 3.2.5 使用EDIT命令編輯緩沖 區內容或文件 52 3.2.6 使用SPOOL命令復制輸 出結果到文件 53 3.3 變量 54 3.3.1 臨時變量 54 3.3.2 定義變量 55 3.4 練習3-1:使用多個變量動態獲取 部門信息 57 3.5 格式化查詢結果 58 3.5.1 格式化列 58 3.5.2 設置每頁顯示的數據行 59 3.5.3 設置每行顯示的字符數 60 3.6 創建簡單報表 61 3.6.1 報表的標題設計 61 3.6.2 統計數據 63 3.7 練習3-2:使用報表統計各部門的 最高工資 64 3.8 擴展練習 65 第4章 管理表空間 66 4.1 基本表空間 66 4.1.1 創建Oracle基本表空間 66 4.1.2 使用表空間 69 4.1.3 管理表空間 70 4.2 練習4-1:創建并修改表空間 tablespace 76 4.3 臨時表空間 77 4.3.1 創建臨時表空間 77 4.3.2 修改臨時表空間 78 4.3.3 臨時表空間組 79 4.4 大文件表空間 81 4.5 非標準數據塊表空間 82 4.6 撤銷表空間 83 4.6.1 管理撤銷表空間的方式 84 4.6.2 創建與管理撤銷表空間 85 4.7 練習4-2:管理撤銷表空間 89 4.8 擴展練習 90 第5章 表 91 5.1 創建表 91 5.1.1 數據類型 91 5.1.2 創建Oracle數據表 93 5.1.3 指定表空間 94 5.1.4 指定存儲參數 95 5.2.1 指定重做日志 96 5.2 練習5-1:創建圖書信息表 97 5.3 修改數據表 97 5.3.1 增加和刪除列 98 5.3.2 更新列 99 5.3.3 重命名表 100 5.3.4 改變表的存儲表空間和存儲 參數 101 5.3.5 刪除表定義 102 5.4 練習5-2:修改會員信息表 102 5.5 表的完整性約束 103 5.5.1 約束的分類和定義 103 5.5.2 NOT NULL約束 104 5.5.3 PRIMARY KEY約束 106 5.5.4 UNIQUE約束 107 5.5.5 CHECK約束 109 5.5.6 FOREIGN KEY約束 110 5.5.7 DISABLE和ENABLE 約束 113 5.6 練習5-3:創建學生信息表和 班級表 114 5.7 擴展練習 115 第6章 控制文件與日志文件的 管理 116 6.1 管理控制文件 116 6.1.1 控制文件概述 116 6.1.2 創建控制文件 117 6.1.3 備份控制文件 121 6.1.4 恢復控制文件 122 6.1.5 控制文件的移動與刪除 123 6.1.6 查看控制文件信息 125 6.2 管理重做日志文件 126 6.2.1 日志文件概述 126 6.2.2 創建日志文件組及其成員 127 6.2.3 重新定義日志文件成員 129 6.2.4 刪除日志文件組及其 成員 131 6.2.5 切換日志文件組 132 6.2.6 清空日志文件組 132 6.2.7 查看日志文件信息 134 6.3 管理歸檔日志 135 6.3.1 日志操作模式 135 6.3.2 歸檔日志概述 136 6.3.3 設置數據庫模式 137 6.3.4 設置歸檔目標 139 6.3.5 歸檔文件格式 140 6.3.6 設置歸檔進程的跟蹤級別 142 6.3.7 查看歸檔日志信息 143 6.4 練習6-1:恢復非歸檔模式下的 控制文件和日志文件 145 6.5 練習6-2:恢復單個控制文件 147 6.6 擴展練習 147 第7章 SQL基礎 149 7.1 基本查詢 149 7.1.1 查詢語句——SELECT 149 7.1.2 指定過濾條件——WHERE 子句 151 7.1.3 獲取唯一記錄—— DISTINCT 154 7.1.4 分組——GROUP BY 子句 154 7.1.5 過濾分組——HAVING 子句 156 7.1.6 排序——ORDER BY 子句 156 7.2 其他DML語句 158 7.2.1 插入數據——INSERT 操作 158 7.2.2 更新數據——UPDATE 操作 160 7.2.3 刪除數據——DELETE 操作 161 7.2.4 合并數據——MERGE 操作 161 7.3 基本函數 163 7.3.1 字符串函數 163 7.3.2 數值函數 167 7.3.3 日期函數 170 7.3.4 聚合函數 172 7.4 數據一致性與事務管理 174 7.4.1 Oracle中的數據一致性與 事務 174 7.4.2 Oracle中的事務處理 174 7.4.3 事務處理原則 176 7.5 練習7-1:學生信息表的合并 178 7.6 練習7-2:統計各個部門最近一個 月的入職人數 179 7.7 練習7-3:打印各個部門的員工 工資詳情 179 7.8 練習7-4:統計各個部門員工的最 高工資 180 7.9 擴展練習 180 第8章 子查詢與高級查詢 182 8.1 子查詢 182 8.1.1 子查詢類型 182 8.1.2 實現單行子查詢 183 8.1.3 實現多列子查詢 185 8.1.4 實現多行子查詢 187 8.1.5 實現關聯子查詢 189 8.1.6 實現嵌套子查詢 191 8.2 連接查詢 192 8.2.1 使用等號(=)實現多個表 的簡單連接查詢 193 8.2.2 使用INNER JOIN實現多 個表的內連接 193 8.2.3 使用OUTER JOIN實現多 個表的外連接 194 8.3 使用集合操作符 196 8.3.1 求并集(記錄唯一)—— UNION運算 197 8.3.2 求并集——UNION ALL 運算 198 8.3.3 求交集——INTERSECT 運算 198 8.3.4 求差集——MINUS 運算 199 8.4 練習8-1:統計工資最高的第6到 第10位之間的員工 199 8.5 練習8-2:統計不同工資范圍內的 員工人數 201 8.6 練習8-3:獲取平均工資最高的 部門信息 201 8.7 練習8-4:獲取部門編號為100的 所有員工信息 202 8.8 擴展練習 202 第9章 PL/SQL基礎 204 9.1 PL/SQL概述 204 9.1.1 PL/SQL語言特點 204 9.1.2 PL/SQL代碼編寫規則 205 9.2 PL/SQL編程結構 206 9.2.1 PL/SQL程序塊的基本 結構 206 9.2.2 PL/SQL數據類型 207 9.2.3 變量和常量 208 9.2.4 復合數據類型 209 9.2.5 運算符與表達式 211 9.2.6 PL/SQL注釋 212 9.3 條件選擇語句 213 9.3.1 IF條件選擇語句 213 9.3.2 CASE表達式 215 9.4 循環語句 219 9.4.1 LOOP循環語句 219 9.4.2 WHILE循環語句 221 9.4.3 FOR循環語句 222 9.5 練習9-1:打印九九乘法口訣表 223 9.6 游標 224 9.6.1 聲明游標 224 9.6.2 打開游標 225 9.6.3 檢索游標 226 9.6.4 關閉游標 226 9.6.5 游標屬性 226 9.6.6 簡單游標循環 228 9.6.7 游標FOR循環 228 9.6.8 使用游標更新或刪除數據 229 9.7 異常 231 9.7.1 異常處理 231 9.7.2 預定義異常 231 9.7.3 非預定義異常 232 9.7.4 自定義異常 234 9.8 練習9-2:更新員工工資 235 9.9 練習9-3:獲取指定部門下的所有 員工信息 236 9.10 擴展練習 237 第10章 PL/SQL高級應用 239 10.1 存儲過程 239 10.1.1 創建與調用存儲過程 239 10.1.2 存儲過程的參數 241 10.1.3 修改與刪除存儲過程 244 10.1.4 查看存儲過程的定義 信息 245 10.2 練習10-1:添加學生 245 10.3 函數 246 10.3.1 函數的基本操作 246 10.3.2 函數的參數 248 10.4 練習10-2:計算指定部門編號的 員工平均工資 250 10.5 觸發器 252 10.5.1 觸發器的類型 252 10.5.2 創建觸發器 252 10.5.3 DML觸發器 253 10.5.4 INSTEAD OF觸發器 257 10.5.5 數據庫事件觸發器 259 10.5.6 DDL觸發器 262 10.5.7 觸發器的基本操作 263 10.6 練習10-3:使用觸發器自動為 主鍵列賦值 264 10.7 程序包 265 10.7.1 程序包的優點 266 10.7.2 程序包的定義 267 10.7.3 調用程序包中的元素 268 10.7.4 刪除程序包 269 10.8 練習10-4:管理員工工資 269 10.9 擴展練習 271 第11章 其他模式對象 272 11.1 索引 272 11.1.1 索引的類型 272 11.1.2 指定索引選項 275 11.1.3 創建B樹索引 276 11.1.4 創建位圖索引 277 11.1.5 創建反向鍵索引 278 11.1.6 創建基于函數的索引 278 11.1.7 管理索引 279 11.2 練習11-1:為產品表創建索引并 管理 281 11.3 臨時表 282 11.3.1 臨時表的特點 282 11.3.2 創建與使用臨時表 283 11.4 視圖 285 11.4.1 創建視圖 285 11.4.2 可更新的視圖 286 11.4.3 刪除視圖 287 11.5 練習11-2:為customer表創建 視圖并修改 288 11.6 序列 289 11.6.1 創建序列 289 11.6.2 修改序列 290 11.6.3 刪除序列 291 11.7 練習11-3:為用戶注冊表創建 序列 291 11.8 同義詞 292 11.9 擴展練習 293 第12章 用戶角色、權限與安全 295 12.1 用戶和模式 295 12.1.1 用戶 295 12.1.2 模式 296 12.2 管理用戶 298 12.2.1 創建用戶 298 12.2.2 修改用戶 300 12.2.3 刪除用戶 301 12.2.4 管理用戶會話 302 12.3 用戶配置文件 303 12.3.1 創建用戶配置文件 303 12.3.2 使用配置文件 305 12.3.3 查看配置文件信息 306 12.3.4 修改與刪除配置文件 306 12.4 權限 307 12.4.1 系統權限 307 12.4.2 對象權限 311 12.5 角色 315 12.5.1 角色概述 315 12.5.2 系統預定義角色 316 12.5.3 創建角色 318 12.5.4 為角色授予權限 319 12.5.5 修改用戶的默認角色 319 12.5.6 管理角色 320 12.5.7 查看角色信息 322 12.6 練習12-1:創建用戶并修改 密碼 324 12.7 練習12-2:為新用戶newuser 創建配置文件 324 12.8 練習12-3:為新用戶newuser 創建對象權限 324 12.9 擴展練習 325 第13章 SQL語句優化 326 13.1 一般的SQL語句優化技巧 326 13.1.1 SELECT語句中避免使 用“*” 326 13.1.2 WHERE條件的合理 使用 327 13.1.3 使用TRUNCATE替代 DELETE 329 13.1.4 在確保完整性的情況下 多用COMMIT語句 330 13.1.5 盡量減少表的查詢次數 330 13.1.6 使用EXISTS替代IN 331 13.1.7 使用EXISTS替代 DISTINCT 332 13.1.8 使用“<=”替代“<” 334 13.1.9 使用完全限定的列引用 334 13.2 合理連接表 335 13.2.1 選擇最有效率的表名順序 336 13.2.2 WHERE子句的條件順序 337 13.3 有效使用索引 338 13.3.1 使用索引來提高效率 338 13.3.2 使用索引的基本原則 339 13.3.3 避免對索引列使用NOT 關鍵字 339 13.3.4 避免對唯一索引列使用IS NULL或IS NOT NULL 340 13.3.5 選擇復合索引主列 342 13.3.6 監視索引是否被使用 343 13.4 擴展練習 343 第14章 數據加載與傳輸 345 14.1 Data Pump工具 345 14.1.1 Data Pump工具概述 345 14.1.2 與數據泵相關的數據字典 視圖 346 14.1.3 使用Data Pump工具前的 準備 346 14.2 Data Pump Export工具 347 14.2.1 Data Pump Export選項 348 14.2.2 使用Data Pump Export 351 14.3 練習14-1:導出產品價格表 356 14.4 Data Pump Import工具 357 14.4.1 Data Pump Import選項 357 14.4.2 使用Data Pump Import 360 14.5 SQL*Loader 363 14.5.1 SQL*Loader概述 363 14.5.2 數據加載示例 365 14.6 練習14-2:導入用戶信息到user 表中 368 14.7 擴展練習 369 第15章 使用RMAN工具備份與 恢復 370 15.1 RMAN簡介 370 15.1.1 RMAN的特點 370 15.1.2 RMAN組件 371 15.1.3 保存RMAN資料檔案庫 374 15.1.4 配置RMAN 376 15.2 RMAN的基本操作 380 15.2.1 RMAN命令 380 15.2.2 連接到目標數據庫 381 15.2.3 取消注冊數據庫 383 15.3 使用RMAN備份數據庫 384 15.3.1 RMAN備份類型 384 15.3.2 BACKUP命令 387 15.3.3 備份數據庫 388 15.3.4 多重備份 393 15.3.5 鏡像復制 393 15.4 練習15-1:備份整個數據庫 394 15.5 RMAN恢復 395 15.5.1 RMAN恢復機制 395 15.5.2 數據庫非歸檔恢復 397 15.5.3 數據庫歸檔恢復 399 15.5.4 移動數據文件到新的位置 401 15.6 練習15-2:備份和恢復userinfo 表空間 402 15.7 擴展練習 403 第16章 ATM自動取款機系統數據庫 設計 404 16.1 系統分析 404 16.2 數據庫設計 405 16.3 創建系統數據表 407 16.3.1 創建表空間和用戶 407 16.3.2 創建用戶信息表 408 16.3.3 創建銀行卡信息表 409 16.3.4 創建交易信息表 411 16.4 模擬常規業務操作和創建視圖 412 16.4.1 模擬常規業務操作 412 16.4.2 創建視圖 415 16.5 業務辦理 419 16.5.1 更新賬號 419 16.5.2 實現簡單的交易操作 420 16.5.3 用戶開戶 422 16.5.4 修改密碼 424 16.5.5 賬號掛失 425 16.5.6 辦理存取款業務 426 16.5.7 余額查詢 428 16.5.8 辦理轉賬業務 429 16.5.9 統計銀行的資金流通余 額和盈利結算 431 16.5.10 撤戶 431 ?? ?? ?? ?? 本書以Oracle 11g for Window XP為平臺,深入淺出、循序漸進地介紹了Oracle 11g的基本語法和基本操作。全書內容包括Oracle安裝配置、Oracle常用開發工具、SQL*Plus、數據表、視圖、約束、函數與存儲過程、觸發器、序列、索引、用戶與角色、內置函數、控制語句、SQL查詢及更新語句、SQL語句優化、數據庫的備份與恢復、數據的傳輸與加載等,最后還介紹了一個綜合案例——ATM取款機系統。
本書可以作為Oracle數據庫基礎入門學習書籍,也可以幫助中級讀者提高使用數據的技能,適合大專院校在校學生、程序開發人員以及編程愛好者學習和參考。 數據庫在如今的各大行業中都有著舉足輕重的地位,而Oracle數據庫則是數據庫系統中的佼佼者,其安全性、完整性、一致性等優點深受廣大企業的青睞,因此在數據庫領域中占據著很重要的地位。
Oracle Database 11g R2的最大亮點是RAC(Real Application Clusters,真應用集群)技術,同時它較之前的版本存在4個顯著的新特性:通過網格整合降低服務器成本、降低存儲成本、消除未使用的冗余和提高數據倉庫性能。本書針對Oracle Database 11g R2,以Oracle數據庫的常用知識點作為主要介紹對象,簡化甚至省略生僻的知識,目的就是為了讓讀者輕松地叩開Oracle數據庫的大門,為以后更深入的學習打下良好的基礎。 本書內容 本書共分為16章,主要內容如下: 第1章Oracle 11g關系數據庫:簡單介紹關系數據模型與關系數據庫的范式理論,并詳細介紹數據庫的設計、Oracle 11g R2在Windows環境下的安裝過程,以及數據庫的創建,最后介紹Oracle數據庫的默認用戶和OEM的使用。 第2章Oracle數據庫的體系結構:主要介紹Oracle數據庫體系結構中的物理存儲結構和邏輯存儲結構,以及Oracle的進程結構和內存結構,并簡單介紹Oracle數據庫數據字典的概念及常用數據字典。 第3章使用SQL*Plus工具:主要介紹SQL*Plus命令的使用,包括DESCRIBE、SAVE、GET、EDIT和SPOOL命令,以及查詢結果的格式化等命令,并簡單介紹在SQL*Plus如何聲明和使用變量。 第4章管理表空間:主要介紹基本表空間、臨時表空間和撤銷表空間的管理,包括表空間的創建、重命名、修改、移動和刪除等操作。 第5章表:主要介紹表的創建和數據表中列的修改等操作,并詳細介紹表的完整性約束。 第6章控制文件與日志文件的管理:首先介紹控制文件的管理,包括控制文件的創建、備份、恢復、移動、刪除和查詢;然后介紹日志文件的管理,包括日志文件組及其成員的創建、重定義和刪除;最后介紹歸檔日志的管理,包括歸檔目標的設置和歸檔進程的跟蹤級別設置。 第7章SQL基礎:主要介紹Oracle數據庫的SQL語言基礎,包括DML語句的使用和基本函數的使用,并在最后簡單介紹Oracle事務的管理以及數據的一致性。 第8章子查詢與高級查詢:主要介紹不同類型子查詢的應用,以及連接查詢和聯合語句查詢的應用。 第9章PL/SQL基礎:首先介紹PL/SQL的語言特點、編寫規則以及PL/SQL的編程結構,然后介紹PL/SQL中的條件選擇語句和循環語句的使用,最后介紹游標的創建、使用以及PL/SQL中的異常處理機制。 第10章PL/SQL高級應用:主要介紹PL/SQL命名程序塊的管理,包括存儲過程、自定義函數,以及觸發器和程序包的創建、使用、修改和刪除等操作。 第11章其他模式對象:主要介紹不同類型索引的創建和使用,以及臨時表、視圖、序列和同義詞的創建、修改、刪除等操作。 第12章用戶角色、權限與安全:主要介紹用戶的創建和管理,以及系統權限和對象權限的異同,并詳細介紹Oracle數據庫中角色的創建和管理,包括用戶默認角色的修改、角色的啟用和禁用、角色的修改和刪除。 第13章SQL語句優化:主要介紹一般的SQL語句優化技巧、表的合理連接和索引的有效使用。 第14章數據加載與傳輸:首先簡單介紹Data Pump工具的特點,以及使用該工具前所做的準備,然后詳細介紹使用Data Pump Export導出數據的具體應用和使用Data Pump Import導入數據的具體應用,最后介紹SQL*Loader工具的使用。 第15章使用RMAN工具備份與恢復:主要介紹使用RMAN工具實現對數據庫進行備份和恢復的操作步驟。 第16章ATM自動取款機系統數據庫設計:通過一個完整的案例介紹Oracle在實際開發中的具體應用,從中可以了解Oracle數據庫在實際開發中的典型應用。 本書特色 本書大量內容來自真實的Oracle程序,力求通過實際操作的方法使讀者更容易掌握Oracle數據庫應用。本書還引用了大量來自一線論壇的問題,力求對讀者提出的疑難問題給出正確的答案。本書難度適中,內容由淺入深,實用性強,覆蓋面廣,條理清晰。 ? 面向職業技術教學 本書是作者在總結了多年開發經驗與成果的基礎上編寫的,以實際項目為中心,全面、翔實地介紹了Oracle開發所需的各種知識和技能。通過對本書的學習,讀者可以快速、全面地掌握使用Oracle進行實際的開發。本書體現了作者“項目驅動、案例教學、理論實踐一體化”的教學理念,是一本真正面向職業技術教學的教材。 ? 合理的知識結構 面向IT程序員以及數據庫管理員的職業培訓市場,結合實際的開發實踐介紹了Oracle知識,突出了職業的實用性。全書各章都貫穿有示例,帶領讀者經歷Oracle數據庫的應用,是一本真正的實訓性案例教程。 ? 真實的案例教學 針對每個知識點,本書設計了針對性強的教學案例,這些案例既相對獨立,又具有一定的聯系,是綜合性開發示例的組成部分。學生在實現這些案例的過程中可以掌握每個知識點。 ? 理論實踐一體化 在每個案例中有機地融合了知識點講解和技能訓練目標,融“教、學、練”于一體。每個案例的講解都先提出功能目標,然后是示例實現演示,讓學生掌握案例的完成過程,體現“在練中學,學以致用”的教學理念。 ? 階梯式實踐環節 本書精心設置了3個教學環節:課堂練習、綜合實訓、擴展練習。讓學生通過不斷的練習實踐,實現Oracle技能的逐步推進,最終實現與職業能力的接軌。 讀者對象 本書具有知識全面、示例精彩、指導性強的特點,力求以全面的知識性及豐富的示例來指導讀者學習Oracle基礎知識。本書可以作為Oracle數據庫的入門書籍,也可以幫助中級讀者提高技能。 本書適合以下人員閱讀學習: ? 沒有數據庫應用基礎的Oracle入門人員。 ? 有一些數據庫應用基礎,并且希望全面學習Oracle數據庫的讀者。 ? 各大中專院校的在校學生和相關授課老師。 ? 相關社會培訓班的學員。 除了封面署名人員之外,參與本書編寫的人員還有馬海軍、李海慶、陶麗、王詠梅、康顯麗、郝軍啟、朱俊成、宋強、孫洪葉、袁江濤、張東平、吳鵬、王新偉、劉青鳳、湯莉、冀明、王超英、王丹花、閆琰、張麗莉、李衛平、王慧、牛紅惠、丁國慶、黃錦剛、李旎、王中行、李志國等。在編寫過程中難免會有漏洞,歡迎讀者通過我們的網站www.itzcn.com與我們聯系,幫助我們改正提高。 編 者 2008年3月 |