第1篇 數據庫基礎
第1章 數據庫簡介(教學視頻:18分鍾) 2
1.1 數據庫簡介 2
1.1.1 數據庫的發展曆史 2
1.1.2 主流數據庫簡介 3
1.1.3 oracle數據庫的特點 4
1.2 安裝及配置oracle數據庫 4
1.2.1 oracle數據庫的版本變遷 4
1.2.2 oracle數據庫的安裝環境 5
1.2.3 oracle數據庫的安裝步驟 5
1.3 本章小結 8
1.4 本章習題 8
第2章 實體-聯係模型(教學視頻:35分鍾) 9
2.1 實體和聯係的概念 9
2.1.1 實體 9
2.1.2 聯係 10
2.2 e-r圖 10
2.2.1 實體聯係符號 10
2.2.2 e-r圖示例 11
2.3 e-r模型到關係模型 12
2.3.1 實體集轉換為關係 12
2.3.2 聯係轉換為關係 12
2.3.3 總結聯係轉換為關係 14
2.4 範式 15
2.4.1 第一範式 15
2.4.2 第二範式 15
2.4.3 第三範式 16
2.4.4 bcnf範式 16
2.5 數據庫設計工具 17
2.5.1 powerdesigner 17
2.5.2 erwin 19
2.6 本章小結 20
2.7 本章習題 20
第3章 oracle數據庫與數據錶(教學視頻:60分鍾) 21
3.1 創建oracle數據庫 21
3.2 配置/管理oracle數據庫 24
3.2.1 網絡配置助手工具——net configuration assistant 24
3.2.2 網絡管理員工具——net manager 32
3.2.3 oracle自帶的客戶端工具——sqlplus/sqlplusw 36
3.2.4 開發利器——pl/sql developer 40
3.2.5 toad for oracle 47
3.3 oracle錶空間 47
3.3.1 創建oracle錶空間 47
3.3.2 錶空間的使用 49
3.3.3 錶空間的重命名及刪除 50
3.4 oracle數據錶 52
3.4.1 創建oracle數據錶 52
3.4.2 數據錶的相關操作 53
3.4.3 刪除數據錶 55
3.5 特殊的數據錶dual 55
3.6 本章實例1——非1521端口監聽程序的使用 56
3.7 本章實例2——根據列名獲得錶名 61
3.8 本章小結 62
3.9 本章習題 62
第2篇 pl/sql編程
第4章 sql查詢(教學視頻:54分鍾) 64
4.1 基本查詢 64
4.1.1 查詢命令select 64
4.1.2 指定過濾條件——where子句 65
4.1.3 獲取唯一記錄——distinct 68
4.1.4 分組——group by子句 68
4.1.5 過濾分組——having子句 70
4.1.6 排序——order by子句 71
4.1.7 order by與group by子句 72
4.1.8 order by與distinct 74
4.2 子查詢 75
4.2.1 查詢條件中的子查詢 75
4.2.2 建錶語句中的子查詢 76
4.2.3 插入語句中的子查詢 77
4.3 聯閤語句 77
4.3.1 求並集(記錄唯一)——union運算 77
4.3.2 求並集——union all運算 79
4.3.3 求交集——intersect運算 80
4.3.4 求差集——minus運算 80
4.3.5 聯閤語句的混閤運算 81
4.4 連接 82
4.4.1 自然連接 82
4.4.2 內連接 84
4.4.3 外連接 86
4.5 層次化查詢 91
4.5.1 樹狀模型 91
4.5.2 層次化查詢 92
4.5.3 層次化查詢的相關函數 94
4.5.4 總結一條記錄衍生齣多條記錄 95
4.6 本章實例 97
4.7 本章小結 98
4.8 本章習題 98
第5章 sql更新數據(教學視頻:18分鍾) 99
5.1 插入數據——insert操作 99
5.1.1 單條插入 99
5.1.2 批量插入 101
5.1.3 注意事項與技巧 101
5.2 更新數據——update操作 103
5.2.1 update更新單列 103
5.2.2 update更新多列 104
5.2.3 注意事項 105
5.3 刪除數據——delete操作 106
5.3.1 delete操作 106
5.3.2 delete操作與truncate table操作 107
5.4 本章實例 108
5.5 本章小結 110
5.6 本章習題 111
第6章 oracle中的字符型及處理方法(教學視頻:34分鍾) 112
6.1 字符型簡介 112
6.1.1 固定長度字符串——char(n) 112
6.1.2 varchar(n) 113
6.1.3 varchar2(n) 113
6.2 字符型分析 114
6.2.1 varchar2(n)與char(n)的區彆 114
6.2.2 varchar2(n)與char(n)的選擇 115
6.2.3 變量聲明中的字符串類型 115
6.3 字符型處理 116
6.3.1 嚮左補全字符串——lpad ()函數 116
6.3.2 嚮右補全字符串——rpad ()函數 116
6.3.3 返迴字符串的小寫形式——lower()函數 117
6.3.4 返迴字符串的大寫形式——upper()函數 117
6.3.5 單詞首字符大寫——initcap()函數 118
6.3.6 返迴字符串長度——length()函數 119
6.3.7 截取字符串——substr()函數 119
6.3.8 獲得字符串齣現的位置——instr()函數 120
6.3.9 刪除字符串左側空格——ltrim()函數 121
6.3.10 刪除字符串右側空格——rtrim()函數 121
6.3.11 刪除字符串兩側空格——trim()函數 121
6.3.12 串聯字符串——concat()函數 122
6.3.13 翻譯字符串——translate()函數 122
6.3.14 反轉字符串——reverse()函數 123
6.4 本章實例 124
6.5 本章小結 124
6.6 本章習題 124
第7章 oracle中的數值型及處理方法(教學視頻:26分鍾) 125
7.1 oracle中的數值型 125
7.1.1 如何理解精度 125
7.1.2 精度與小數位數 125
7.2 oracle中的數值處理 127
7.2.1 返迴數字的絕對值——abs ()函數 127
7.2.2 返迴數字的“四捨五入”值——round ()函數 128
7.2.3 嚮上取整——ceil()函數 128
7.2.4 嚮下取整——floor()函數 129
7.2.5 取模操作——mod ()函數 129
7.2.6 返迴數字的正負性——sign()函數 130
7.2.7 返迴數字的平方根——sqrt()函數 130
7.2.8 乘方運算——power()函數 131
7.2.9 截取數字——trunc()函數 131
7.2.10 將ascii碼轉換為字符——chr()函數 132
7.2.11 格式化數值——to_char()函數 133
7.3 本章實例 137
7.4 本章小結 138
7.5 本章習題 138
第8章 oracle中的日期型及處理方法(教學視頻:30分鍾) 139
8.1 oracle中的日期型 139
8.2 oracle中的日期處理 139
8.2.1 獲得當前日期——sysdate()函數 139
8.2.2 為日期加上特定月份——add_months()函數 140
8.2.3 返迴特定日期所在月的最後一天——last_day()函數 141
8.2.4 返迴兩個日期所差的月數——months_between ()函數 141
8.2.5 返迴特定日期之後的一周內的日期——next_day()函數 142
8.2.6 截取日期——trunc()函數 142
8.2.7 返迴當前會話時區的當前日期——current_date()函數 144
8.2.8 返迴當前會話時區的時間戳——current_timestamp()函數 144
8.2.9 返迴日期的某個域——extract()函數 144
8.2.10 將日期轉換為字符串——to_char()函數 145
8.3 本章實例 147
8.4 本章小結 149
8.5 本章習題 149
第9章 oracle中的復雜數據處理(教學視頻:88分鍾) 150
9.1 利用聚閤函數統計數據 150
9.1.1 求最大值——max()函數 150
9.1.2 求最小值——min()函數 151
9.1.3 求平均值——avg()函數 152
9.1.4 求和——sum()函數 152
9.1.5 統計記錄數——count()函數 152
9.2 oracle中的常用技巧 155
9.2.1 多值判斷——decode()函數 155
9.2.2 空值處理——nvl()函數 156
9.2.3 結果集的行號——rownum()函數 157
9.2.4 強製轉換數據類型——cast()函數 160
9.3 oracle中的運算 161
9.3.1 數學運算 162
9.3.2 邏輯運算 164
9.3.3 按位運算 165
9.3.4 列的乘積 167
9.4 oracle中的特殊判式 169
9.4.1 between——範圍測試 170
9.4.2 in——集閤成員測試 171
9.4.3 like——模糊匹配 171
9.4.4 is null——空值判斷 173
9.4.5 exists——存在性判斷 174
9.4.6 all、some、any——集閤判斷 174
9.5 oracle中的分析函數與窗口函數 176
9.5.1 分析函數與窗口函數簡介 176
9.5.2 排名函數 177
9.5.3 默認窗口 179
9.5.4 分區窗口 180
9.5.5 窗口子句 182
9.5.6 常用分析函數 185
9.6 本章實例 189
9.7 本章小結 190
9.8 本章習題 190
第10章 oracle中的控製語句(教學視頻:17分鍾) 191
10.1 oracle中的條件語句 191
10.1.1 流程控製——if else判斷 191
10.1.2 流程控製——case when分支 193
10.2 oracle中的循環語句 194
10.2.1 無條件循環 194
10.2.2 while循環 196
10.2.3 for循環 197
10.3 本章實例 198
10.4 本章小結 198
10.5 本章習題 199
第3篇 oracle數據庫對象
第11章 視圖(教學視頻:70分鍾) 202
11.1 視圖簡介 202
11.1.1 什麼是視圖 202
11.1.2 為什麼使用視圖 203
11.2 創建和使用關係視圖 204
11.2.1 創建關係視圖 205
11.2.2 使用關係視圖 206
11.2.3 修改/刪除視圖 210
11.2.4 隻讀視圖 211
11.2.5 聯接視圖 212
11.2.6 強製創建視圖 213
11.2.7 創建視圖約束 214
11.3 使用內嵌視圖 217
11.3.1 內嵌視圖簡介 217
11.3.2 使用內嵌視圖 217
11.3.3 內嵌視圖小結 219
11.4 使用對象視圖 220
11.4.1 對象簡介 220
11.4.2 對象視圖 225
11.5 物化視圖 227
11.5.1 物化視圖簡介 227
11.5.2 使用物化視圖 227
11.5.3 延遲載入 231
11.5.4 數據刷新 232
11.5.5 查詢重寫 234
11.6 本章小結 236
11.7 本章習題 236
第12章 約束(教學視頻:100分鍾) 237
12.1 主鍵約束 237
12.1.1 為什麼要使用主鍵約束 237
12.1.2 主鍵約束簡介 238
12.1.3 創建主鍵約束 239
12.1.4 修改主鍵約束 245
12.1.5 主鍵與索引 247
12.1.6 總結 249
12.2 外鍵約束 250
12.2.1 為什麼要使用外鍵約束 250
12.2.2 外鍵約束簡介 250
12.2.3 創建外鍵約束 251
12.2.4 級聯更新與級聯刪除 254
12.2.5 外鍵約束的相關操作 257
12.2.6 總結 260
12.3 唯一性約束 260
12.3.1 為什麼要使用唯一性約束 260
12.3.2 唯一性約束簡介 260
12.3.3 創建唯一性約束 261
12.3.4 修改唯一性約束 263
12.3.5 總結 265
12.4 檢查約束 265
12.4.1 為什麼要使用檢查約束 265
12.4.2 檢查約束簡介 266
12.4.3 創建檢查約束 266
12.4.4 修改檢查約束 269
12.4.5 總結 270
12.5 默認值約束 270
12.5.1 為什麼要使用默認值約束 271
12.5.2 默認值約束簡介 271
12.5.3 創建默認值約束 271
12.5.4 修改默認值約束 273
12.5.5 總結 273
12.6 非空約束 274
12.6.1 為什麼要使用非空約束 274
12.6.2 非空約束簡介 274
12.6.3 創建非空約束 274
12.6.4 修改非空約束 277
12.6.5 總結 278
12.7 本章小結 278
12.8 本章習題 278
第13章 遊標(教學視頻:38分鍾) 279
13.1 遊標簡介 279
13.1.1 為什麼使用遊標 279
13.1.2 遊標簡介 279
13.2 顯式遊標 280
13.2.1 聲明顯式遊標 280
13.2.2 使用顯式遊標 282
13.2.3 遊標屬性 285
13.3 隱式遊標 285
13.3.1 sql隱式遊標的使用 285
13.3.2 cursor for遊標的使用 288
13.3.3 總結顯式遊標和隱式遊標 289
13.4 動態遊標 289
13.4.1 強類型動態遊標 289
13.4.2 弱類型動態遊標 290
13.5 本章小結 292
13.6 本章習題 292
第14章 觸發器(教學視頻:51分鍾) 293
14.1 觸發器簡介 293
14.1.1 什麼是觸發器 293
14.1.2 為什麼需要觸發器 293
14.2 語句觸發器 294
14.2.1 創建語句觸發器 294
14.2.2 觸發器的作用對象與觸發時機 295
14.2.3 多個激活動作 296
14.2.4 觸發器謂詞 297
14.2.5 總結語句觸發器 300
14.3 行觸發器 300
14.3.1 創建和使用行觸發器 300
14.3.2 行觸發器的變量引用 302
14.3.3 變量引用與referencing 304
14.3.4 多個觸發器的執行順序 305
14.3.5 觸發器的條件限製 306
14.4 instead of觸發器 307
14.4.1 創建和使用instead of觸發器 307
14.4.2 instead of觸發器中的變量引用 310
14.5 係統事件與用戶事件觸發器 311
14.5.1 係統事件觸發器 311
14.5.2 用戶事件觸發器 313
14.6 觸發器的相關操作 315
14.6.1 為什麼要禁用觸發器 315
14.6.2 禁用觸發器——disable 316
14.6.3 啓用觸發器——enable 316
10.6.4 在數據字典中查看觸發器信息 317
14.7 本章實例 318
14.8 本章小結 319
14.9 本章習題 319
第15章 序列(教學視頻:26分鍾) 320
15.1 自動生成序號 320
15.1.1 什麼是自動生成序號 320
15.1.2 主流數據庫的自動生成序號策略 320
15.2 創建和使用序列 321
15.2.1 創建序列 321
15.2.2 使用序列 322
15.2.3 指定序列初始值 324
15.3 序列屬性 325
15.3.1 設置序列的最大值和最小值——minvalue和maxvalue屬性 326
15.3.2 設置序列的增長步長——increment by屬性 327
15.3.3 設置序列循環取值——cycle屬性 329
15.3.4 設置序列緩存大小——cache屬性 330
15.4 本章實例 332
15.5 本章小結 333
15.6 本章習題 333
第16章 用戶、角色與權限控製(教學視頻:36分鍾) 334
16.1 用戶 334
16.1.1 oracle中的用戶概況 334
16.1.2 利用係統用戶創建新的用戶 335
16.1.3 用戶的對象集閤——模式 336
16.1.4 係統用戶——system與sys 338
16.2 權限 339
16.2.1 係統權限 340
16.2.2 對象權限 346
16.3 角色 352
16.3.1 利用角色進行權限分配 352
16.3.2 角色的延伸——繼承 355
16.3.3 禁用/啓用角色 356
16.4 本章實例 358
16.5 本章小結 359
16.6 本章習題 359
第17章 函數與存儲過程(教學視頻:57分鍾) 360
17.1 自定義函數 360
17.1.1 創建自定義函數 360
17.1.2 函數的參數 362
17.1.3 利用函數的確定性提高數據庫效率 364
17.1.4 典型函數——行轉列 365
17.2 存儲過程 366
17.2.1 創建存儲過程 366
17.2.2 “隻進不齣的參數”——in參數 369
17.2.3 “隻齣不進的參數”——out參數 371
17.2.4 “可進可齣的參數”——in out參數 372
17.2.5 調試存儲過程 373
17.3 程序包 377
17.3.1 程序包的規範 377
17.3.2 程序包的主體 379
17.3.3 調用程序包中的函數/存儲過程 381
17.4 本章實例 381
17.5 本章小結 382
17.6 本章習題 382
第4篇 oracle數據庫設計與優化
第18章 數據庫性能優化(教學視頻:52分鍾) 384
18.1 在物理層麵上提高oracle性能 384
18.1.1 修改sga 384
18.1.2 修改pga 390
18.1.3 異常情況 391
18.2 索引的使用 392
18.2.1 索引簡介 392
18.2.2 索引的創建與使用 392
18.2.3 索引的開銷 394
18.2.4 索引的使用場景 395
18.3 優化sql語句 396
18.3.1 sql語句的命中率 396
18.3.2 exists與in 397
18.3.3 where條件的閤理利用 398
18.3.4 利用with子句重用查詢 400
18.4 本章小結 401
18.5 本章習題 401
第19章 數據一緻性與事務管理(教學視頻:37分鍾) 402
19.1 數據一緻性和事務 402
19.1.1 oracle中的數據一緻性 402
19.1.2 oracle中的事務 402
19.2 oracle中的事務處理 403
19.2.1 利用commit命令界定事務 403
19.2.2 利用rollback命令界定事務 407
19.2.3 oracle事務的屬性和隔離級彆 407
19.3 事務處理原則 412
19.3.1 事務的原子性——atomicity 413
19.3.2 事務的一緻性——consistency 413
19.3.3 事務的隔離性——isolation 413
19.3.4 事務的持久性——durablity 414
19.4 本章實例 414
19.5 本章小結 416
19.6 本章習題 416
第20章 並發控製(教學視頻:30分鍾) 417
20.1 並發與鎖定 417
20.1.1 並發與鎖定舉例 417
20.1.2 死鎖 418
20.2 悲觀鎖定與樂觀鎖定 421
20.2.1 oracle中的悲觀鎖定 421
20.2.2 oracle中的樂觀鎖定 422
20.3 鎖定轉換 425
20.3.1 一般數據庫中的鎖定升級 425
20.3.2 oracle中的鎖定轉換 425
20.4 本章小結 430
20.5 本章習題 430
第5篇 oracle應用開發
第21章 oracle在開發中的應用(教學視頻:22分鍾) 432
21.1 oracle在java開發中的應用 432
21.1.1 利用jdbc操作oracle數據庫 432
21.1.2 preparedstatement的使用 440
21.2 oracle在c#開發中的應用 442
21.2.1 在c#中連接oracle數據庫 442
21.2.2 在c#中操作oracle數據庫 443
21.2.3 在c#中使用oracle數據庫事務 446
21.3 本章小結 448
21.4 本章習題 448
第22章 oracle+hibernate應用實例(教學視頻:25分鍾) 449
22.1 創建項目實例 449
22.2 建立映射關係 450
22.3 hibernate配置文件 451
22.4 加載hibernate文件 452
22.5 查詢操作 454
22.6 更新操作 457
22.7 插入操作 458
22.8 本章小結 460
22.9 本章習題 460
· · · · · · (
收起)