內容簡介
本書以學生成績管理系統為主線,主要講授資料庫套用系統的開發方法及過程。其中,套用系統設計以SQL Server 2005為平台,其前端套用開發工具採用VB.NET 2005。全書分為3部分,包括資料庫系統基礎部分、SQL Server資料庫管理系統部分和VB.NET開發資料庫套用系統過程。各章給出了大量的示範性設計實例,並配有一定的練習題和上機實驗題。
本書內容詳實、通俗易懂、實用性強,要求讀者起點低。書中採用循序漸進、由淺入深的教學方式介紹資料庫套用系統開發的各個環節,本書可以作為各類院校相關專業及培訓班的“資料庫系統開發”和“SQL Server 2005套用系統開發”課程的教學用書,對於計算機套用人員和計算機愛好者來說本書也是一本實用的自學參考書。
目錄
第1部分資料庫系統基礎 1
第1章資料庫系統概述 2
1.1數據和數據管理 2
1.1.1數據 2
1.1.2數據管理 2
1.2計算機數據管理的3個階段 3
1.2.1人工管理階段 3
1.2.2檔案系統管理階段 3
1.2.3資料庫系統管理階段 4
1.3什麼是資料庫 5
1.3.1資料庫的特點 5
1.3.2資料庫的三級結構 6
1.3.3模式、內模式和外模式 7
1.4什麼是資料庫管理系統 8
1.4.1DBMS的主要功能 9
1.4.2DBMS的組成 9
1.5什麼是資料庫系統 10
1.5.1計算機系統 10
1.5.2資料庫 10
1.5.3資料庫管理系統 10
1.5.4應用程式 11
1.5.5用戶 11
1.6資料庫系統的體系結構 11
1.6.1兩層客戶機/伺服器結構 11
1.6.2多層客戶機/伺服器結構 12
1.7兩種模型 13
1.7.1概念模型 14
1.7.2數據模型 15
1.8關係資料庫理論 16
1.8.1基本術語 16
1.8.2關係運算 17
1.8.3規範化設計理念和方法 19
練習題1 20
第2章資料庫設計 21
2.1資料庫設計過程 21
2.2需求分析 21
2.3概念結構設計 22
2.3.1概念模型設計的方法與步驟 22
2.3.2數據抽象與局部視圖設計 23
2.3.3視圖的集成 25
2.4邏輯結構設計 26
2.4.1概念模型向數據模型的轉換 26
2.4.2設計用戶子模式 28
2.5物理結構設計 28
2.6資料庫實施 28
2.7資料庫運行維護 29
2.8“學生成績管理系統”設計說明 29
2.8.1系統功能 29
2.8.2資料庫設計 29
2.8.3系統運行演示 30
練習題2 33
第2部分SQLServer資料庫管理系統 34
第3章SQLServer2005系統概述 35
3.1SQLServer2005系統簡介 35
3.1.1SQLServer2005的發展歷史 35
3.1.2SQLServer2005的各種版本 36
3.1.3SQLServer2005的新特徵 36
3.1.4SQLServer2005的組成部分 37
3.1.5SQLServer2005組件的分類 39
3.2系統需求 41
3.2.1硬體需求 41
3.2.2軟體需求 42
3.2.3SQLServer2005的網路
環境需求 42
3.3SQLServer2005的安裝 42
3.4SQLServer2005的工具和實用程式 43
3.4.4資料庫引擎最佳化顧問 48
3.4.5AnalysisServices 48
3.4.6SQLServerConfiguration
Manager 49
3.4.7SQLServer文檔和教程 50
練習題3 50
第4章創建和使用資料庫 51
4.1資料庫對象 51
4.2系統資料庫 52
4.3SQLServer資料庫的存儲結構 53
4.3.1檔案和檔案組 53
4.3.2事務日誌 54
4.4創建資料庫 55
4.5配置資料庫 57
4.5.1添加和刪除數據檔案、
日誌檔案 57
4.5.2資料庫選項設定 60
4.5.3更改資料庫所有者 61
4.5.4資料庫重命名 62
4.6刪除資料庫 62
練習題4 63
第5章創建和操作表 64
5.1表的概念 64
5.1.1什麼是表 64
5.1.2表中數據的完整性 65
5.1.3SQLServer幾個重要的
系統表 66
5.2創建表 67
5.3修改表結構 70
5.4創建資料庫關係圖 71
5.4.1建立資料庫關係圖 71
5.4.2刪除資料庫關係 73
5.5更改表名 74
5.6刪除表 75
5.7記錄的新增和修改 76
練習題5 77
第6章T-SQL基礎 78
6.1SQL語言 78
6.1.1SQL語言概述 78
6.1.2SQL語言的分類 79
6.2T-SQL概述 79
6.2.1T-SQL的語法約定 79
6.2.2T-SQL的資料庫對象全名 80
6.2.3如何在SQLServer管理
控制器中執行T-SQL語句 80
6.3數據定義語言(DDL) 82
6.3.1資料庫的操作語句 82
6.3.2數據表的操作語句 87
6.4數據操縱語言(DML) 91
6.4.1INSERT語句 91
6.4.2UPDATE語句 92
6.4.3DELETE語句 92
6.5數據查詢語言(DQL) 93
6.5.1投影查詢 93
6.5.2選擇查詢 95
6.5.3排序查詢 96
6.5.4使用聚合函式 96
6.5.5表的連線查詢 99
6.5.6子查詢 102
6.5.7查詢結果求並集和交集 105
6.5.8相關子查詢 106
6.5.9帶EXISTS測試的子查詢 107
6.5.10空值及其處理 108
練習題6 110
第7章T-SQL高級套用 111
7.1數據匯總 111
7.1.1在數據匯總中使用聚合函式 111
7.1.2在數據匯總中使用
GROUPBY子句 113
7.2複雜連線查詢 115
7.2.1連線條件 116
7.2.2內連線 117
7.2.3外連線 117
7.2.4交叉連線 119
7.3複雜子查詢 119
7.3.1子查詢規則 121
7.3.2子查詢類型 121
7.3.3多層嵌套子查詢 124
7.4數據來源是一個查詢的結果 124
7.5交叉表查詢 125
7.5.1使用PIVOT運算符 125
7.5.2使用UNPIVOT運算符 126
練習題7 127
第8章SQLServer程式設計 129
8.1標識符 129
8.1.1常規標識符 129
8.1.2分隔標識符 130
8.2數據類型 130
8.2.1系統數據類型 131
8.2.2用戶定義數據類型 137
8.3變數 139
8.3.1局部變數 140
8.3.2全局變數 142
8.4運算符 143
8.4.1算術運算符 144
8.4.2賦值運算符 144
8.4.3按位運算符 144
8.4.4比較運算符 145
8.4.5邏輯運算符 145
8.4.6字元串連線運算符 146
8.4.7一元運算符 147
8.4.8運算符優先權 147
8.5批處理 148
8.6控制流語句 149
8.6.1BEGIN…END語句 150
8.6.2IF…ELSE語句 151
8.6.3CASE語句 152
8.6.4WHILE語句 154
8.6.5GOTO語句 155
8.6.6WAITFOR語句 155
8.6.7RETURN語句 156
練習題8 156
第9章函式和游標 157
9.1函式 157
9.1.1內置函式 157
9.1.2用戶定義函式 163
9.2使用游標 168
9.2.1游標的概念 168
9.2.2游標的基本操作 169
9.2.3使用游標 171
9.3綜合套用示例 175
練習題9 176
第10章索引 177
10.1什麼是索引 177
10.1.1創建索引的原因 178
10.1.2建立索引應該考慮的問題 178
10.2索引類型 178
10.2.1聚集索引 179
10.2.2非聚集索引 179
10.2.3唯一性索引 180
10.3創建索引 180
10.3.1使用SQLServer管理
控制器創建索引 180
10.3.2使用CREATEINDEX
語句創建索引 184
10.3.3使用CREATETABLE
語句創建索引 187
10.4查看和修改索引屬性 187
10.4.1使用SQLServer管理控制
器查看和修改索引屬性 187
10.4.2使用T-SQL語句查看和
修改索引屬性 188
10.5刪除索引 189
10.5.1使用SQLServer管理
控制器刪除索引 189
10.5.2使用T-SQL語句刪除索引 190
練習題10 190
第11章視圖 191
11.1視圖概述 191
11.2創建視圖 192
11.2.1使用SQLServer管理
控制器創建視圖 192
11.2.2使用SQL語句創建視圖 195
11.3使用視圖 197
11.3.1使用視圖進行數據查詢 197
11.3.2通過視圖向基表中
插入數據 198
11.3.3通過視圖修改基表中
數據 199
11.3.4通過視圖刪除基表中的
數據 201
11.4視圖定義的修改 202
11.4.1使用SQLServer管理
控制器修改視圖定義 202
11.4.2重命名視圖 204
11.5查看視圖的信息 206
11.5.1使用SQLServer管理
控制器查看視圖信息 206
11.5.2使用sp_helptext存儲
過程查看視圖的信息 206
11.6視圖的刪除 207
11.6.1使用SQLServer管理
控制器刪除視圖 207
11.6.2使用T-SQL刪除視圖 208
練習題11 208
第12章資料庫完整性 210
12.1約束 210
12.1.1PRIMARYKEY約束
(主鍵約束) 211
12.1.2FOREIGNKEY約束
(外鍵約束) 211
12.1.3UNIQUE約束(唯一性
約束) 213
12.1.4CHECK約束(檢查約束) 214
12.1.5NOTNULL約束
(非空約束) 214
12.1.6列約束和表約束 214
12.2默認值 215
12.2.1在創建表時指定默認值 216
12.2.2使用默認對象 218
12.3規則 221
12.3.1創建規則 221
12.3.2綁定規則 222
12.3.3解除和刪除規則 223
練習題12 224
第13章存儲過程 225
13.1存儲過程概述 225
13.1.1存儲過程的優點 225
13.1.2存儲過程的分類 226
13.2創建存儲過程 226
13.2.1使用SQLServer管理
控制器創建存儲過程 226
13.2.2使用CREATEPROCEDURE
語句創建存儲過程 228
13.3執行存儲過程 230
13.4存儲過程的參數 232
13.4.1在存儲過程中使用參數 232
13.4.2執行帶輸入參數的
存儲過程 232
13.4.3在存儲過程中使用
默認參數 233
13.4.4在存儲過程中使用
輸出參數 234
13.4.5存儲過程的返回值 235
13.5存儲過程的管理 236
13.5.1查看存儲過程 236
13.5.2修改存儲過程 238
13.5.3重命名存儲過程 240
13.5.4刪除存儲過程 241
13.6存儲過程綜合示例 242
練習題13 244
第14章觸發器 245
14.1觸發器概述 245
14.1.1什麼是觸發器 245
14.1.2觸發器的作用 246
14.1.3觸發器的種類 246
14.2創建DML觸發器 246
14.2.1使用SQLServer管理
控制器創建DML觸發器 246
14.2.2使用T-SQL語句創建
DML觸發器 248
14.3inserted表和deleted表 251
14.4使用DML觸發器 252
14.4.1使用INSERT觸發器 252
14.4.2使用UPDATE觸發器 254
14.4.3使用DELETE觸發器 254
14.4.4使用INSTEADOF觸發器 255
14.5創建和使用DDL觸發器 257
14.5.1創建DDL觸發器 257
14.5.2DDL觸發器的套用 258
14.6觸發器的管理 259
14.6.1查看觸發器 259
14.6.2修改觸發器 261
14.6.3刪除觸發器 262
14.6.4啟用或禁用觸發器 263
練習題14 264
第15章SQLServer的安全管理 265
15.1SQLServer安全體系結構 265
15.1.1安全機制概述 265
15.1.2SQLServer的身份
驗證模式 266
15.1.3設定身份驗證模式 267
15.2伺服器安全管理 268
15.2.1創建SQLServer伺服器
登錄賬號 268
15.2.2管理SQLServer伺服器
登錄賬號 271
15.3資料庫用戶賬號管理 274
15.3.1什麼是資料庫用戶賬號 274
15.3.2創建用戶賬號 275
15.3.3用戶賬號管理 278
15.4角色 280
15.4.1固定的伺服器角色 281
15.4.2固定的資料庫角色 283
15.4.3創建資料庫角色 284
15.4.4資料庫角色管理 286
15.5許可權管理 286
15.5.1常見的資料庫對象
訪問許可權 286
15.5.2登錄賬號許可權管理 286
15.5.3用戶賬號許可權管理 289
練習題15 291
第16章數據備份與恢復 292
16.1備份和恢復概述 292
16.1.1備份的作用 292
16.1.2恢復模式 292
16.1.3備份類型 293
16.2備份設備 294
16.2.1創建資料庫備份設備 294
16.2.2刪除資料庫備份設備 296
16.3選擇資料庫恢復類型 297
16.4資料庫備份和恢復過程 298
16.4.1使用SQLServer管理
控制器進行備份和恢復 298
16.4.2使用T-SQL語句進行
備份和恢復 304
16.5分離和附加用戶資料庫 307
16.5.1分離用戶資料庫 307
16.5.2附加用戶資料庫 308
練習題16 309
第3部分VB.NET與資料庫套用
系統開發 310
第17章ADO.NET數據訪問技術 311
17.1ADO.NET模型 311
17.1.1ADO.NET簡介 311
17.1.2ADO.NET體系結構 312
17.1.3ADO.NET資料庫的
訪問流程 314
17.2ADO.NET的數據訪問對象 314
17.2.1SqlConnection對象 315
17.2.2SqlCommand對象 318
17.2.3DataReader對象 326
17.2.4SqlDataAdapter對象 329
17.3DataSet對象 334
17.3.1DataSet對象概述 334
17.3.2DataSet對象的屬性
和方法 335
17.3.3Tables集合和DataTable
對象 336
17.3.4Columns集合和Data-
Column對象 338
17.3.5Rows集合和DataRow
對象 339
17.3.6Relations集合和
DataRelation對象 342
17.4數據綁定 343
17.4.1數據綁定概述 344
17.4.2BindingManagerBase類 349
17.5DataView對象 354
17.5.1DataView對象概述 354
17.5.2DataView對象的列
排序設定 356
17.5.3DataView對象的過濾
條件設定 356
17.6DataGridView控制項 357
17.6.1創建DataGridView對象 357
17.6.2DataGridView的屬性、
方法和事件 360
17.6.3DataGridView與DataView
對象結合 364
17.6.4通過DataGridView對象
更新數據源 367
練習題17 369
第18章學生成績管理系統的實現 370
18.1系統概述 370
18.1.1設計技巧 370
18.1.2系統安裝 371
18.2系統結構 371
18.3系統實現 372
18.3.1公共類 372
18.3.2Module1.Bas模組 373
18.3.3pass窗體 374
18.3.4main窗體 375
18.3.5edstudent窗體 378
18.3.6edstudent1窗體 382
18.3.7qustudent窗體 385
18.3.8edteacher窗體 388
18.3.9edteacher1窗體 388
18.3.10edrec窗體 388
18.3.11edrec1窗體 389
18.3.12quteacher窗體 389
18.3.13edcourse窗體 389
18.3.14edcourse1窗體 389
18.3.15qucourse窗體 389
18.3.16eddegree窗體 390
18.3.17qudegree窗體 393
18.3.18qudegree1窗體 395
18.3.19qudegree2窗體 397
18.3.20setuser窗體 397
18.3.21setuser1窗體 397
練習題18 397
附錄上機實驗題 398
參考文獻 403