內容簡介
本書 通過大量實例及一個完整項目案例,幫助讀者更好地鞏固所學知識,提升能力;隨書附贈的《小白實戰手冊》中給出了3個的實用資料庫、數據表的創建、操作和系統維護流程,力求讓學習者能學以致用,真正獲得資料庫管理經驗;附贈的光碟中給出視頻講解、實例及項目源碼、代碼查錯器、練一練答案和動手糾錯答案等,方便讀者學習;書中設定了近200個二維碼,掃描二維碼觀看視頻講解,解決學習疑難;不易理解的專業術語、代碼難點只需手機掃描文字下方的e學碼獲得更多擴展解釋,隨時掃除學習障礙。圖書與《小白實戰手冊》+光碟+二維碼+e學碼+明日學院,實現立體化、全方位的教學模式,拉低編程門檻,讓零基礎者輕鬆跨入編程領域。
編輯推薦
1.立體化教學模式,PC端和移動端同步學習
2.書網合一,掃描二維碼,學習免費線上課程
3.全彩印刷,還原真實開發環境,讓編程學習更簡單
4.贈送數字電子書,隨時隨地想學就學
5.贈送光碟,內含實例及項目源碼、視頻講解、代碼查錯器、動手糾錯及練一練答案
6. 掃碼答疑,掃描e學碼,深入學習開發技能
7. 小白實戰手冊,三個有趣的小項目,強化實戰訓練
Oracle資料庫系統是美國Oracle公司(甲骨文)提供的以分散式資料庫為核心的一組軟體產品,是目前最流行的客戶/伺服器(Client/Server)或B/S體系結構的資料庫之一。Oracle資料庫是目前世界上使用最為廣泛的資料庫管理系統之一,作為一個通用的資料庫系統,它具有完整的數據管理功能;作為一個關係資料庫,它是一個完備的關係產品;作為分散式資料庫,它實現了分散式處理功能。關於Oracle的所有知識,只要在一種機型上學習了,便能在各種類型的機器上使用。
圖書目錄
第1篇基礎知識
第1章Oracle 11g概述.........2
1.1 資料庫的產生.........................3
1.2 資料庫基本概念.......................4
1.2.1 數據、資料庫、資料庫管理系統和
資料庫系統.....................4
1.2.2 資料庫的標準語言—— SQL .......6
1.3 Oracle簡介...........................7
1.3.1 Oracle公司介紹.................7
1.3.2 Oracle體系介紹.................9
1.4 Oracle資料庫環境....................10
1.4.1 Oracle資料庫版本簡介..........10
1.4.2 Oracle 11g的下載與安裝........10
1.4.3 Oracle 11g的卸載..............19
1.5 難點解答.........................23
1.5.1 數據管理與資料庫系統的特點....23
1.5.2 Oracle伺服器、Oracle實例(Instance)、
Oracle資料庫(Database)的關係...24
1.6 小結............................24
第2章Oracle 管理工具........25
2.1 SQL*Plus工具........................26
2.1.1 啟動和連線SQL*Plus ............26
2.1.2 使用SQL*Plus查詢資料庫........28
2.1.3 創建SQL*Plus捷徑..........30
2.1.4 退出SQL*Plus ..................31
2.2 SQL Developer工具...................32
2.2.1 啟動SQL Developer .............32
2.2.2 創建資料庫連線................33
2.2.3 使用SQL Developer查詢資料庫...36
2.3 企業管理器(OEM)...................37
2.4 資料庫配置助手(DBCA)..............39
2.5 難點解答.........................47
2.5.1 SQL*Plus中的代碼為什麼
大小寫都有...................47
2.5.2 使用OEM管理資料庫的好處.......47
2.6 小結............................48
2.7 動手糾錯.........................48
第3章SQL *Plus命令.........51
3.1 SQL *Plus與資料庫的互動.............52
3.2 設定SQL *Plus的運行環境.............52
3.2.1 SET簡介命令...................53
3.2.2 使用SET命令設定運行環境.......55
3.3 常用的SQL *Plus命令.................59
3.3.1 HELP命令......................59
3.3.2 DESCRIBE命令..................60
3.3.3 CONN命令......................63
3.3.4 加入注釋......................64
3.4 格式化SQL *Plus輸出.................66
3.4.1 格式化列......................66
3.4.2 定義頁與報告的標題............71
3.5 數據字典.........................73
3.5.1 Oracle數據字典簡介............73
3.5.2 Oracle常用數據字典............73
3.6 難點解答.........................76
3.6.1 為什麼設定了linesize的值為300,運行
結果還會出現折行的現象........76
3.6.2 SQL *Plus命令與SQL語句的區別..76
3.7 小結............................76
3.8 動手糾錯.........................77
第4章數據表操作............79
4.1 數據表概述..........................80
4.2 表與表結構操作......................81
4.2.1 Oracle常用數據類型............81
4.2.2 表和表結構....................82
4.2.3 表結構設計....................82
4.3 OEM方式操作表.......................84
4.3.1 創建表........................84
4.3.2 修改表........................88
4.3.3 刪除表........................89
4.4 使用SQL Developer操作表.............89
4.4.1 創建表........................90
4.4.2 修改表........................91
4.4.3 刪除表........................92
4.5 在SQL *Plus上操作表.................92
4.5.1 創建表........................92
4.5.2 修改表........................95
4.5.3 刪除表.......................100
4.6 難點解答........................100
4.6.1 一條語句中刪除多個欄位.......100
4.6.2 drop命令和delete命令的區別...100
4.7 小結...........................101
4.8 動手糾錯........................101
第5章SQL查詢基礎........103
5.1 SQL語言簡介........................104
5.1.1 SQL語言的分類................104
5.1.2 SQL語言的編寫規則............104
5.2 SELECT語句簡介.....................108
5.3 查詢所有列.........................109
5.3.1 查詢單個表中所有列...........109
5.3.2 查詢多個表中所有列...........111
5.4 查詢特定列.........................112
5.4.1 查詢特定列...................113
5.4.2 偽列.........................113
5.5 消除重複行.........................114
5.5.1 查詢結果中包含重複行.........115
5.5.2 查詢結果中消除重複行.........115
5.6 帶有表達式的SELECT子句.............117
5.7 為列指定別名.......................118
5.7.1 不使用列別名..................118
5.7.2 使用列別名....................119
5.8 處理NULL...........................121
5.8.1 不處理NULL ...................121
5.8.2 使用NVL函式處理NULL ..........122
5.8.3 使用NVL2函式處理NULL .........123
5.9 連線字元串.........................124
5.9.1 使用||操作符連線字元串.......125
5.9.2 使用函式CONCAT連線字元串.....125
5.10 難點解答.......................126
5.10.1 NULL和0的區別...............126
5.10.2 為什麼有的地方用了單引號“‘”,有的地方沒用?..........................126
5.11 小結..........................127
5.12 動手糾錯.......................127
第6章SQL查詢進階........129
6.1 篩選查詢........................130
6.1.1 比較篩選.....................130
6.1.2 邏輯查詢(AND、OR和NOT).....131
6.1.3 模糊查詢(LIKE、NOT LIKE)...133
6.1.4 列表範圍查找(IN、NOT IN)...134
6.1.5 範圍查詢(BETWEEN…AND).....135
6.1.6 判斷內容是否為NULL
(IS NULL、IS NOT NULL)......136
6.2 分組查詢........................137
6.2.1 使用GROUP BY進行單欄位分組...138
6.2.2 使用GROUP BY進行多欄位分組...140
6.2.3 使用HAVING子句限制分組結果...141
6.3 排序查詢........................142
6.3.1 單列排序.....................142
6.3.2 多列排序.....................144
6.4 多表關聯查詢.......................145
6.4.1 表的別名.....................145
6.4.2 內連線.......................147
6.4.3 外連線.......................148
6.4.4 自然連線.....................151
6.4.5 自連線.......................152
6.4.6 交叉連線.....................154
6.5 難點解答........................155
6.5.1 如何區分左表、右表............155
6.5.2 遇到複雜查詢應該如何分析.....156
6.6 小結...........................156
6.7 動手糾錯........................156
第7章子查詢及常用
系統函式............159
7.1 初識子查詢.........................160
7.2 單行子查詢.........................161
7.3 多行子查詢.........................163
7.3.1 使用IN運算符.................163
7.3.2 使用ANY運算符................164
7.3.3 使用ALL運算符................165
7.4 Oracle常用系統函式.................166
7.4.1 字元類函式...................166
7.4.2 數字類函式...................168
7.4.3 日期和時間類函式.............170
7.4.4 轉換類函式...................172
7.4.5 聚合類函式...................174
7.5 運算元據庫(數據操縱語言)...........174
7.5.1 插入數據(INSERT語句).......175
7.5.2 更新數據(UPDATE語句).......179
7.5.3 刪除數據(DELETE語句和
TRUNCATE語句)...............183
7.6 難點解答........................184
7.6.1 SQL語句中單引號的用法........184
7.6.2 DROP、DELETE和TRUNCATE命令的
區別.........................184
7.7 小結...........................185
7.8 動手糾錯........................185
第2篇核心技術
第8章PLSQL語言編程......188
8.1 PL/SQL簡介.........................189
8.1.1 PL/SQL塊結構.................189
8.1.2 代碼注釋.....................190
8.1.3 標識符.......................191
8.1.4 分界符.......................192
8.2 數據類型........................193
8.2.1 基本數據類型.................194
8.2.2 數值型.......................194
8.2.3 字元型.......................196
8.2.4 日期型.......................198
8.2.5 布爾型.......................200
8.3 變數的聲明與賦值...................201
8.3.1 定義一般變數.................201
8.3.2 使用%TYPE聲明變數類型........202
8.3.3 使用RECORD聲明變數類型.......204
8.3.4 使用%ROWTYPE聲明變數.........206
8.4 流程控制語句.......................207
8.4.1 選擇語句.....................208
8.4.2 循環語句.....................214
8.5 難點解答........................218
8.5.1 變數定義時,如何選擇使用CHAR
還是VARCHAR2?...............218
8.5.2 LOOP循環和WHILE…LOOP循環的
區別.........................219
8.6 小結...........................219
8.7 動手糾錯........................219
第9章游標................223
9.1 游標簡介........................224
9.2 隱式游標........................225
9.3 顯式游標........................226
9.3.1 聲明游標.....................226
9.3.2 打開游標.....................227
9.3.3 讀取游標.....................228
9.3.4 關閉游標.....................228
9.3.5 顯式游標的屬性...............230
9.4 游標變數........................231
9.4.1 聲明游標變數.................231
9.4.2 打開游標變數.................232
9.4.3 關閉游標變數.................232
9.5 通過FOR語句遍歷游標................234
9.5.1 隱式游標中使用FOR語句........234
9.5.2 顯式游標中使用FOR語句........235
9.6 難點解答........................236
9.6.1 游標操作前必須打開,關閉後的
游標不可再用.................236
9.6.2 PL/SQL中顯式游標的操作步驟...236
9.7 小結...........................236
9.8 動手糾錯........................236
第10章過程、函式和觸發器....241
10.1 存儲過程.......................242
10.1.1 創建存儲過程................242
10.1.2 執行存儲過程................244
10.1.3 存儲過程的參數..............244
10.1.4 刪除存儲過程................249
10.2 函式..........................250
10.2.1 創建函式....................250
10.2.2 調用函式....................251
10.2.3 刪除函式....................252
10.3 觸發器........................253
10.3.1 觸發器簡介..................253
10.3.2 語句級觸發器................255
10.3.3 行級觸發器..................257
10.3.4 替換觸發器..................260
10.3.5 刪除觸發器..................263
10.4 難點解答.......................263
10.4.1 函式與存儲過程的區別........263
10.4.2 替換觸發器和語句級觸發器的
不同之處....................263
10.5 小結..........................264
10.6 動手糾錯.......................264
第11章數據表約束.........267
11.1 數據表約束簡介....................268
11.2 非空約束.......................268
11.2.1 設定非空約束................268
11.2.2 修改非空約束................269
11.2.3 刪除非空約束................270
11.3 唯一性約束........................270
11.3.1 設定唯一性約束..............270
11.3.2 刪除唯一性約束..............272
11.4 主鍵約束.......................272
11.4.1 創建表的同時設定主鍵約束....273
11.4.2 創建表之後添加主鍵約束......274
11.4.3 刪除主鍵約束................275
11.5 外鍵約束.......................275
11.5.1 設定外鍵約束................275
11.5.2 刪除具有外鍵約束的表........277
11.5.3 刪除外鍵約束................278
11.6 禁用和激活約束....................278
11.6.1 在定義約束時禁用............278
11.6.2 禁用已經存在的約束..........279
11.6.3 激活約束....................280
11.7 刪除約束.......................281
11.8 難點解答.......................281
11.8.1 為什麼要在設定外鍵之前設定
被引用表的主鍵..............281
11.8.2 各種約束的英文簡寫形式
是什麼?....................282
11.9 小結..........................282
11.10 動手糾錯......................282
第12章其他數據對象.......285
12.1 索引對象.......................286
12.1.1 索引概述....................286
12.1.2 創建索引....................287
12.1.3 合併和重建索引..............292
12.1.4 刪除索引....................294
12.1.5 顯示索引信息................294
12.2 視圖對象.......................297
12.2.1 創建視圖....................297
12.2.2 管理視圖....................302
12.3 序列對象.......................304
12.3.1 創建序列....................304
12.3.2 管理序列....................306
12.4 難點解答.......................308
12.4.1 建立索引的注意事項..........308
12.4.2 在SQL Developer中如何
創建索引....................308
12.5 小結..........................310
12.6 動手糾錯.......................310
第3篇高級套用
第13章管理表空間和
數據檔案...........314
13.1 表空間與數據檔案的關係............315
13.2 Oracle 11g的默認表空間............316
13.2.1 SYSTEM表空間................316
13.2.2 SYSAUX表空間................317
13.3 創建表空間........................318
13.3.1 界面方式創建表空間..........318
13.3.2 命令方式創建表空間..........320
13.4 維護表空間與數據檔案..............325
13.4.1 設定默認表空間..............325
13.4.2 更改表空間的狀態............325
13.4.3 重命名表空間................326
13.4.4 刪除表空間..................326
13.4.5 維護表空間中的數據檔案......327
13.5 難點解答.......................329
13.5.1 如何理解資料庫、表空間和表...329
13.5.2 數據表默認創建在哪個
表空間當中?................330
13.6 小結..........................330
13.7 動手糾錯.......................330
第14章事務...........333
14.1 事務的概述........................334
14.1.1 事務的特性..................334
14.1.2 事務的狀態..................335
14.2 操作事務.......................336
14.2.1 設定事務....................336
14.2.2 提交事務(COMMIT語句)......338
14.2.3 回滾事務(ROLLBACK語句)....339
14.2.4 設定回退點..................340
14.3 難點解答.......................343
14.3.1 事務如何自動提交............343
14.3.2 如何預防死鎖................343
14.4 小結..........................343
14.5 動手糾錯.......................343
第15章數據的導入與導出...347
15.1 EXPDP和IMPDP概述..................348
15.2 EXPDP導出數據.....................348
15.2.1 導出數據時準備..............348
15.2.2 導出表......................349
15.2.3 導出模式....................350
15.2.4 導出表空間..................352
15.2.5 導出全資料庫................352
15.3 IMPDP導入數據.....................353
15.3.1 導入表......................353
15.3.2 導入模式....................354
15.3.3 導入表空間..................354
15.3.4 導入全資料庫................354
15.4 圖形界面導入導出數據..............355
15.4.1 通過SQL Developer導出數據...355
15.4.2 通過SQL Developer導入數據...358
15.5 難點解答.......................359
15.3.1 導入、導出全資料庫時,
參數full=y是什麼意思?......359
15.3.2 如何進行Oracle數據備份......360
15.6 小結..........................360
15.7 動手糾錯.......................360
第4篇項目實戰
第16章企業人事管理系統...364
16.1 開發背景.......................365
16.2 系統分析.......................365
16.3 系統設計.......................365
16.3.1 系統目標....................365
16.3.2 系統功能結構................366
16.3.3 系統預覽....................367
16.3.4 業務流程圖..................368
16.3.5 資料夾結構設計..............369
16.4 資料庫設計........................369
16.4.1 資料庫分析..................369
16.4.2 資料庫概念設計..............369
16.4.3 資料庫邏輯結構設計..........371
16.5 主窗體設計........................371
16.5.1 導航欄的設計................372
16.5.2 工具列的設計................374
16.6 公共模組設計......................376
16.6.1 編寫Hibernate配置檔案.......376
16.6.2 編寫Hibernate持久化類和
映射檔案....................377
16.6.3 編寫通過Hibernate操作持久化
對象的常用方法..............378
16.6.4 創建具有特殊效果的部門
樹對話框....................379
16.6.5 創建通過部門樹選取員工的面板和 對話框......................381
16.7 人事管理模組設計..................383
16.7.1 人事管理模組功能概述........383
16.7.2 人事管理模組技術分析........384
16.7.3 人事管理模組的實現過程......385
16.8 待遇管理模組設計..................390
16.8.1 待遇管理模組功能概述........390
16.8.2 待遇管理模組技術分析........391
16.8.3 待遇管理模組的實現過程......391
16.9 小結..........................396
附錄1 Oracle中的SQL命令..397
附錄2 PL/SQL命令..........401
附錄3 Oracle中的SQL函式...402
附錄4 實例索引.............403
第1篇基礎知識
第1章Oracle 11g概述.........2
1.1 資料庫的產生.........................3
1.2 資料庫基本概念.......................4
1.2.1 數據、資料庫、資料庫管理系統和
資料庫系統.....................4
1.2.2 資料庫的標準語言—— SQL .......6
1.3 Oracle簡介...........................7
1.3.1 Oracle公司介紹.................7
1.3.2 Oracle體系介紹.................9
1.4 Oracle資料庫環境....................10
1.4.1 Oracle資料庫版本簡介..........10
1.4.2 Oracle 11g的下載與安裝........10
1.4.3 Oracle 11g的卸載..............19
1.5 難點解答.........................23
1.5.1 數據管理與資料庫系統的特點....23
1.5.2 Oracle伺服器、Oracle實例(Instance)、
Oracle資料庫(Database)的關係...24
1.6 小結............................24
第2章Oracle 管理工具........25
2.1 SQL*Plus工具........................26
2.1.1 啟動和連線SQL*Plus ............26
2.1.2 使用SQL*Plus查詢資料庫........28
2.1.3 創建SQL*Plus捷徑..........30
2.1.4 退出SQL*Plus ..................31
2.2 SQL Developer工具...................32
2.2.1 啟動SQL Developer .............32
2.2.2 創建資料庫連線................33
2.2.3 使用SQL Developer查詢資料庫...36
2.3 企業管理器(OEM)...................37
2.4 資料庫配置助手(DBCA)..............39
2.5 難點解答.........................47
2.5.1 SQL*Plus中的代碼為什麼
大小寫都有...................47
2.5.2 使用OEM管理資料庫的好處.......47
2.6 小結............................48
2.7 動手糾錯.........................48
第3章SQL *Plus命令.........51
3.1 SQL *Plus與資料庫的互動.............52
3.2 設定SQL *Plus的運行環境.............52
3.2.1 SET簡介命令...................53
3.2.2 使用SET命令設定運行環境.......55
3.3 常用的SQL *Plus命令.................59
3.3.1 HELP命令......................59
3.3.2 DESCRIBE命令..................60
3.3.3 CONN命令......................63
3.3.4 加入注釋......................64
3.4 格式化SQL *Plus輸出.................66
3.4.1 格式化列......................66
3.4.2 定義頁與報告的標題............71
3.5 數據字典.........................73
3.5.1 Oracle數據字典簡介............73
3.5.2 Oracle常用數據字典............73
3.6 難點解答.........................76
3.6.1 為什麼設定了linesize的值為300,運行
結果還會出現折行的現象........76
3.6.2 SQL *Plus命令與SQL語句的區別..76
3.7 小結............................76
3.8 動手糾錯.........................77
第4章數據表操作............79
4.1 數據表概述..........................80
4.2 表與表結構操作......................81
4.2.1 Oracle常用數據類型............81
4.2.2 表和表結構....................82
4.2.3 表結構設計....................82
4.3 OEM方式操作表.......................84
4.3.1 創建表........................84
4.3.2 修改表........................88
4.3.3 刪除表........................89
4.4 使用SQL Developer操作表.............89
4.4.1 創建表........................90
4.4.2 修改表........................91
4.4.3 刪除表........................92
4.5 在SQL *Plus上操作表.................92
4.5.1 創建表........................92
4.5.2 修改表........................95
4.5.3 刪除表.......................100
4.6 難點解答........................100
4.6.1 一條語句中刪除多個欄位.......100
4.6.2 drop命令和delete命令的區別...100
4.7 小結...........................101
4.8 動手糾錯........................101
第5章SQL查詢基礎........103
5.1 SQL語言簡介........................104
5.1.1 SQL語言的分類................104
5.1.2 SQL語言的編寫規則............104
5.2 SELECT語句簡介.....................108
5.3 查詢所有列.........................109
5.3.1 查詢單個表中所有列...........109
5.3.2 查詢多個表中所有列...........111
5.4 查詢特定列.........................112
5.4.1 查詢特定列...................113
5.4.2 偽列.........................113
5.5 消除重複行.........................114
5.5.1 查詢結果中包含重複行.........115
5.5.2 查詢結果中消除重複行.........115
5.6 帶有表達式的SELECT子句.............117
5.7 為列指定別名.......................118
5.7.1 不使用列別名..................118
5.7.2 使用列別名....................119
5.8 處理NULL...........................121
5.8.1 不處理NULL ...................121
5.8.2 使用NVL函式處理NULL ..........122
5.8.3 使用NVL2函式處理NULL .........123
5.9 連線字元串.........................124
5.9.1 使用||操作符連線字元串.......125
5.9.2 使用函式CONCAT連線字元串.....125
5.10 難點解答.......................126
5.10.1 NULL和0的區別...............126
5.10.2 為什麼有的地方用了單引號“‘”,有的地方沒用?..........................126
5.11 小結..........................127
5.12 動手糾錯.......................127
第6章SQL查詢進階........129
6.1 篩選查詢........................130
6.1.1 比較篩選.....................130
6.1.2 邏輯查詢(AND、OR和NOT).....131
6.1.3 模糊查詢(LIKE、NOT LIKE)...133
6.1.4 列表範圍查找(IN、NOT IN)...134
6.1.5 範圍查詢(BETWEEN…AND).....135
6.1.6 判斷內容是否為NULL
(IS NULL、IS NOT NULL)......136
6.2 分組查詢........................137
6.2.1 使用GROUP BY進行單欄位分組...138
6.2.2 使用GROUP BY進行多欄位分組...140
6.2.3 使用HAVING子句限制分組結果...141
6.3 排序查詢........................142
6.3.1 單列排序.....................142
6.3.2 多列排序.....................144
6.4 多表關聯查詢.......................145
6.4.1 表的別名.....................145
6.4.2 內連線.......................147
6.4.3 外連線.......................148
6.4.4 自然連線.....................151
6.4.5 自連線.......................152
6.4.6 交叉連線.....................154
6.5 難點解答........................155
6.5.1 如何區分左表、右表............155
6.5.2 遇到複雜查詢應該如何分析.....156
6.6 小結...........................156
6.7 動手糾錯........................156
第7章子查詢及常用
系統函式............159
7.1 初識子查詢.........................160
7.2 單行子查詢.........................161
7.3 多行子查詢.........................163
7.3.1 使用IN運算符.................163
7.3.2 使用ANY運算符................164
7.3.3 使用ALL運算符................165
7.4 Oracle常用系統函式.................166
7.4.1 字元類函式...................166
7.4.2 數字類函式...................168
7.4.3 日期和時間類函式.............170
7.4.4 轉換類函式...................172
7.4.5 聚合類函式...................174
7.5 運算元據庫(數據操縱語言)...........174
7.5.1 插入數據(INSERT語句).......175
7.5.2 更新數據(UPDATE語句).......179
7.5.3 刪除數據(DELETE語句和
TRUNCATE語句)...............183
7.6 難點解答........................184
7.6.1 SQL語句中單引號的用法........184
7.6.2 DROP、DELETE和TRUNCATE命令的
區別.........................184
7.7 小結...........................185
7.8 動手糾錯........................185
第2篇核心技術
第8章PLSQL語言編程......188
8.1 PL/SQL簡介.........................189
8.1.1 PL/SQL塊結構.................189
8.1.2 代碼注釋.....................190
8.1.3 標識符.......................191
8.1.4 分界符.......................192
8.2 數據類型........................193
8.2.1 基本數據類型.................194
8.2.2 數值型.......................194
8.2.3 字元型.......................196
8.2.4 日期型.......................198
8.2.5 布爾型.......................200
8.3 變數的聲明與賦值...................201
8.3.1 定義一般變數.................201
8.3.2 使用%TYPE聲明變數類型........202
8.3.3 使用RECORD聲明變數類型.......204
8.3.4 使用%ROWTYPE聲明變數.........206
8.4 流程控制語句.......................207
8.4.1 選擇語句.....................208
8.4.2 循環語句.....................214
8.5 難點解答........................218
8.5.1 變數定義時,如何選擇使用CHAR
還是VARCHAR2?...............218
8.5.2 LOOP循環和WHILE…LOOP循環的
區別.........................219
8.6 小結...........................219
8.7 動手糾錯........................219
第9章游標................223
9.1 游標簡介........................224
9.2 隱式游標........................225
9.3 顯式游標........................226
9.3.1 聲明游標.....................226
9.3.2 打開游標.....................227
9.3.3 讀取游標.....................228
9.3.4 關閉游標.....................228
9.3.5 顯式游標的屬性...............230
9.4 游標變數........................231
9.4.1 聲明游標變數.................231
9.4.2 打開游標變數.................232
9.4.3 關閉游標變數.................232
9.5 通過FOR語句遍歷游標................234
9.5.1 隱式游標中使用FOR語句........234
9.5.2 顯式游標中使用FOR語句........235
9.6 難點解答........................236
9.6.1 游標操作前必須打開,關閉後的
游標不可再用.................236
9.6.2 PL/SQL中顯式游標的操作步驟...236
9.7 小結...........................236
9.8 動手糾錯........................236
第10章過程、函式和觸發器....241
10.1 存儲過程.......................242
10.1.1 創建存儲過程................242
10.1.2 執行存儲過程................244
10.1.3 存儲過程的參數..............244
10.1.4 刪除存儲過程................249
10.2 函式..........................250
10.2.1 創建函式....................250
10.2.2 調用函式....................251
10.2.3 刪除函式....................252
10.3 觸發器........................253
10.3.1 觸發器簡介..................253
10.3.2 語句級觸發器................255
10.3.3 行級觸發器..................257
10.3.4 替換觸發器..................260
10.3.5 刪除觸發器..................263
10.4 難點解答.......................263
10.4.1 函式與存儲過程的區別........263
10.4.2 替換觸發器和語句級觸發器的
不同之處....................263
10.5 小結..........................264
10.6 動手糾錯.......................264
第11章數據表約束.........267
11.1 數據表約束簡介....................268
11.2 非空約束.......................268
11.2.1 設定非空約束................268
11.2.2 修改非空約束................269
11.2.3 刪除非空約束................270
11.3 唯一性約束........................270
11.3.1 設定唯一性約束..............270
11.3.2 刪除唯一性約束..............272
11.4 主鍵約束.......................272
11.4.1 創建表的同時設定主鍵約束....273
11.4.2 創建表之後添加主鍵約束......274
11.4.3 刪除主鍵約束................275
11.5 外鍵約束.......................275
11.5.1 設定外鍵約束................275
11.5.2 刪除具有外鍵約束的表........277
11.5.3 刪除外鍵約束................278
11.6 禁用和激活約束....................278
11.6.1 在定義約束時禁用............278
11.6.2 禁用已經存在的約束..........279
11.6.3 激活約束....................280
11.7 刪除約束.......................281
11.8 難點解答.......................281
11.8.1 為什麼要在設定外鍵之前設定
被引用表的主鍵..............281
11.8.2 各種約束的英文簡寫形式
是什麼?....................282
11.9 小結..........................282
11.10 動手糾錯......................282
第12章其他數據對象.......285
12.1 索引對象.......................286
12.1.1 索引概述....................286
12.1.2 創建索引....................287
12.1.3 合併和重建索引..............292
12.1.4 刪除索引....................294
12.1.5 顯示索引信息................294
12.2 視圖對象.......................297
12.2.1 創建視圖....................297
12.2.2 管理視圖....................302
12.3 序列對象.......................304
12.3.1 創建序列....................304
12.3.2 管理序列....................306
12.4 難點解答.......................308
12.4.1 建立索引的注意事項..........308
12.4.2 在SQL Developer中如何
創建索引....................308
12.5 小結..........................310
12.6 動手糾錯.......................310
第3篇高級套用
第13章管理表空間和
數據檔案...........314
13.1 表空間與數據檔案的關係............315
13.2 Oracle 11g的默認表空間............316
13.2.1 SYSTEM表空間................316
13.2.2 SYSAUX表空間................317
13.3 創建表空間........................318
13.3.1 界面方式創建表空間..........318
13.3.2 命令方式創建表空間..........320
13.4 維護表空間與數據檔案..............325
13.4.1 設定默認表空間..............325
13.4.2 更改表空間的狀態............325
13.4.3 重命名表空間................326
13.4.4 刪除表空間..................326
13.4.5 維護表空間中的數據檔案......327
13.5 難點解答.......................329
13.5.1 如何理解資料庫、表空間和表...329
13.5.2 數據表默認創建在哪個
表空間當中?................330
13.6 小結..........................330
13.7 動手糾錯.......................330
第14章事務...........333
14.1 事務的概述........................334
14.1.1 事務的特性..................334
14.1.2 事務的狀態..................335
14.2 操作事務.......................336
14.2.1 設定事務....................336
14.2.2 提交事務(COMMIT語句)......338
14.2.3 回滾事務(ROLLBACK語句)....339
14.2.4 設定回退點..................340
14.3 難點解答.......................343
14.3.1 事務如何自動提交............343
14.3.2 如何預防死鎖................343
14.4 小結..........................343
14.5 動手糾錯.......................343
第15章數據的導入與導出...347
15.1 EXPDP和IMPDP概述..................348
15.2 EXPDP導出數據.....................348
15.2.1 導出數據時準備..............348
15.2.2 導出表......................349
15.2.3 導出模式....................350
15.2.4 導出表空間..................352
15.2.5 導出全資料庫................352
15.3 IMPDP導入數據.....................353
15.3.1 導入表......................353
15.3.2 導入模式....................354
15.3.3 導入表空間..................354
15.3.4 導入全資料庫................354
15.4 圖形界面導入導出數據..............355
15.4.1 通過SQL Developer導出數據...355
15.4.2 通過SQL Developer導入數據...358
15.5 難點解答.......................359
15.3.1 導入、導出全資料庫時,
參數full=y是什麼意思?......359
15.3.2 如何進行Oracle數據備份......360
15.6 小結..........................360
15.7 動手糾錯.......................360
第4篇項目實戰
第16章企業人事管理系統...364
16.1 開發背景.......................365
16.2 系統分析.......................365
16.3 系統設計.......................365
16.3.1 系統目標....................365
16.3.2 系統功能結構................366
16.3.3 系統預覽....................367
16.3.4 業務流程圖..................368
16.3.5 資料夾結構設計..............369
16.4 資料庫設計........................369
16.4.1 資料庫分析..................369
16.4.2 資料庫概念設計..............369
16.4.3 資料庫邏輯結構設計..........371
16.5 主窗體設計........................371
16.5.1 導航欄的設計................372
16.5.2 工具列的設計................374
16.6 公共模組設計......................376
16.6.1 編寫Hibernate配置檔案.......376
16.6.2 編寫Hibernate持久化類和
映射檔案....................377
16.6.3 編寫通過Hibernate操作持久化
對象的常用方法..............378
16.6.4 創建具有特殊效果的部門
樹對話框....................379
16.6.5 創建通過部門樹選取員工的面板和
對話框......................381
16.7 人事管理模組設計..................383
16.7.1 人事管理模組功能概述........383
16.7.2 人事管理模組技術分析........384
16.7.3 人事管理模組的實現過程......385
16.8 待遇管理模組設計..................390
16.8.1 待遇管理模組功能概述........390
16.8.2 待遇管理模組技術分析........391
16.8.3 待遇管理模組的實現過程......391
16.9 小結..........................396
附錄1 Oracle中的SQL命令..397
附錄2 PL/SQL命令..........401
附錄3 Oracle中的SQL函式...402
附錄4 實例索引.............403