目 錄 第一篇 Oracle管理配置 第1章 Oracle安裝配置 1.1 Oracle簡介 1 1.1.1 數據庫術語 1 1.1.2 主流數據庫簡介 2 1.1.3 Oracle數據庫的特點 2 1.2 安裝Oracle數據庫 3 1.2.1 Oracle數據庫的版本變遷及安裝環境 3 1.2.2 安裝過程 4 1.2.3 安裝中需要注意的問題 9 1.3 本章小結 9 1.4 習題 9 第2章 Oracle常用工具 2.1 Net Configuration Assistant(網絡配置助手) 10 2.1.1 監聽程序配置 10 2.1.2 命名方法配置 13 2.1.3 本地網絡服務名配置 15 2.2 Net Manager(網絡管理員) 17 2.3 本章實例 19 2.4 本章小結 21 2.5 習題 21 第3章 SQL Plus和PL/SQL 3.1 SQL Plus與PL/SQL簡介 22 3.2 使用SQL Plus 23 3.2.1 登錄SQL Plus 23 3.2.2 SQL Plus輸出結果的格式化 24 3.2.3 SQL Plus小結 29 3.3 PL/SQL 29 3.3.1 PL/SQL常用開發工具 29 3.3.2 開發一個簡單的PL/SQL程序 30 3.4 本章實例 31 3.5 本章小結 32 3.6 習題 32 第二篇 Oracle數據庫對象 第4章 Oracle數據庫 4.1 創建Oracle數據庫 33 4.2 Oracle數據庫的相關術語 35 4.2.1 數據庫 35 4.2.2 數據庫實例和SID 36 4.2.3 ORACLE_SID 37 4.3 Oracle數據庫的備份與恢復 37 4.3.1 邏輯備份/恢復(導出/導入) 37 4.3.2 物理備份/恢復 38 4.3.3 利用SQL Developer備份數據庫 39 4.4 本章實例 41 4.5 本章小結 41 4.6 習題 42 第5章 Oracle數據表對象 5.1 Oracle表空間 43 5.1.1 Oracle表空間簡介 43 5.1.2 創建Oracle表空間 44 5.1.3 查看表空間 47 5.1.4 修改數據庫默認表空間 47 5.1.5 修改表空間名稱 48 5.1.6 刪除表空間 49 5.2 創建Oracle數據表 50 5.2.1 利用工具創建數據表 50 5.2.2 利用工具查看數據表 51 5.2.3 利用命令創建數據表 52 5.2.4 利用命令查看表結構 52 5.3 修改Oracle數據表結構 53 5.3.1 利用工具修改數據表結構 53 5.3.2 利用命令修改數據表結構 54 5.4 刪除數據表 56 5.4.1 利用工具刪除數據表 56 5.4.2 利用SQL語句刪除數據表 56 5.5 備份/恢復數據表 57 5.5.1 利用工具備份/恢復數據表 57 5.5.2 利用命令備份/恢復數據表 60 5.6 臨時表 61 5.6.1 臨時表簡介 61 5.6.2 會話級臨時表 61 5.6.3 事務級臨時表 62 5.6.4 查看臨時表在數據庫中的信息 63 5.6.5 臨時表的應用場景 64 5.7 特殊的表dual 64 5.7.1 分析dual表 65 5.7.2 dual表的應用場景 65 5.7.3 修改dual表對查詢結果的影響 66 5.8 本章實例 66 5.9 本章小結 67 5.10 習題 67 第6章 約束 6.1 主鍵約束 68 6.1.1 主鍵簡介 68 6.1.2 創建主鍵約束 69 6.1.3 修改表的主鍵約束 71 6.1.4 主鍵應用場景 73 6.2 外鍵約束 74 6.2.1 外鍵簡介 74 6.2.2 創建外鍵約束 74 6.2.3 級聯更新與級聯刪除 77 6.2.4 修改外鍵屬性 79 6.2.5 外鍵使用 81 6.3 唯一性約束 82 6.3.1 唯一性約束簡介 82 6.3.2 創建唯一性約束 82 6.3.3 修改唯一性約束 83 6.3.4 唯一性約束的使用 84 6.4 檢查約束 85 6.4.1 檢查約束簡介 85 6.4.2 創建檢查約束 85 6.4.3 修改檢查約束 87 6.4.4 檢查約束的使用 88 6.5 默認值約束 88 6.5.1 默認值約束簡介 88 6.5.2 創建默認值約束 88 6.5.3 修改默認值約束 90 6.6 本章實例 91 6.7 本章小結 92 6.8 習題 92 第7章 視圖 7.1 關系視圖 93 7.1.1 建立關系視圖 93 7.1.2 修改/刪除視圖 94 7.1.3 連接視圖 96 7.1.4 編譯視圖 98 7.1.5 使用force選項強制創建視圖 100 7.1.6 利用視圖更新數據表 101 7.1.7 with check option選項 103 7.1.8 關系視圖小結 104 7.2 內嵌視圖 104 7.2.1 內嵌視圖簡介 105 7.2.2 內嵌視圖的使用 105 7.2.3 內嵌視圖小結 107 7.3 對象視圖 107 7.3.1 對象視圖簡介 107 7.3.2 對象視圖的創建與使用 107 7.4 物化視圖 109 7.4.1 物化視圖簡介 109 7.4.2 物化視圖的使用 109 7.4.3 物化視圖的數據加載 111 7.4.4 物化視圖的數據更新 111 7.4.5 查詢重寫 112 7.5 本章實例 113 7.6 本章小結 113 7.7 習題 113 第8章 函數與存儲過程 8.1 函數 114 8.1.1 函數簡介 114 8.1.2 創建函數 114 8.1.3 函數中的括號 116 8.1.4 函數的參數 117 8.1.5 函數的確定性 118 8.1.6 典型函數舉例 119 8.2 存儲過程 120 8.2.1 存儲過程簡介 120 8.2.2 創建存儲過程 120 8.2.3 存儲過程的參數――IN參數 122 8.2.4 存儲過程的參數――OUT參數 123 8.2.5 存儲過程的參數――IN OUT參數 125 8.2.6 存儲過程的參數――參數順序 125 8.2.7 存儲過程的參數――參數的默認值 128 8.2.8 存儲過程的參數――參數順序總結 129 8.3 程序包 129 8.3.1 規范 129 8.3.2 主體 131 8.3.3 調用程序包中的函數/存儲過程 133 8.3.4 程序包中的變量 134 8.4 本章實例 135 8.5 本章小結 137 8.6 習題 137 第9章 游標 9.1 游標簡介 138 9.2 顯式游標 138 9.2.1 聲明游標 138 9.2.2 使用游標 140 9.3 隱式游標 142 9.3.1 sql隱式游標 143 9.3.2 cursor for游標 144 9.3.3 隱式游標和顯式游標 145 9.4 游標屬性 145 9.5 動態游標 147 9.5.1 強類型動態游標 147 9.5.2 弱類型動態游標 149 9.5.3 比較兩種動態游標 152 9.6 本章實例 152 9.7 本章小結 153 9.8 習題 153 第10章 觸發器 10.1 觸發器簡介 154 10.2 創建和使用觸發器 154 10.2.1 創建觸發器 155 10.2.2 觸發器的作用級別 156 10.2.3 在多個事件上定義觸發器 157 10.2.4 為同一事件定義多個觸發器 158 10.2.5 觸發器限制 159 10.3 語句觸發器 160 10.3.1 創建語句觸發器 160 10.3.2 觸發器謂詞 162 10.3.3 觸發時機 164 10.3.4 觸發器級聯 164 10.4 行觸發器 165 10.4.1 行觸發器與引用 166 10.4.2 觸發時機與引用 168 10.4.3 觸發時機與瞬態 169 10.5 instead of觸發器 171 10.5.1 創建和使用instead of觸發器 171 10.5.2 instead of觸發器與引用 174 10.6 系統事件與用戶事件觸發器 175 10.6.1 系統事件觸發器 175 10.6.2 用戶事件觸發器 176 10.7 啟用和禁用觸發器 178 10.7.1 啟用和禁用觸發器的場景 178 10.7.2 禁用觸發器 178 10.7.3 啟用觸發器 179 10.7.4 觸發器信息 180 10.8 本章實例 180 10.9 本章小結 182 10.11 習題 182 第11章 序列 11.1 創建和使用序列 183 11.1.1 創建序列 183 11.1.2 使用序列 184 11.1.3 序列初始值start with 185 11.2 修改序列屬性 186 11.2.1 修改minvalue和maxvalue 186 11.2.2 修改increment by 187 11.2.3 修改cycle 188 11.2.4 修改cache 189 11.3 本章實例 190 11.4 本章小結 191 11.5 習題 191 第12章 用戶角色與權限控制 12.1 用戶 192 12.1.1 Oracle中的用戶 192 12.1.2 創建新用戶 193 12.1.3 用戶與模式(Schema) 194 12.1.4 系統用戶sys和system 194 12.2 權限 195 12.2.1 系統權限 195 12.2.2 對象權限 197 12.3 角色 201 12.3.1 創建和使用角色 201 12.3.2 繼承角色 203 12.3.3 禁用和啟用角色 204 12.4 本章實例 205 12.5 本章小結 206 12.6 習題 206 第三篇 Oracle中的SQL 第13章 Oracle數據類型 13.1 Oracle中的數據類型 207 13.1.1 字符型 207 13.1.2 數值型 208 13.1.3 日期時間型 208 13.1.4 lob類型 209 13.2 Oracle中的特殊數據 209 13.2.1 rowid 209 13.2.2 null與空字符串 210 13.2.3 單引號與雙引號 211 13.3 本章實例 213 13.4 本章小結 215 13.5 習題 215 第14章 Oracle中的函數與表達式 14.1 Oracle中的字符串函數 216 14.1.1 lpad()函數 216 14.1.2 rpad()函數 217 14.1.3 lower()函數――返回小寫字符串 217 14.1.4 upper()函數――返回大寫字符串 217 14.1.5 initcap ()函數――單詞首字母大寫 218 14.1.6 length()函數――返回字符串長度 218 14.1.7 substr()函數――截取字符串 219 14.1.8 instr()函數――獲得字符串出現的位置 219 14.1.9 ltrim()函數――刪除字符串首部空格 220 14.1.10 rtrim()函數――刪除字符串尾部空格 220 14.1.11 trim()函數――刪除字符串首尾空格 220 14.1.12 to_char()函數――將其他類型轉換為字符類型 221 14.1.13 chr()函數――將ASCII碼轉換為字符串 223 14.1.14 translate()函數――替換字符 223 14.2 Oracle中的數學函數 224 14.2.1 abs ()函數――返回數字的絕對值 224 14.2.2 round ()函數――返回數字的“四舍五入”值 224 14.2.3 ceil()函數――向上取整 225 14.2.4 floor()函數――向下取整 225 14.2.5 mod ()函數――取模操作 226 14.2.6 sign()函數――返回數字的正負性 226 14.2.7 sqrt()函數――返回數字的平方根 226 14.2.8 power()函數――乘方運算 227 14.2.9 trunc()函數――截取數字 227 14.2.10 vsize()函數――返回數據的存儲空間 227 14.2.11 to_number()函數――將字符串轉換為數值類型 228 14.3 Oracle中的日期函數 228 14.3.1 to_date()函數――將字符串轉換為日期型 228 14.3.2 add_months()函數――為日期加上特定月份 229 14.3.3 last_day()函數――返回特定日期所在月的最后一天 230 14.3.4 months_between ()函數――返回兩個日期所差的月數 230 14.3.5 current_date()函數――返回當前會話時區的當前日期 230 14.3.6 current_timestamp()函數――返回當前會話時區的 當前時間戳 231 14.3.7 extract()函數――返回日期的某個域 231 14.4 Oracle中的聚合函數 232 14.4.1 max()函數――求最大值 233 14.4.2 min()函數――求最小值 233 14.4.3 avg()函數――求平均值 234 14.4.4 sum()函數――求和 234 14.4.5 count()函數――獲得記錄數 235 14.5 Oracle中的其他函數 236 14.5.1 decode()函數――多值判斷 236 14.5.2 nvl()函數――處理空值 237 14.5.3 cast()函數――強制轉換數據類型 238 14.6 Oracle中的運算表達式 239 14.6.1 數學運算 240 14.6.2 邏輯運算 241 14.6.3 位運算 242 14.7 Oracle中的特殊判式 242 14.7.1 between――范圍測試 243 14.7.2 in――集合成員測試 244 14.7.3 like――模式匹配 244 14.7.4 is null――空值判斷 244 14.7.5 exists――存在性判斷 245 14.7.6 all、some和any――數量判斷 245 14.8 Oracle高級函數――分析函數與窗口函數 246 14.8.1 排名 246 14.8.2 分區窗口 248 14.8.3 窗口子句 250 14.8.4 主要的分析函數 253 14.9 本章實例 256 14.10 本章小結 257 14.11 習題 258 第15章 Oracle中的控制語句 15.1 Oracle中的條件語句 259 15.1.1 利用if else進行條件判斷 259 15.1.2 利用case when進行分支判斷 260 15.2 Oracle中的循環語句 262 15.2.1 無條件循環 262 15.2.2 while循環 263 15.2.3 for循環 264 15.3 本章實例 265 15.4 本章小結 265 15.5 習題 266 第16章 SQL查詢 16.1 基本查詢 267 16.1.1 select語句查詢執行步驟 267 16.1.2 where子句 269 16.1.3 利用distinct獲得唯一性記錄 270 16.1.4 order by子句 270 16.1.5 group by子句 271 16.1.6 having子句 274 16.2 子查詢 275 16.2.1 理解子查詢 275 16.2.2 子查詢使用實例 275 16.3 聯合語句 277 16.3.1 union查詢 277 16.3.2 union all查詢 278 16.3.3 intersect查詢 280 16.3.4 minus查詢 280 16.4 連接 281 16.4.1 自然連接 281 16.4.2 內連接 282 16.4.3 外連接――左連接 283 16.4.4 外連接――右連接 285 16.4.5 外連接――完全連接 287 16.5 層次化查詢 289 16.5.1 利用connect by進行層次化查詢 290 16.5.2 connect by的使用場景 291 16.5.3 sys_connect_by_path()函數的使用 292 16.6 本章實例 293 16.7 本章小結 295 16.8 習題 295 第17章 SQL更新數據 17.1 插入數據 296 17.1.1 insert語句向表中插入數據 296 17.1.2 利用子查詢批量插入數據 297 17.1.3 insert語句與默認值 298 17.1.4 insert語句與唯一性約束 298 17.1.5 insert語句與外鍵約束 298 17.2 修改數據 299 17.2.1 利用update修改單列的值 299 17.2.2 利用update修改多列的值 300 17.2.3 利用where子句限制修改范圍 300 17.3 刪除數據 301 17.3.1 利用delete命令刪除數據 301 17.3.2 利用truncate命令刪除數據 302 17.4 數據提交與回滾 302 17.4.1 回滾動作 302 17.4.2 提交動作 303 17.4.3 SQL Developer中的回滾與提交 304 17.5 本章實例 305 17.6 本章小結 307 17.7 習題 307 第四篇 Oracle編程高級應用 第18章 數據庫速度優化與數據完整性 18.1 利用索引加快數據引用 308 18.1.1 索引的原理 308 18.1.2 利用索引提高數據庫性能 309 18.1.3 索引對DML的影響 311 18.1.4 索引的使用時機 312 18.2 利用約束保持數據完整性 312 18.2.1 數據庫完整性的重要性 313 18.2.2 保持數據庫完整性的重要方面 313 18.2.3 利用約束保持數據完整性 313 18.3 本章實例 314 18.3.1 使用比較運算符不當 314 18.3.2 函數的使用 315 18.3.3 聯合索引 315 18.4 本章小結 316 18.6 習題 316 第19章 數據一致性與事務管理 19.1 什么是數據一致性和事務 317 19.1.1 數據一致性 317 19.1.2 事務 317 19.2 Oracle中的事務處理 318 19.2.1 commit命令 318 19.2.2 rollback命令 319 19.2.3 savepoint和rollback to savepoint命令 319 19.2.4 事務的屬性和隔離級別 321 19.3 事務處理原則 325 19.3.1 原子性 325 19.3.2 一致性 326 19.3.3 隔離性 328 19.3.4 持久性 329 19.4 本章實例 329 19.5 本章小結 331 19.6 習題 331 第20章 并發控制 20.1 并發與鎖定 332 20.2 數據鎖定 335 20.2.1 悲觀鎖定 335 20.2.2 樂觀鎖定 336 20.2.3 悲觀鎖定與樂觀鎖定的比較 338 20.2.4 鎖定轉換 338 20.3 并發控制的其他方法 339 20.4 本章實例 339 20.5 本章小結 343 20.6 習題 343 第21章 Oracle中的正則表達式 21.1 正則表達式簡介 344 22.1.1 正則表達式與通配符 344 22.1.2 正則表達式與編程語言 344 21.2 正則表達式基礎知識 345 21.2.1 元字符和普通字符 345 21.2.2 量詞 345 21.2.3 字符轉義與字符類 345 21.2.4 字符組的使用 346 21.2.5 正則表達式分支 346 21.2.6 Oracle中正則表達式的特殊性 346 21.3 正則表達式在Oracle中的應用 347 21.3.1 regexp_like()的使用 347 21.3.2 regexp_instr()的使用 347 21.3.3 regexp_substr()的使用 348 21.3.4 regexp_ replace ()的使用 348 21.4 本章實例 349 21.5 本章小結 349 21.6 習題 350 第五篇 Oracle與編程語言綜合使用實例 第22章 Oracle在Java開發中的應用 22.1 通過JDBC使用Oracle 351 22.1.1 JDBC簡介 351 22.1.2 準備工作 351 22.1.3 JDBC連接Oracle 352 22.1.4 利用JDBC查詢數據 354 22.1.5 利用JDBC更新數據 355 22.1.6 總結JDBC操作數據庫 357 22.2 通過Hibernate操作Oracle數據庫 357 22.2.1 準備工作 357 22.2.2 配置Hibernate 358 22.2.3 利用Hibernate查詢數據 361 22.2.4 利用Hibernate更新數據 362 22.2.5 利用Hibernate插入數據 364 22.3 本章小結 365 2.4 習題 365 第23章 Oracle在C#開發中的應用 23.1 在C#中連接Oracle數據庫 366 23.2 在C#中操作Oracle數據庫 367 23.3 在C#中使用Oracle數據庫事務 369 23.4 本章小結 371 23.5 習題 372 第六篇 應試指南 第24章 常見面試習題 24.1 簡歷準備 373 24.2 簡歷投遞及面試 374 24.3 常見數據庫理論問題 375 24.4 常見PL/SQL相關面試問題 375 24.5 常見Oracle維護相關面試問題 377 24.6 常見Oracle應用開發相關面試問題 379
發問者 | 意見 | 日期 |
---|---|---|
問題 | ||
答覆 |
其它熱門分類館