譯者序
前言
第一部分 數據庫基礎
第1章 數據庫介紹 1
1.1 是什麼數據庫 1
1.1.1 錶 1
1.1.2 行/記錄 2
1.1.3 列/字段 2
1.2 數據庫與電子錶格有何不同 3
1.2.1 行數多 3
1.2.2 允許許多用戶同時使用 3
1.2.3 安全 4
1.2.4 關係能力 4
1.2.5 保證數據質量的約束條件 5
1.3 怎樣知道本書是否對你有用 6
1.3.1 在作為數據庫管理員時 6
1.3.2 在開發軟件時 6
1.3.3 在進行業務分析時 6
1.3.4 如果隻想知道怎樣更好地利用數據庫 6
.1.4 sql的曆史 7
1.5 sql命令種類 7
1.5.1 數據定義命令 8
1.5.2 數據操縱命令 8
1.5.3 數據控製命令 8
1.5.4 數據檢索命令 8
1.5.5 事務處理控製命令 8
1.6 小結 9
1.7 習題 10
1.8 習題答案 11
第2章 數據存儲和檢索基礎 12
2.1 一個快速的練習 12
2.1.1 建立一個錶 12
2.1.2 插入記錄 13
2.1.3 選擇記錄 14
2.1.4 刪除錶 14
2.2 建立錶 16
2.2.1 錶和列的命名準則 16
2.2.2 建立更復雜的錶 20
2.2.3 顯示錶的結構 26
2.2.4 null和not null列 27
2.3 插入數據 28
2.3.1 怎樣插入包含null值的記錄 29
2.3.2 怎樣插入包含單引號的數據 31
2.4 查看數據 32
2.4.1 選擇特定的列 32
2.4.2 改變列的次序 33
2.4.3 利用錶中數據進行計算 34
2.4.4 將兩個或多個文本連接在一起 36
2.4.5 對列指定彆名 37
2.5 小結 37
2.6 習題 39
2.7 習題答案 41
第3章 高級數據操縱 42
3.1 限定所選擇的記錄 42
3.1.1 基於數值過濾記錄 42
3.1.2 基於文本過濾記錄 46
3.1.3 基於日期過濾記錄 48
3.2 改變記錄順序 49
3.3 顯示唯一值 52
3.4 從dual中選擇 54
3.5 更改錶中的數據 55
3.6 刪除錶中的記錄 56
3.6.1 刪除匹配指定條件的行 56
3.6.2 刪除所有的行 57
3.7 事務處理控製 57
3.7.1 撤消dml事務處理 57
3.7.2 使數據為其他人所用 61
3.7.3 隱式和顯式的commit 62
3.8 小結 62
3.9 習題 63
3.10 習題答案 64
第4章 控製sql*plus 65
4.1 編輯命令 65
4.1.1 使用文本編輯器 65
4.1.2 行編輯 67
4.2 復製和粘貼 69
4.3 清除sql*plus屏幕 71
4.4 定製sql*plus環境 71
4.4.1 用sql*plus菜單進行定製 71
4.4.2 使用命令進行定製 73
4.5 保存環境定製值 73
4.6 産生更可讀的輸齣 74
4.6.1 在sql*plus中格式化數值 74
4.6.2 sql*plus中的格式化文本 76
4.6.3 格式化sql*plus的列標題 76
4.7 將輸齣結果假脫機到磁盤 78
4.8 sql腳本文件 78
4.8.1 建立腳本文件 79
4.8.2 運行腳本文件 79
4.8.3 在腳本文件中使用變量 80
4.9 小結 82
4.10 習題 82
4.11 習題答案 83
第二部分 高級sql
第5章 sql函數 85
5.1 常用的單行函數 86
5.1.1 係統變量函數 86
5.1.2 數值函數 88
5.1.3 文本函數 90
5.1.4 日期函數 100
5.1.5 數據轉換函數 105
5.1.6 其他函數 112
5.2 常用的分組函數 119
5.2.1 利用group by子句分組數據 121
5.2.2 利用having子句包含和排除分組
的行 123
5.3 小結 124
5.4 習題 124
5.5 習題答案 125
第6章 使用索引和約束條件 127
6.1 索引 129
6.1.1 數據庫的索引 129
6.1.2 索引何時有用 130
6.1.3 如何建立索引 131
6.1.4 各種索引類型 132
6.2 保持數據的完整性:約束條件 134
6.2.1 什麼是約束條件 134
6.2.2 怎樣建立約束條件 134
6.2.3 啓用和禁止已有的約束條件 141
6.2.4 更改和刪除已有的約束條件 143
6.2.5 約束條件使用範圍 144
6.3 錶之間的關係 145
6.3.1 數據模型介紹 145
6.3.2 使用約束條件加強錶之間的關係 146
6.3.3 編寫select語句顯示多個錶中的
數據 151
6.3.4 外部連接 154
6.3.5 連接運算符 155
6.4 編寫子查詢 158
6.4.1 什麼是子查詢 158
6.4.2 子查詢可以解決的問題類型 158
6.4.3 單行子查詢 158
6.4.4 多行子查詢 160
6.4.5 多列子查詢 161
6.5 小結 162
6.6 習題 163
6.7 習題答案 164
第7章 其他有用的oracle技術 165
7.1 在錶之間傳輸數據 168
7.1.1 利用insert傳輸數據 169
7.1.2 基於已有的錶建立新錶 170
7.2 重新命名錶 171
7.3 更改錶的結構 172
7.3.1 增加列 172
7.3.2 更改列的數據類型 173
7.3.3 更改空值選項 173
7.4 視圖 174
7.4.1 建立視圖 175
7.4.2 刪除視圖 176
7.4.3 更改視圖的定義 177
7.4.4 top n分析 177
7.5 其他數據庫對象 178
7.5.1 序列 178
7.5.2 同義詞 181
7.5.3 oracle數據字典 183
7.6 小結 183
7.7 習題 185
7.8 習題答案 186
第三部分 用pl/sql編程
第8章 pl/sql 187
8.1 pl/sql介紹 187
8.1.1 pl/sql描述 191
8.1.2 pl/sql、sql和sql*plus之間的
關係 191
8.1.3 存儲過程、函數和觸發器 191
8.1.4 存儲過程和sql腳本 193
8.2 pl/sql塊的結構 193
8.2.1 標題部分 194
8.2.2 定義部分 195
8.2.3 執行部分 195
8.2.4 異常部分 195
8.3 建立一個簡單的pl/sql過程 196
8.4 pl/sql變量和常量 198
8.4.1 定義pl/sql變量 199
8.4.2 定義pl/sql常量 199
8.4.3 給變量賦值 199
8.4.4 使用變量 201
8.5 pl/sql中的控製結構 201
8.5.1 if語句 202
8.5.2 循環 204
8.5.3 遊標 207
8.5.4 嵌套循環與遊標例子 210
8.6 錯誤處理 213
8.6.1 異常 213
8.6.2 係統定義異常 213
8.6.3 程序員定義的異常 215
8.7 小結 216
8.8 習題 216
8.9 習題答案 217
第9章 其他pl/sql工具 219
9.1 編碼約定 223
9.2 關於pl/sql和oracle服務器的更多
知識 224
9.2.1 定義動態變量和pl/sql記錄 224
9.2.2 pl/sql中的dml或隱式遊標 228
9.2.3 隱式遊標與顯式遊標 232
9.3 計時操作 232
9.3.1 用一個程序來度量時間 233
9.3.2 使用timing命令記錄實際的時間 235
9.4 pl/sql程序包 236
9.5 觸發器 241
9.5.1 觸發器類型 243
9.5.2 觸發器舉例 243
9.5.3 修改觸發器 246
9.5.4 關於觸發器的要點 247
9.6 odbc 247
9.6.1 建立odbc連接 248
9.6.2 odbc連接的應用 252
9.7 小結 256
9.8 習題 257
9.9 習題答案 257
術語 259
· · · · · · (
收起)