內容簡介
《軟體入門與提高叢書:Oracle 11g入門與提高》從初學者的角度出發,以通俗易懂的語言,通過豐富多彩的示例,詳細地介紹Oracle 11g資料庫管理中應該掌握的各方面技術。
本書共分14章,主要內容包括資料庫範式、E-R模式、Oracle安裝和體系結構、SQL Plus、數據類型、創建表、修改表的屬性、主鍵和外鍵約束、Select查詢、DML修改數據、表空間的創建和切換、控制檔案以及日誌檔案等。同時還介紹PL/SQL語言的基礎語法、控制語句、自定義函式和事務、觸發器和存儲過程的開發。最後通過酒店客房管理系統資料庫的開發,講解Oracle的實際套用。
本書適合所有Oracle資料庫管理人員、資料庫開發人員、系統維護人員、資料庫初學者及其他資料庫從業人員閱讀,也可以作為大中專院校相關專業的參考用書和相關培訓機構的培訓教材。
目錄
第1章 關係資料庫
1.1 資料庫簡介
1.1.1 什麼是數據和資料庫
1.1.2 資料庫發展史
1.1.3 資料庫模型
1.2 關係資料庫簡介
1.2.1 什麼是關係資料庫
1.2.2 關係資料庫術語
1.2.3 關係數據完整性
1.3 關係規範化
1.3.1 第一範式
1.3.2 第二範式
1.3.3 第三範式
1.3.4 函式依賴
1.4 資料庫建模
1.4.1 E-R模型
1.4.2 E-R圖
1.4.3 E-R模型轉換為關係模型
1.5 實踐案例:設計學生成績管理系統資料庫模型
1.6 思考與練習
1.7 練一練
第2章 深入了解Oracle 11g
2.1 Oracle 11g概述
2.2 安裝Oracle 11g
2.2.1 準備工作
2.2.2 實踐案例:Oracle 11g安裝過程詳解
2.2.3 實踐案例:驗證安裝結果
2.3 查看Oracle系統用戶
2.4 實踐案例:創建學生管理系統資料庫
2.5 Oracle的物理結構
2.5.1 控制檔案
2.5.2 數據檔案
2.5.3 重做日誌檔案
2.5.4 其他存儲結構檔案
2.6 Oracle的邏輯結構
2.6.1 表空間
2.6.2 段
2.6.3 區
2.6.4 塊
2.7 Oracle的記憶體結構
2.7.1 Oracle記憶體結構概述
2.7.2 系統全局區
2.7.3 程式全局區
2.8 Oracle的進程結構
2.8.1 Oracle進程結構概述
2.8.2 後台進程的結構
2.9 Oracle數據字典
2.9.1 數據字典概述
2.9.2 常用數據字典
2.10 思考與練習
2.11 練一練
第3章 Oracle管理工具
3.1 命令行工具--SQL Plus
3.1.1 運行SQL Plus
3.1.2 實踐案例:重啟資料庫
3.1.3 下線
3.2 SQL Plus實用命令
3.2.1 查看錶結構
3.2.2 編輯SQL語句
3.2.3 保存快取區內容
3.2.4 讀取內容到快取區
3.2.5 運行外部檔案的命令
3.2.6 編輯外部檔案的命令
3.2.7 將執行結果保存到檔案
3.3 SQL Plus中變數的使用
3.3.1 臨時變數
3.3.2 已定義變數
3.3.3 實踐案例:帶提示的變數
3.4 實踐案例:使用圖形管理工具SQL Developer
3.4.1 打開SQL Developer
3.4.2 連線Oracle
3.4.3 創建表
3.4.4 修改列
3.4.5 添加數據
3.4.6 導出數據
3.4.7 執行存儲過程
3.5 Web管理工具--OEM
3.5.1 運行OEM
3.5.2 使用OEM管理Oracle
3.6 實踐案例:Oracle Net Configuration Assistant工具
3.7 實踐案例:Oracle Net Manager工具
3.8 思考與練習
3.9 練一練
第4章 操作Oracle數據表
4.1 了解列的數據類型
4.2 創建數據表
4.2.1 數據表創建規則
4.2.2 使用CREATE TABLE語句
創建表
4.2.3 使用OEM工具創建表
4.3 添加表屬性
4.3.1 指定表空間
4.3.2 指定存儲參數
4.3.3 指定重做日誌
4.3.4 指定快取
4.4 修改表
4.4.1 修改表名
4.4.2 修改列
4.4.3 增加列
4.4.4 刪除列
4.4.5 修改表空間和存儲參數
4.4.6 刪除表
4.5 約束表中的數據
4.5.1 數據完整性簡介
4.5.2 約束的分類和定義
4.5.3 非空約束
4.5.4 主鍵約束
4.5.5 唯一性約束
4.5.6 檢查約束
4.5.7 外鍵約束
4.6 操作約束
4.6.1 查詢約束信息
4.6.2 禁止和激活約束
4.6.3 驗證約束
4.6.4 延遲約束
4.7 實踐案例:創建藥品信息表
4.8 思考與練習
4.9 練一練
第5章 查詢表數據
5.1 了解SQL語言
5.1.1 SQL語言的特點
5.1.2 SQL語言分類
5.1.3 SQL語句的編寫規則
5.2 了解SELECT語句的語法
5.3 簡單查詢
5.3.1 查詢所有列
5.3.2 查詢指定列
5.3.3 為結果列添加別名
5.3.4 查詢不重複數據
5.3.5 查詢計算列
5.3.6 分頁查詢
5.4 按條件查詢
5.4.1 比較條件
5.4.2 範圍條件
5.4.3 邏輯條件
5.4.4 模糊條件
5.4.5 列表運算符
5.4.6 未知值條件
5.5 規範查詢結果
5.5.1 排序
5.5.2 分組
5.5.3 篩選
5.6 實踐案例:查詢藥品信息
5.7 思考與練習
5.8 練一練
第6章 高級查詢
6.1 子查詢
6.1.1 子查詢的注意事項
6.1.2 在WHERE子句中的單行子查詢
6.1.3 在HAVING子句中的單行子查詢
6.1.4 單行子查詢經常遇到的錯誤
6.1.5 子查詢中的IN操作符
6.1.6 子查詢中的ANY操作符
6.1.7 子查詢中的ALL操作符
6.1.8 子查詢中的EXISTS操作符
6.1.9 在UPDATE中使用子查詢
6.1.10 在DELETE中使用子查詢
6.1.11 多層嵌套子查詢
6.2 多表查詢
6.2.1 笛卡兒積
6.2.2 基本連線
6.3 內連線
6.3.1 等值內連線
6.3.2 非等值內連線
6.3.3 自然連線
6.4 外連線
6.4.1 左外連線
6.4.2 右外連線
6.4.3 完全連線
6.5 交叉連線
6.6 使用UNION操作符
6.6.1 獲取並集
6.6.2 獲取交集
6.7 差查詢
6.8 交查詢
6.9 實踐案例:查詢圖書借閱信息
6.10 思考與練習
6.11 練一練
第7章 修改表數據
7.1 插入數據
7.1.1 INSERT語句簡介
7.1.2 插入單行數據
7.1.3 插入多行數據
7.2 更新數據
7.2.1 UPDATE語句簡介
7.2.2 UPDATE語句的套用
7.3 刪除數據
7.3.1 DELETE語句簡介
7.3.2 DELETE語句的套用
7.3.3 清空表
7.4 MERGE語句
7.4.1 MERGE語句簡介
7.4.2 省略INSERT子句
7.4.3 省略UPDATE子句
7.4.4 帶條件的UPDATE和
INSERT子句
7.4.5 使用常量表達式
7.4.6 使用DELETE語句
7.5 思考與練習
7.6 練一練
第8章 Oracle表空間的管理
8.1 認識Oracle表空間
8.1.1 Oracle的邏輯和物理結構
8.1.2 表空間的分類
8.1.3 表空間的狀態
8.2 實踐案例:創建一個表空間
8.3 維護表空間
8.3.1 本地化管理
8.3.2 增加數據檔案
8.3.3 修改數據檔案
8.3.4 移動數據檔案
8.3.5 刪除表空間
8.4 實踐案例:設定默認表空間
8.5 臨時表空間
8.5.1 理解臨時表空間
8.5.2 創建臨時表空間
8.5.3 實踐案例:管理臨時表空間
8.5.4 臨時表空間組
8.6 還原表空間
8.6.1 創建還原表空間
8.6.2 管理還原表空間
8.6.3 更改還原表空間的方式
8.7 實踐案例:創建圖書管理系統的表空間
8.8 思考與練習
8.9 練一練
第9章 管理Oracle控制檔案和日誌檔案
9.1 Oracle控制檔案簡介
9.2 管理控制檔案
9.2.1 創建控制檔案
9.2.2 查詢控制檔案信息
9.2.3 備份控制檔案
9.2.4 恢復控制檔案
9.2.5 移動控制檔案
9.2.6 刪除控制檔案
9.3 Oracle日誌檔案簡介
9.4 管理日誌檔案
9.4.1 查看日誌組信息
9.4.2 創建日誌組
9.4.3 刪除日誌組
9.4.4 手動切換組
9.4.5 清空日誌組
9.5 日誌組成員
9.5.1 添加成員
9.5.2 刪除成員
9.5.3 重定義成員
9.6 歸檔日誌
9.6.1 設定資料庫模式
9.6.2 設定歸檔目標
9.7 實踐案例:查看數據檔案、控制檔案和日誌檔案
9.8 思考與練習
9.9 練一練
第10章 Oracle編程PL/SQL基礎
10.1 PL/SQL簡介
10.1.1 認識PL/SQL語言
10.1.2 PL/SQL編寫規則
10.2 PL/SQL的基本結構
10.2.1 數據類型
10.2.2 變數和常量
10.2.3 運算符
10.2.4 注釋
10.3 控制語句
10.3.1 PL/SQL程式塊
10.3.2 IF語句
10.3.3 CASE語句
10.3.4 LOOP語句
10.3.5 WHILE語句
10.3.6 FOR語句
10.3.7 實踐案例:列印九九乘法口訣表
10.4 異常處理
10.4.1 異常處理語句
10.4.2 系統異常
10.4.3 非系統異常
10.4.4 自定義異常
10.5 實踐案例:獲取指定部門下的所有員工信息
10.6 思考與練習
10.7 練一練
第11章 PL/SQL編程高級套用
11.1 使用PL/SQL集合
11.1.1 索引表
11.1.2 嵌套表
11.1.3 可變數組
11.1.4 集合方法
11.1.5 PL/SQL記錄表
11.2 游標
11.2.1 聲明游標
11.2.2 打開游標
11.2.3 檢索游標
11.2.4 關閉游標
11.2.5 游標屬性
11.2.6 LOOP語句循環遊標
11.2.7 FOR語句循環遊標
11.3 實踐案例:使用游標更新和刪除數據
11.4 系統函式
11.4.1 數學函式
11.4.2 字元函式
11.4.3 日期函式
11.4.4 聚合函式
11.4.5 轉換函式
11.5 自定義函式
11.5.1 創建函式
11.5.2 調用函式
11.5.3 刪除函式
11.5.4 輸入和輸出參數
11.6 實踐案例:計算部門的員工平均工資
11.7 程式包
11.7.1 創建程式包
11.7.2 調用程式包中的元素
11.7.3 刪除程式包
11.7.4 系統預定義包
11.8 資料庫事務
11.8.1 事務的ACID特性
11.8.2 事務的隔離性級別
11.8.3 事務的開始與結束
11.8.4 事務的提交和回滾
11.8.5 設定保存點
11.8.6 並發事務
11.8.7 事務鎖
11.9 思考與練習
11.10 練一練
第12章 觸發器與存儲過程編程
12.1 觸發器簡介
12.1.1 觸發器的定義
12.1.2 觸發器的類型
12.2 創建觸發器
12.2.1 創建觸發器的語法
12.2.2 DML觸發器
12.2.3 DDL觸發器
12.2.4 INSTEAD OF觸發器
12.2.5 事件觸發器
12.3 操作觸發器
12.3.1 查看觸發器信息
12.3.2 改變觸發器的狀態
12.3.3 刪除觸發器
12.4 實踐案例:為主鍵自動賦值
12.5 存儲過程
12.5.1 創建存儲過程的語法
12.5.2 調用存儲過程
12.6 操作存儲過程
12.6.1 查看存儲過程的定義信息
12.6.2 修改存儲過程
12.6.3 刪除過程
12.7 存儲過程參數
12.7.1 IN參數
12.7.2 OUT參數
12.7.3 包含IN和OUT參數
12.7.4 參數的默認值
12.8 思考與練習
12.9 練一練
第13章 其他Oracle模式對象
13.1 臨時表
13.1.1 臨時表的類型
13.1.2 創建臨時表
13.1.3 使用臨時表
13.1.4 刪除臨時表
13.2 分區表
13.2.1 分區表簡介
13.2.2 列表分區
13.2.3 範圍分區
13.2.4 哈希分區
13.2.5 複合分區
13.2.6 增加分區表
13.2.7 合併分區表
13.2.8 刪除分區表
13.2.9 創建分區表索引
13.3 簇表
13.3.1 創建簇
13.3.2 創建簇表
13.3.3 創建簇索引
13.3.4 修改簇
13.3.5 刪除簇
13.4 序列
13.4.1 創建序列
13.4.2 修改序列
13.4.3 刪除序列
13.5 索引
13.5.1 了解Oracle中的索引類型
13.5.2 索引創建語法
13.5.3 創建B樹索引
13.5.4 創建點陣圖索引
13.5.5 創建反向鍵索引
13.5.6 創建基於函式的索引
13.5.7 管理索引
13.6 思考與練習
13.7 練一練
第14章 酒店客房管理系統資料庫
14.1 系統需求分析
14.1.1 系統簡介
14.1.2 功能要求
14.2 具體化需求
14.2.1 繪製業務流程圖
14.2.2 繪製數據流圖
14.3 系統建模
14.3.1 繪製E-R圖
14.3.2 將E-R圖轉換為關係模型
14.4 系統設計
14.4.1 創建表空間和用戶
14.4.2 創建數據表
14.4.3 創建視圖
14.4.4 創建存儲過程
14.4.5 創建觸發器
14.5 模擬業務邏輯測試
14.5.1 測試視圖
14.5.2 測試存儲過程
14.5.3 測試觸發器
14.6 導出和導入數據
14.6.1 導出數據
14.6.2 導入數據
附錄 習題答案