譯者序
前言
第一部分 數據庫基礎
第1章 數據庫介紹
1.1 是什么數據庫
1.1.1 表
1.1.2 行/記錄
1.1.3 列/字段
1.2 數據庫與電子表格有何不同
1.2.1 行數多
1.2.2 允許許多用戶同時使用
1.2.3 安全
1.2.4 關系能力
1.2.5 保證數據質量的約束條件
1.3 怎樣知道本書是否對你有用
1.3.1 在作為數據庫管理員時
1.3.2 在開發(fā)軟件時
1.3.3 在進行業(yè)務分析時
1.3.4 如果只想知道怎樣更好地利用數據庫
1.4 SQL的歷史
1.5 SQL命令種類
1.5.1 數據定義命令
1.5.2 數據操縱命令
1.5.3 數據控制命令
1.5.4 數據檢索命令
1.5.5 事務處理控制命令
1.6 小結
1.7 習題
1.8 習題答案
第2章 數據存儲和檢索基礎
2.1 一個快速的練習
2.1.1 建立一個表
2.1.2 插入記錄
2.1.3 選擇記錄
2.1.4 刪除表
2.2 建立表
2.2.1 表和列的命名準則
2.2.2 建立更復雜的表
2.2.3 顯示表的結構
2.2.4 NULL和NOT NULL列
2.3 插入數據
2.3.1 怎樣插入包含NULL值的記錄
2.3.2 怎樣插入包含單引號的數據
2.4 查看數據
2.4.1 選擇特定的列
2.4.2 改變列的次序
2.4.3 利用表中數據進行計算
2.4.4 將兩個或多個文本連接在一起
2.4.5 對列指定別名
2.5 小結
2.6 習題
2.7 習題答案
第3章 高級數據操縱
3.1 限定所選擇的記錄
3.1.1 基于數值過濾記錄
3.1.2 基于文本過濾記錄
3.1.3 基于日期過濾記錄
3.2 改變記錄順序
3.3 顯示唯一值
3.4 從DUAL中選擇
3.5 更改表中的數據
3.6 刪除表中的記錄
3.6.1 刪除匹配指定條件的行
3.6.2 刪除所有的行
3.7 事務處理控制
3.7.1 撤消DML事務處理
3.7.2 使數據為其他人所用
3.7.3 隱式和顯式的COMMIT
3.8 小結
3.9 習題
3.10 習題答案
第4章 控制SQL*Plus
4.1 編輯命令
4.1.1 使用文本編輯器
4.1.2 行編輯
4.2 復制和粘貼
4.3 清除SQL*Plus屏幕
4.4 定制SQL*Plus環(huán)境
4.4.1 用SQL*Plus菜單進行定制
4.4.2 使用命令進行定制
4.5 保存環(huán)境定制值
4.6 產生更可讀的輸出
4.6.1 在SQL*Plus中格式化數值
4.6.2 SQL*Plus中的格式化文本
4.6.3 格式化SQL*Plus的列標題
4.7 將輸出結果假脫機到磁盤
4.8 SQL腳本文件
4.8.1 建立腳本文件
4.8.2 運行腳本文件
4.8.3 在腳本文件中使用變量
4.9 小結
4.10 習題
4.11 習題答案
第二部分 高級SQL
第5章 SQL函數
5.1 常用的單行函數
5.1.1 系統(tǒng)變量函數
5.1.2 數值函數
5.1.3 文本函數
5.1.4 日期函數
5.1.5 數據轉換函數
5.1.6 其他函數
5.2 常用的分組函數
5.2.1 利用GROUP BY子句分組數據
5.2.2 利用HAVING子句包含和排除分組的行
5.3 小結
5.4 習題
5.5 習題答案
第6章 使用索引和約束條件
6.1 索引
6.1.1 數據庫的索引
6.1.2 索引何時有用
6.1.3 如何建立索引
6.1.4 各種索引類型
6.2 保持數據的完整性:約束條件
6.2.1 什么是約束條件
6.2.2 怎樣建立約束條件
6.2.3 啟用和禁止已有的約束條件
6.2.4 更改和刪除已有的約束條件
6.2.5 約束條件使用范圍
6.3 表之間的關系
6.3.1 數據模型介紹
6.3.2 使用約束條件加強表之間的關系
6.3.3 編寫SELECT語句顯示多個表中的數據
6.3.4 外部連接
6.3.5 連接運算符
6.4 編寫子查詢
6.4.1 什么是子查詢
6.4.2 子查詢可以解決的問題類型
6.4.3 單行子查詢
6.4.4 多行子查詢
6.4.5 多列子查詢
6.5 小結
6.6 習題
6.7 習題答案
第7章 其他有用的Oracle技術
7.1 在表之間傳輸數據
7.1.1 利用INSERT傳輸數據
7.1.2 基于已有的表建立新表
7.2 重新命名表
7.3 更改表的結構
7.3.1 增加列
7.3.2 更改列的數據類型
7.3.3 更改空值選項
7.4 視圖
7.4.1 建立視圖
7.4.2 刪除視圖
7.4.3 更改視圖的定義
7.4.4 TOP N分析
7.5 其他數據庫對象
7.5.1 序列
7.5.2 同義詞
7.5.3 Oracle數據字典
7.6 小結
7.7 習題
7.8 習題答案
第三部分 用PL/SQL編程
第8章 PL/SQL
8.1 PL/SQL介紹
8.1.1 PL/SQL描述
8.1.2 PL/SQL、SQL和SQL*Plus之間的關系
8.1.3 存儲過程、函數和觸發(fā)器
8.1.4 存儲過程和SQL腳本
8.2 PL/SQL塊的結構
8.2.1 標題部分
8.2.2 定義部分
8.2.3 執(zhí)行部分
8.2.4 異常部分
8.3 建立一個簡單的PL/SQL過程
8.4 PL/SQL變量和常量
8.4.1 定義PL/SQL變量
8.4.2 定義PL/SQL常量
8.4.3 給變量賦值
8.4.4 使用變量
8.5 PL/SQL中的控制結構
8.5.1 IF語句
8.5.2 循環(huán)
8.5.3 游標
8.5.4 嵌套循環(huán)與游標例子
8.6 錯誤處理
8.6.1 異常
8.6.2 系統(tǒng)定義異常
8.6.3 程序員定義的異常
8.7 小結
8.8 習題
8.9 習題答案
第9章 其他PL/SQL工具
9.1 編碼約定
9.2 關于PL/SQL和Oracle服務器的更多知識
9.2.1 定義動態(tài)變量和PL/SQL記錄
9.2.2 PL/SQL中的DML或隱式游標
9.2.3 隱式游標與顯式游標
9.3 計時操作
9.3.1 用一個程序來度量時間
9.3.2 使用TIMING命令記錄實際的時間
9.4 PL/SQL程序包
9.5 觸發(fā)器
9.5.1 觸發(fā)器類型
9.5.2 觸發(fā)器舉例
9.5.3 修改觸發(fā)器
9.5.4 關于觸發(fā)器的要點
9.6 ODBC
9.6.1 建立ODBC連接
9.6.2 ODBC連接的應用
9.7 小結
9.8 習題
9.9 習題答案
術語