本書系統地講述了數據庫的基本理論和開發技術。全書分7章,主要內容包括:數據庫系統的組成、表及查詢、SQL、關系規范化理論、數據庫的設計方法、SQL程序設計、管理數據庫以及數據庫設計實例等,每章后均附有習題! ”緯Z言通俗易懂,既有理論的概括與探討,又有實際應用中經驗方法的總結,本書可作為高等學校計算機、信息及相關專業的數據庫教材,也適合從事數據庫開發的人員參考閱讀。
1.本書配套實驗是普通高等教育“十一五”國家級規劃教材,已經再版。2.SQL Server+Power Designer,全書貫穿于一個學籍管理實例。3.教材的實用性強。理論介紹后,接著就是具體操作案例,使理論教學與實驗教學環環緊扣,渾然一體。
目 錄
第1章 認識數據庫 1
1.1 數據管理技術的發展 2
1.1.1 數據處理技術 2
1.1.2 數據庫技術的發展階段 2
1.1.3 數據庫技術的新進展 4
1.2 數據庫系統 6
1.2.1 數據庫系統的組成 6
1.2.2 數據庫系統的模式結構 6
1.2.3 數據庫系統的體系結構 9
1.3 SQL Server 數據庫管理系統 11
1.3.1 SQL Server 2008簡介 11
1.3.2 配置SQL Server 2008 13
1.3.3 SQL Server 2008主要管理工具 15 目 錄
第1章 認識數據庫 1
1.1 數據管理技術的發展 2
1.1.1 數據處理技術 2
1.1.2 數據庫技術的發展階段 2
1.1.3 數據庫技術的新進展 4
1.2 數據庫系統 6
1.2.1 數據庫系統的組成 6
1.2.2 數據庫系統的模式結構 6
1.2.3 數據庫系統的體系結構 9
1.3 SQL Server 數據庫管理系統 11
1.3.1 SQL Server 2008簡介 11
1.3.2 配置SQL Server 2008 13
1.3.3 SQL Server 2008主要管理工具 15
1.3.4 SQL概述 18
1.4 數據庫的基本操作 22
1.4.1 SQL Sever數據庫的存儲結構 22
1.4.2 SQL Server系統數據庫 24
1.4.3 創建數據庫 25
1.4.4 修改數據庫 28
1.4.5 刪除數據庫 30
1.4.6 數據備份與還原 31
1.5 數據庫的其他操作 35
1.5.1 分離和附加數據庫 35
1.5.2 脫機和聯機數據庫 37
1.5.3 收縮數據庫 37
思考與練習 38
第2章 管理與維護表 39
2.1 關系模型 39
2.1.1 關系模型的基本術語 39
2.1.2 關系的鍵 40
2.1.3 關系的完整性 41
2.2 表結構與數據類型 43
2.2.1 數據類型 43
2.2.2 約束 47
2.2.3 表結構設計 49
2.3 表的創建、修改和刪除 50
2.3.1 表的創建 50
2.3.2 表的修改 51
2.3.3 表的刪除 52
2.4 表的數據操作 53
2.4.1 插入數據 53
2.4.2 修改數據 54
2.4.3 刪除數據 54
2.4.4 更新操作與數據庫的一致性 55
2.5 實例——學籍管理數據庫中表的創建 57
思考與練習 59
第3章 查詢、視圖和索引 61
3.1 關系代數 61
3.1.1 傳統的集合運算 64
3.1.2 專門的關系運算 65
3.1.3 關系代數查詢綜合舉例 70
3.2 簡單查詢 71
3.2.1 選擇表中的若干列 71
3.2.2 選擇表中的若干元組 74
3.2.3 對查詢結果排序 79
3.3 連接查詢 80
3.3.1 等值與非等值連接查詢 80
3.3.2 自身連接 83
3.3.3 外連接 83
3.4 分組及匯總查詢 85
3.4.1 聚合函數 85
3.4.2 分組聚合 86
3.5 嵌套查詢 88
3.5.1 使用IN的子查詢 89
3.5.2 使用比較運算符的子查詢 91
3.5.3 使用ANY或ALL的子查詢 92
3.5.4 使用存在量詞EXISTS的子查詢 93
3.6 集合查詢 95
3.7 SQL查詢的一般格式 96
3.8 視圖 97
3.8.1 創建視圖 97
3.8.2 管理視圖 100
3.8.3 查詢視圖 101
3.8.4 更新視圖 102
3.8.5 視圖的作用 105
3.9 索引 106
3.9.1 索引的概念 106
3.9.2 索引的分類 107
3.9.3 創建索引 107
3.9.4 管理索引 109
思考與練習 110
第4章 數據庫設計 112
4.1 數據庫設計概述 112
4.1.1 數據庫設計任務及方法 112
4.1.2 數據庫設計階段劃分 114
4.2 需求分析 114
4.2.1 需求分析方法 115
4.2.2 數據流圖與數據字典 116
4.2.3 實例——學籍管理需求分析 119
4.3 概念結構設計 123
4.3.1 概念結構設計的特點和方法 123
4.3.2 概念模型 123
4.3.3 數據抽象與局部視圖設計 125
4.3.4 視圖的集成 126
4.3.5 實例——學籍管理概念結構設計 127
4.4 邏輯結構設計 129
4.4.1 E-R圖向關系數據模型的轉換 129
4.4.2 函數依賴 133
4.4.3 范式 136
4.4.4 關系模式的規范化 145
4.4.5 設計用戶子模式 148
4.4.6 實例——學籍管理邏輯結構設計 149
4.5 物理結構設計 150
4.5.1 分析影響數據庫物理設計的因素 151
4.5.2 關系模式存取方法選擇 152
4.5.3 確定系統配置 153
4.5.4 評價物理結構 153
4.6 數據庫實施與維護 153
4.6.1 創建數據庫 153
4.6.2 組織數據入庫 154
4.6.3 數據庫試運行 154
4.6.4 數據庫運行與維護 154
4.7 數據庫建模工具 155
思考與練習 157
第5章 SQL程序設計與開發 158
5.1 批處理與腳本 159
5.1.1 批處理 159
5.1.2 腳本 160
5.2 SQL程序設計基礎 160
5.2.1 SQL程序基本成分 161
5.2.2 SQL程序編寫規范 163
5.3 流程控制語句 164
5.3.1 語句塊:BEGIN…END 165
5.3.2 條件執行:IF…ELSE語句 165
5.3.3 多分支CASE表達式 166
5.3.4 循環:WHILE語句 167
5.3.5 非條件執行:GOTO 語句 168
5.3.6 調度執行:WAITFOR 168
5.4 游標 168
5.4.1 游標 168
5.4.2 聲明游標 169
5.4.3 打開游標 170
5.4.4 讀取數據 170
5.4.5 關閉游標 172
5.4.6 釋放游標 172
5.5 SQL程序的調試與錯誤處理 174
5.5.1 SQL程序的錯誤類型 174
5.5.2 SQL程序的錯誤處理 174
5.6 SQL程序實例 175
5.6.1 自定義函數 175
5.6.2 存儲過程 176
5.6.3 觸發器 179
思考與練習 180
第6章 管理數據庫 182
6.1 數據庫的安全管理 183
6.1.1 安全性概述 183
6.1.2 數據庫管理系統的身份識別機制 183
6.1.3 SOL Server的用戶和角色管理 184
6.1.4 SQL Server的安全認證模式 192
6.2 數據庫的完整性管理 193
6.2.1 完整性約束 193
6.2.2 完整性控制 195
6.2.3 SQL Server數據完整性的實現方法 197
6.3 SQL Server數據庫恢復 200
6.3.1 恢復的原理 201
6.3.2 恢復的實現 202
6.3.3 數據庫鏡像 207
6.4 并發控制 208
6.4.1 并發控制概述 209
6.4.2 并發調度的可串行性 211
6.4.3 封鎖協議 212
6.4.4 死鎖和活鎖 214
思考與練習 215
第7章 應用實例——學籍管理系統 217
7.1 系統開發環境 217
7.2 系統功能結構設計 218
7.3 數據庫設計 218
7.4 ADO.NET數據庫訪問SQL Server技術 219
7.4.1 ADO.NET的數據處理類 219
7.4.2 ADO.NET的數據處理類的常用屬性和方法 220
7.4.3 ADO.NET訪問數據庫的步驟 221
7.5 系統實現 222
7.5.1 系統主框架布局設計 223
7.5.2 系統頁面模板設計 223
7.5.3 設置數據庫連接信息 223
7.5.4 系統公共類 224
7.5.5 系統部分存儲過程、自定義函數、視圖 230
7.5.6 系統部分頁面 233
附錄A SQL Server支持的運算符與函數 241
附錄B 學籍管理數據表結構 245
參考文獻 248