Oracle 數據庫管理從入門到精通
內容描述
<內容簡介>
《Oracle數據庫管理從入門到精通(附光盤)》以面嚮應用為原則,深入淺出地介紹了Oracle數據庫的管理和開發技術。書中通過大量的圖解和示例代碼,詳細介紹了Oracle的體系結構、PL/SQL的語言特性,並深入剖析了用PL/SQL進行Oracle開發的方方面面。為了便於讀者高效、直觀地學習,作者為本書重點內容錄製了13.6小時多媒體教學視頻。這些視頻及本書涉及的源代碼一起收錄於本書配套DVD光盤中。另外,光盤中還免費贈送了7.8小時Oracle PL/SQL教學視頻和大量的PL/SQL實例代碼,供讀者進一步學習參考。 全書共24章,分為6篇。涵蓋的內容主要有關係型數據庫基礎、Oracle的安裝和管理、體系結構、網絡結構、物理和邏輯結構的維護和管理、SQL語言的應用、PL/SQL語言基礎、開發環境、控制語句、數據表的管理和查詢、數據表的操作、使用PL/SQL的記錄與集合、各種內置函數、光標、事務處理、異常處理、子程序、包、Oracle的安全性、表空間和數據文件的管理、數據庫的備份和恢復等,最後還通過兩個現實案例介紹了Oracle編程的經驗和技巧。 本書適用於Oracle數據庫管理人員、使用PL/SQL進行應用程序開發的人員、對軟件開發有興趣的學生及愛好者。另外,本書對於網絡管理員、企業IT運維人員也具有很強的指導作用。
<目錄>
第1篇 Oracle基礎第1章 認識關係型數據庫( 教學視頻:37分鐘) 2 1.1 理解數據庫 2 1.1.1 什麼是關係型數據庫 2 1.1.2 實體關係模型 3 1.1.3 關係型數據庫管理系統RDBMS 5 1.1.4 使用SQL語言管理數據庫 6 1.2 認識數據庫範式 7 1.2.1 什麼是數據庫範式 7 1.2.2第一範式1NF 8 1.2.3第二範式2NF 9 1.2.4第三範式3NF 10 1.3 認識Oracle數據庫系統 10 1.3.1 Oracle數據庫特性 10 1.3.2 Oracle數據庫管理員 12 1.3.3 數據庫管理員任務列表 13 1.3.4 Oracle數據庫系統的組成 15 1.3.5 與SQL Server數據庫的比較 16 1.4 安裝Oracle數據庫 18 1.4.1 獲取Oracle數據庫軟件 18 1.4.2 使用Oracle技術與文檔庫 19 1.4.3 安裝Oracle數據庫系統 20 1.4.4 卸載Oracle數據庫 29 1.5 小結 31第2章 創建和連接Oracle數據庫( 教學視頻:43分鐘) 33 2.1 創建Oracle數據庫 33 2.1.1 使用DBCA創建數據庫 33 2.1.2 使用靜默方式創建數據庫 41 2.1.3 刪除現有數據庫 43 2.1.4 手動安裝數據庫 45 2.2 啟動和停止Oracle數據庫服務 50 2.2.1 啟動和停止監聽程序 51 2.2.2 啟動數據庫 54 2.2.3 限制數據庫的訪問 56 2.2.4 關閉數據庫 57 2.3 Oracle客戶端工具 59 2.3.1 安裝Oracle客戶端 59 2.3.2 客戶端網絡配置工具 62 2.3.3 使用Oracle企業管理器 65 2.3.4 使用SQLPlus 67 2.3.5 使用Oracle SQL Developer 69 2.3.6 使用PL/SQL Developer 71 2.3.7 使用Toad 73 2.4 小結 76第3章 SQL語言與SQLPlus( 教學視頻:34分鐘) 77 3.1 SQL語言基礎 77 3.1.1 SQL、SQLPlus與Oracle的關係 77 3.1.2 SQL語言的特點 78 3.1.3 SQL語言的分類 80 3.1.4 SQL語言的編寫規則 81 3.2 認識SQLPlus 83 3.2.1 SQLPlus的功能 83 3.2.2 啟動SQL Plus 84 3.2.3 重新連接數據庫 86 3.2.4 SQLPlus運行環境設置 86 3.2.5 使用命令幫助 88 3.3 操作數據庫 90 3.3.1 執行SQL與PL/SQL代碼 90 3.3.2 瞭解SQLPlus緩衝區 92 3.3.3 運行腳本文件 94 3.3.4 顯示表結構 95 3.3.5 使用替換變量 97 3.3.6 運行操作系統命令 98 3.3.7 斷開和退出SQLPlus 99 3.4 格式化查詢結果 100 3.4.1 格式化列 100 3.4.2 清除列格式 103 3.4.3 限制重複行 103 3.4.4 使用匯總行 105 3.5 小結 106第4章 認識Oracle體系結構( 教學視頻:20分鐘) 107 4.1 Oracle實例內存管理 107 4.1.1 Oracle內存結構 107 4.1.2 系統全局區SGA 108 4.1.3 程序全局區PGA 112 4.1.4 數據庫緩衝區高速緩存 114 4.1.5 共享池 117 4.1.6 重做日誌緩衝區 118 4.1.7 其他內存結構 119 4.2 Oracle實例進程結構 120 4.2.1 用戶進程與服務器進程 120 4.2.2 PMON與SMON進程 123 4.2.3 DBWn與LGWR進程 125 4.2.4 CKPT與ARCn進程 126 4.3 小結 128第2篇 管理方案對象第5章 創建和管理表( 教學視頻:52分鐘) 130 5.1 表和表列 130 5.1.1 表和實體 130 5.1.2 表的分類 131 5.1.3 表和列命名規則 132 5.1.4 列數據類型 133 5.2 創建表 136 5.2.1 使用設計器建表 136 5.2.2 創建標準表 139 5.2.3 全局臨時表 141 5.2.4 索引組織表 144 5.2.5 使用外部表 145 5.2.6 使用DUAL表 149 5.2.7 數據字典中的表信息 151 5.3 修改表 152 5.3.1 添加表列 152 5.3.2 使用虛擬列 154 5.3.3 修改表列 156 5.3.4 刪除表列 158 5.3.5 重命名錶列 160 5.3.6 重命名錶 160 5.3.7 刪除數據表 161 5.4 小結 162第6章 索引和約束( 教學視頻:36分鐘) 163 6.1 創建索引 163 6.1.1 索引的作用 163 6.1.2 索引的原理 166 6.1.3 索引的分類 168 6.1.4 創建B樹索引 170 6.1.5 創建位圖索引 173 6.1.6 創建函數索引 175 6.1.7 修改索引 176 6.1.8 重命名索引 177 6.1.9 重建和合併索引 178 6.1.10 不可見和不可用的索引 180 6.1.11 索引的監控 181 6.1.12 刪除索引 182 6.1.13 查看索引信息 183 6.1.14 索引創建策略 185 6.1.15 創建和管理索引的一般性指南 185 6.2 創建約束 186 6.2.1 理解約束 186 6.2.2 主鍵約束 188 6.2.3 外鍵約束 190 6.2.4 級聯關係 192 6.2.5 外鍵與索引 194 6.2.6 檢查約束 195 6.2.7 唯一性約束 198 6.3 管理約束 199 6.3.1 修改約束 199 6.3.2 添加約束 200 6.3.3 重命名約束 201 6.3.4 刪除約束 202 6.3.5 約束的狀態 203 6.3.6 查詢約束信息 206 6.4 小結 207第7章 視圖( 教學視頻:28分鐘) 208 7.1 視圖基礎 208 7.1.1 什麼是視圖 208 7.1.2 視圖的分類 209 7.1.3 視圖創建語法 211 7.1.4 創建簡單視圖 212 7.1.5 創建複雜視圖 215 7.1.6 視圖的修改 217 7.1.7 視圖的刪除 218 7.2 內聯視圖 219 7.2.1 什麼是內聯視圖 219 7.2.2 內聯視圖執行順序 221 7.2.3 內聯視圖與DML語句 223 7.3 物化視圖 224 7.3.1 什麼是物化視圖 225 7.3.2 創建物化視圖 228 7.3.3 修改物化視圖 231 7.3.4 刪除物化視圖 233 7.4 小結 233第8章 序列和同義詞( 教學視頻:24分鐘) 234 8.1 使用序列 234 8.1.1 序列的作用 234 8.1.2 創建自增序列 236 8.1.3 NEXTVAL和CURRVAL偽列 238 8.1.4 修改序列 241 8.1.5 刪除序列 242 8.1.6 查看序列 242 8.2 使用同義詞 244 8.2.1 同義詞的作用 244 8.2.2 創建和使用同義詞 245 8.2.3 刪除同義詞 246 8.2.4 查看同義詞 247 8.3 小結 248第3篇 使用SQL語言第9章 SQL查詢( 教學視頻:50分鐘) 250 9.1 基本查詢 250 9.1.1 SELECT語法 250 9.1.2 查詢指定列數據 251 9.1.3 用DISTINCT去除重複值 253 9.1.4 表達式查詢 254 9.1.5 使用WHERE限制返回的行 257 9.1.6 BETWEEN、IN和LIKE範圍查詢 259 9.1.7 處理NULL列值 263 9.1.8 AND、OR、NOT邏輯運算符 264 9.1.9 使用ORDER BY排序 267 9.1.10 ROWNUM偽列 269 9.1.11 ROWID偽列 271 9.1.12 使用CASE表達式 274 9.2 多表連接查詢 276 9.2.1 理解多表查詢 276 9.2.2 內連接 278 9.2.3 外連接 281 9.2.4 自引用連接 284 9.2.5 交叉連接 285 9.2.6 自然連接 286 9.3 集合和子查詢 288 9.3.1 理解集合運算 288 9.3.2 UNION聯合運算與UNION ALL全聯合運算 289 9.3.3 INTERSECT交集運算 291 9.3.4 MINUS差集運算 292 9.3.5 理解子查詢 293 9.3.6 非相關子查詢 294 9.3.7 單行單列子查詢 296 9.3.8 多行單列子查詢 297 9.3.9 相關子查詢 299 9.4 分組查詢 301 9.4.1 理解分組查詢 301 9.4.2 分組函數 302 9.4.3 使用GROUP BY子句分組 305 9.4.4 使用HAVING子句限制結果集 308 9.4.5 使用ROLLUP和CUBE 310 9.4.6 使用GROUPING SETS子句 312 9.5 小結 313第10章 操作數據表( 教學視頻:25分鐘) 314 10.1 插入數據 314 10.1.1 理解DML語言 314 10.1.2 使用INSERT語句 316 10.1.3 插入默認值和空值 317 10.1.4 使用子查詢插入多行數據 319 10.1.5 插入多表數據 320 10.2 更新數據 324 10.2.1 使用UPDATE語句 324 10.2.2 使用子查詢更新多行記錄 325 10.2.3 使用RETURNING子句 329 10.3 刪除數據 331 10.3.1 使用DELETE語句 331 10.3.2 使用子查詢刪除記錄 333 10.3.3 使用TRUNCATE清空表數據 334 10.3.4 使用MERGE合併數據表 336 10.4 小結 338第11章 Oracle內置函數( 教學視頻:25分鐘) 339 11.1 函數基礎 339 11.1.1 函數的作用 339 11.1.2 函數的分類 341 11.2 字符型函數 342 11.2.1 字符型函數列表 342 11.2.2 ASCII和CHR函數 343 11.2.3 大小寫轉換函數 344 11.2.4 字符串處理函數 346 11.2.5 字符串替代函數 352 11.3 數字型函數 353 11.3.1 數字型函數列表 353 11.3.2 ABS和MOD函數 355 11.3.3 CEIL和FLOOR函數 355 11.3.4 ROUND和TRUNC函數 356 11.4 日期時間函數 357 11.4.1 日期時間函數列表 357 11.4.2 日期時間函數使用示例 358 11.4.3 使用EXTRACT截取日期信息 361 11.5 類型轉換函數 362 11.5.1 類型轉換函數列表 362 11.5.2 TO_CHAR字符串轉換函數 364 11.5.3 TO_DATE日期轉換函數 368 11.5.4 TO_NUMBER數字轉換函數 369 11.6 通用函數 370 11.6.1 通用函數列表 370 11.6.2 NVL和NVL2函數 371 11.6.3 NULLIF和COALESCE函數 373 11.6.4 DECODE函數 374 11.6.5 SYS_GUID函數 376 11.7 小結 377第4篇 PL/SQL編程第12章 使用PL/SQL創建Oracle程序( 教學視頻:39分鐘) 380 12.1 PL/SQL基礎 380 12.1.1 過程化程序設計 380 12.1.2 與SQL語言整合 381 12.1.3 提高程序性能 383 12.1.4 模塊化應用程序開發 384 12.1.5 面向對象的開發 386 12.2 PL/SQL語言概覽 387 12.2.1 PL/SQL塊 387 12.2.2 嵌套塊 390 12.2.3 變量和數據類型 393 12.2.4 程序控制語句 396 12.2.5 條件判斷語句 397 12.2.6 循環控制語句 402 12.2.7 順序控制語句 407 12.2.8 存儲過程、函數與包 409 12.2.9 觸發器簡介 412 12.2.10 結構化異常處理 414 12.2.11 集合與記錄 415 12.2.12 光標基礎 418 12.3 小結 420第13章 子程序和包( 教學視頻:45分鐘) 421 13.1 定義子程序 421 13.1.1 什麼是子程序 421 13.1.2 子程序的調試 423 13.1.3 創建過程 425 13.1.4 創建函數 429 13.1.5 使用RETURN語句 430 13.1.6 管理子程序 431 13.1.7 在SQL語句中使用函數 434 13.2 子程序參數 436 13.2.1 形式參數與實際參數 437 13.2.2 IN、OUT和IN OUT模式 438 13.2.3 參數調用方式 441 13.2.4 形式參數的約束 442 13.2.5 使用NOCOPY編譯提示 444 13.2.6 參數默認值 446 13.3 定義PL/SQL包 447 13.3.1 什麼是包(Package) 448 13.3.2 定義包規範 450 13.3.3 定義包體 453 13.3.4 子程序重載 455 13.3.5 調用包組件 458 13.3.6 重新編譯包 462 13.3.7 查看包的源代碼 463 13.4 小結 464第14章 記錄與集合( 教學視頻:33分鐘) 466 14.1 使用PL/SQL記錄 466 14.1.1 什麼是記錄 466 14.1.2 定義記錄類型 467 14.1.3 記錄類型賦值 471 14.1.4 使用記錄 478 14.2 使用集合類型 482 14.2.1 集合的分類 482 14.2.2 定義關聯數組 483 14.2.3 操作關聯數組 485 14.2.4 定義嵌套表 487 14.2.5 操作嵌套表 489 14.2.6 數據庫中的嵌套表 492 14.2.7 定義變長數組 495 14.2.8 操作變長數組 496 14.2.9 數據庫中的變長數組 498 14.3 小結 500第15章 觸發器和光標( 教學視頻:26分鐘) 501 15.1 理解觸發器 501 15.1.1 觸發器的作用 501 15.1.2 定義觸發器 503 15.1.3 觸發器的分類 505 15.2 DML觸發器 506 15.2.1 觸發器的執行順序 506 15.2.2 定義DML觸發器 508 15.2.3 使用條件謂詞 511 15.2.4 使用OLD和NEW偽記錄 512 15.2.5 使用REFERENCING子句 514 15.2.6 使用WHEN子句 515 15.2.7 觸發器的異常處理 516 15.2.8 理解自治事務 518 15.3 INSTEAD OF替代觸發器 520 15.3.1 什麼是替代觸發器 520 15.3.2 定義替代觸發器 521 15.3.3 UPDATE和DELETE替代觸發器 524 15.4 系統事件觸發器 526 15.4.1 定義系統觸發器 526 15.4.2 使用DDL觸發器 527 15.4.3 使用數據庫觸發器 530 15.4.4 SERVERERROR觸發器 533 15.5 光標 534 15.5.1 什麼是光標 535 15.5.2 定義光標 536 15.5.3 打開光標 538 15.5.4 提取光標數據 539 15.5.5 關閉光標 542 15.6 小結 542第16章 異常處理機制( 教學視頻:17分鐘) 543 16.1 理解異常處理 543 16.1.1 異常處理簡介 543 16.1.2 異常處理語法 545 16.1.3 預定義異常 547 16.2 自定義異常 550 16.2.1 聲明異常 550 16.2.2 異常的作用域範圍 551 16.2.3 使用EXCEPTION_INIT編譯指令 552 16.2.4 使用RAISE語句 553 16.2.5 使用RAISE_APPLICATION_ERROR 554 16.3 處理異常 556 16.3.1 使用WHEN子句 556 16.3.2 使用OTHERS異常處理器 557 16.3.3 使用SQLCODE和SQLERRM 559 16.4 小結 560第17章 動態SQL語句( 教學視頻:25分鐘) 561 17.1 理解動態SQL語句 561 17.1.1 動態SQL基礎 561 17.1.2 動態SQL使用時機 563 17.1.3 本地動態SQL 564 17.2 使用EXECUTE IMMEDIATE 566 17.2.1 EXECUTE IMMEDIATE語法 566 17.2.2 執行SQL語句和PL/SQL語句塊 566 17.2.3 使用綁定變量 568 17.2.4 使用RETURNING INTO子句 571 17.2.5 使用INTO子句 572 17.2.6 指定參數模式 573 17.3 多行查詢語句 574 17.3.1 使用OPEN FOR語句 575 17.3.2 使用FETCH語句 576 17.3.3 關閉光標變量 577 17.4 使用動態批量綁定 578 17.4.1 使用EXECUTE IMMEDIATE批量綁定 579 17.4.2 使用批量FETCH語句 581 17.4.3 使用批量FORALL語句 582 17.5 動態SQL的性能優化技巧 584 17.5.1 用綁定變量改善性能 584 17.5.2 重複的綁定佔位符 585 17.5.3 傳遞NULL參數 586 17.5.4 動態SQL異常處理 586 17.6 小結 587第18章 事務和鎖( 教學視頻:31分鐘) 588 18.1 使用Oracle事務 588 18.1.1 事務的特性 588 18.1.2 使用COMMIT提交事務 590 18.1.3 使用ROLLBACK回滾事務 591 18.1.4 使用SAVEPOINT保存點 592 18.1.5 事務的隔離級別 593 18.1.6 使用SET TRANSACTION設置事務屬性 595 18.2 使用Oracle鎖 597 18.2.1 什麼是鎖 597 18.2.2 使用鎖 599 18.2.3 DML鎖 601 18.2.4 DDL鎖 602 18.2.5 死鎖 603 18.2.6 使用LOCK TABLE語句 604 18.3 小結 606第5篇 Oracle維護第19章 數據庫安全性管理( 教學視頻:42分鐘) 608 19.1 用戶管理 608 19.1.1 用戶與方案簡介 608 19.1.2 創建用戶 610 19.1.3 修改用戶 614 19.1.4 刪除用戶 616 19.1.5 用戶概要文件 617 19.1.6 查詢用戶信息 620 19.2 權限管理 621 19.2.1 理解權限 621 19.2.2 分配權限 624 19.2.3 撤銷權限 628 19.2.4 查看權限 631 19.3 角色管理 633 19.3.1 角色簡介 633 19.3.2 創建角色 636 19.3.3 分配權限 637 19.3.4 管理角色 638 19.3.5 查看角色 642 19.4 小結 643第20章 數據庫空間管理( 教學視頻:17分鐘) 644 20.1 理解表空間 644 20.1.1 表空間概述 644 20.1.2 表空間分類 646 20.1.3 表空間的創建 647 20.1.4 創建普通表空間 649 20.1.5 創建大文件表空間 652 20.1.6 創建臨時表空間 653 20.1.7 創建撤銷表空間 654 20.2 管理表空間 655 20.2.1 調整表空間大小 655 20.2.2 調整離線和聯機狀態 657 20.2.3 調整隻讀和只寫狀態 658 20.2.4 更改表空間名稱 660 20.2.5 刪除表空間 660 20.2.6 查詢表空間信息 661 20.3 小結 665第21章 數據庫文件管理( 教學視頻:46分鐘) 666 21.1 管理控制文件 666 21.1.1 控制文件的重要性 666 21.1.2 創建控制文件 667 21.1.3 多路復用控制文件 672 21.1.4 備份/恢復控制文件 674 21.1.5 刪除控制文件 676 21.1.6 查看控制文件信息 677 21.2 管理數據文件 678 21.2.1 理解數據文件 679 21.2.2 創建數據文件 681 21.2.3 改變量據文件的大小 682 21.2.4 改變量據文件的可用性 683 21.2.5 改變量據文件的位置和名稱 686 21.2.6 查詢數據文件信息 688 21.3 管理重做日誌文件 691 21.3.1 重做記錄 691 21.3.2 重做日誌文件 692 21.3.3 重做日誌組 693 21.3.4 日誌切換和日誌序列號 694 21.3.5 歸檔重做日誌文件 695 21.3.6 多路復用重做日誌文件 697 21.3.7 創建重做日誌組和成員 698 21.3.8 刪除重做日誌組和成員 700 21.3.9 更改組成員的位置或名稱 703 21.3.10 清除重做日誌文件 704 21.3.11 查看重做日誌文件信息 705 21.4 小結 706第22章 備份和恢複數據庫( 教學視頻:49分鐘) 708 22.1 理解備份與恢復 708 22.1.1 什麼是備份與恢復 708 22.1.2 備份與恢復的方法 709 22.2 使用RMAN(恢復管理器) 711 22.2.1 設置歸檔日誌模式 712 22.2.2 認識RMAN 714 22.2.3 連接到RMAN 716 22.2.4 RMAN的基本操作 717 22.2.5 完整數據庫備份 719 22.2.6 備份表空間和數據庫文件 723 22.2.7 理解RMAN命令 727 22.2.8 創建增量備份 728 22.2.9 恢複數據庫 730 22.2.10 恢復表空間和數據庫文件 732 22.2.11 使用恢複目錄 733 22.3 小結 735第6篇 PL/SQL案例實戰第23章 基於PL/SQL物料報表程序( 教學視頻:25分鐘) 738 23.1 系統設計 738 23.1.1 物料清單BOM簡介 738 23.1.2 需求分析 739 23.1.3 系統流程 740 23.1.4 數據表ER關係圖 741 23.1.5 Oracle開發環境的搭建 743 23.2 系統編碼實現 744 23.2.1 創建包規範 745 23.2.2 獲取物料成本單價 746 23.2.3 層次化展開物料清單 748 23.2.4 編製BOM成本報表 751 23.2.5 定義調用主程序 755 23.3 小結 757第24章 PL/SQL採購訂單分析程序( 教學視頻:45分鐘) 758 24.1 系統設計 758 24.1.1 採購訂單分析簡介 758 24.1.2 需求分析 759 24.1.3 系統流程 759 24.1.4 數據表E-R流程 761 24.1.5 創建Oracle數據表 762 24.2 系統編碼實現 764 24.2.1 創建包規範 764 24.2.2 獲取採購訂單和訂單行數據 765 24.2.3 採購分析程序實現 771 24.2.4 設置訂單行的周範圍信息 774 24.2.5 定義調用主程序 777 24.3 小結 778