目 錄 第1章 緒論 11.1 數據管理技術的產生和發展 11.1.1 人工管理數據階段 11.1.2 文件管理數據階段 21.1.3 數據庫管理階段 31.1.4 大數據階段 51.2 數據庫的基本概念 61.2.1 數據(信息) 61.2.2 數據庫、數據庫管理系統 61.2.3 數據庫系統 71.3 數據模型 71.3.1 數據模型的組成要素 81.3.2 數據建模 81.4 數據庫系統結構 131.4.1 三級模式 131.4.2 二級映像 141.4.3 采用三級模型二級映像結構 的優點 141.5 數據庫管理系統的功能、組成、 工作方式 151.5.1 功能 151.5.2 組成 151.5.3 工作方式 161.6 數據庫產品及傳統的關系型數據庫 系統面臨的挑戰 171.6.1 數據庫產品 171.6.2 傳統的關系型數據庫系統面臨 的挑戰 191.7 小結 20習題1 20第2章 關系型數據庫基礎 212.1 關系模型的基本概念 212.1.1 域、笛卡兒積、關系、關系 模式 212.1.2 碼 242.2 關系模型的完整性約束 252.2.1 實體完整性規則 262.2.2 參照完整性規則 262.2.3 用戶自定義完整性規則 272.3 關系操作 272.3.1 關系數據語言 272.3.2 關系代數 272.4 小結 36習題2 36第3章 sql的數據定義和完整性約束 383.1 sql概述 383.1.1 sql的發展歷史 383.1.2 sql的特點 393.1.3 sql數據庫的體系結構 403.2 sql server介紹 403.2.1 sql server的發展歷史 413.2.2 transact-sql 423.3 sql的數據定義 463.3.1 數據庫的定義與刪除 463.3.2 基本表的定義、修改和刪除 473.3.3 索引的建立和刪除 513.4 sql的數據操縱和完整性約束 的作用 523.4.1 插入數據和完整性約束的作用 523.4.2 刪除數據和完整性約束的作用 533.4.3 修改數據和完整性約束的作用 543.5 小結 55習題3 55第4章 sql的數據查詢 564.1 sql的數據查詢命令 564.2 簡單查詢 574.2.1 簡單無條件查詢 574.2.2 簡單條件查詢 574.2.3 使用between… and… 的查詢 584.2.4 字符串匹配查詢 594.2.5 空值查詢 604.2.6 使用in的查詢 604.2.7 distinct短語的作用 614.2.8 存儲查詢結果 614.2.9 查詢結果的排序 614.2.10 top短語的作用 624.2.11 集合運算 624.3 連接查詢 644.3.1 一般連接 644.3.2 別名和自連接查詢 664.3.3 外連接查詢 664.4 分組及匯總查詢 674.4.1 一般匯總查詢 674.4.2 使用group by的分組匯總 查詢 674.4.3 帶明細的分組匯總查詢 684.5 嵌套查詢 694.5.1 內外層不相關的嵌套查詢 694.5.2 內外層互相關的嵌套查詢 714.5.3 使用exists的嵌套查詢 724.6 需要查詢支持的數據操作 744.6.1 插入操作 744.6.2 修改操作 754.6.3 刪除操作 754.7 視圖及其操作 754.7.1 視圖的建立和刪除 764.7.2 視圖的使用 774.7.3 視圖的作用 794.8 小結 79習題4 80第5章 關系型數據庫編程基礎 815.1 應用程序訪問數據庫 815.1.1 嵌入式sql 815.1.2 dao和ole db 855.1.3 odbc 865.1.4 jdbc 875.1.5 ado和ado.net 895.2 存儲過程 915.2.1 基本概念 915.2.2 transact-sql基本語法 925.2.3 創建和執行存儲過程 945.2.4 存儲過程的修改和刪除 975.2.5 獲得有關存儲過程的信息 985.3 觸發器 985.3.1 基本概念 985.3.2 創建觸發器 995.3.3 禁止和啟用觸發器 1015.3.4 修改和刪除觸發器 1015.4 小結 102習題5 102第6章 關系數據及其規范化理論 1036.1 問題的提出 1036.1.1 關系模式中可能存在的問題 1036.1.2 解決的方法 1046.2 函數依賴 1046.2.1 函數依賴的基本概念 1056.2.2 函數依賴的推理規則 1066.2.3 碼的函數依賴表示 1096.2.4 *小函數依賴集 1096.3 規范化 1116.3.1 范式 1116.3.2 模式分解 1156.3.3 關系模式規范化步驟 1206.4 小結 121習題6 121第7章 數據庫設計 1227.1 數據庫設計概述 1227.1.1 數據庫設計的任務和特點 1227.1.2 數據庫設計方法 1237.1.3 數據庫設計步驟 1237.1.4 數據庫設計過程中的各級 模式 1257.2 需求分析 1257.2.1 需求分析的任務 1257.2.2 需求分析的方法和工具 1267.2.3 需求分析的結果 1277.3 概念結構設計 1277.3.1 概念模型及表示方法 1277.3.2 概念結構設計的方法 1307.3.3 概念設計的步驟 1317.4 邏輯結構設計 1367.4.1 從e-r模型到關系模式 的轉換 1367.4.2 邏輯結構的優化 1387.4.3 設計用戶子模式 1397.5 數據庫的物理設計 1407.5.1 數據庫物理設計的內容 和方法 1407.5.2 確定數據庫的物理結構 1407.5.3 評價物理結構 1417.6 數據庫的實施和維護 1427.6.1 建立數據庫和應用程序 的調試 1427.6.2 數據庫的試運行和測試 1427.6.3 數據庫的運行和維護 1437.7 數據庫設計實例 1447.7.1 需求分析 1447.7.2 概念結構設計 1477.7.3 邏輯結構設計 1507.7.4 數據庫的物理設計和實施 1527.8 小結 154習題7 154第8章 數據庫的安全性 1558.1 數據庫安全性概述 1558.2 用戶標識與鑒別 1568.3 存取控制 1578.3.1 自主存取控制(dac)方法 1578.3.2 強制存取控制(mac)方法 1618.3.3 基于角色的存取控制 (rbac)模型 1628.4 其他安全控制方法 1648.4.1 視圖機制 1648.4.2 審計 1658.4.3 數據加密 1668.4.4 統計數據庫安全性 1668.5 常見數據庫管理系統的安全控制 1678.5.1 sql server的安全控制 1678.5.2 oracle的安全控制 1708.5 小結 173習題8 173第9章 數據庫恢復和并發控制 1759.1 事務 1759.1.1 事務的基本概念 1759.1.2 事務的性質 1759.2 數據庫恢復技術 1769.2.1 故障的種類 1769.2.2 恢復的實現技術 1779.2.3 故障恢復策略 1799.3 常見數據庫的恢復技術 1829.3.1 sql server數據庫的恢復 技術 1829.3.2 oracle數據庫的恢復技術 1839.4 并發控制 1859.4.1 并發操作帶來的問題 1859.4.2 封鎖 1869.4.3 并發調度的可串行性 1899.4.4 兩段鎖協議 1909.4.5 封鎖的粒度 1919.5 常見數據庫的并發控制技術 1939.5.1 sql server的封鎖方式 1939.5.2 oracle的封鎖方式 1939.6 小結 194習題9 194第10章 基于關系型數據庫的web應用 19610.1 數據庫應用體系結構概述 19610.1.1 基于c/s模式的體系結構 19610.1.2 基于b/s模式的體系結構 19710.2 常見的web服務器簡介 19810.2.1 iis 19810.2.2 tomcat 19910.2.3 weblogic 20010.3 服務器端的動態網頁技術 20010.3.1 jsp 20010.3.2 基于asp .net構建web應用 程序 20410.4 客戶端網頁設計相關技術簡介 20410.4.1 基于css+div構建網頁 20510.4.2 客戶端腳本語言javascript 簡介 20610.5 基于xml的數據庫信息管理 20910.5.1