第一部分 数据库基础 3
第1章 数据库系统概述 3
1.1数据和信息 3
1.2数据管理技术的发展 4
1.2.1人工管理阶段 4
1.2.2文件系统阶段 4
1.2.3数据库系统阶段 5
1.3数据库系统的组成与结构 6
1.3.1数据库系统的组成 6
1.3.2数据库系统体系结构 8
1.4数据库管理系统 10
1.4.1 DBMS的主要功能 10
1.4.2 DBMS的组成 11
1.4.3常用的DBMS 12
习题1 13
第2章 数据模型 14
2.1什么是数据模型 14
2.1.1数据的描述 15
2.1.2数据间联系的描述 15
2.2概念模型 15
2.2.1信息世界中的基本概念 16
2.2.2实体间的联系方式 17
2.2.3实体联系表示法 17
2.2.4怎样设计E-R图 19
2.3 DBMS支持的数据模型 20
2.3.1层次模型 20
2.3.2网状模型 22
2.3.3关系模型 23
2.4各种数据模型的总结 24
习题2 25
第3章 关系数据库 26
3.1关系模型的基本概念 26
3.2关系的数学定义 27
3.3关系代数 29
3.3.1传统的集合运算 29
3.3.2专门的关系运算 30
习题3 32
第4章 关系数据库规范化理论 33
4.1问题的提出 33
4.2函数依赖 34
4.2.1函数依赖的定义 34
4.2.2函数依赖与属性关系 35
4.2.3 Armstrong公理 36
4.2.4闭包及其计算 37
4.2.5最小函数依赖集 38
4.2.6确定候选码 41
4.3范式和规范化 42
4.3.1什么叫范式 42
4.3.2范式的判定条件与规范化 42
4.4关系模式的分解 45
4.4.1模式分解的定义 45
4.4.2无损分解的定义和性质 46
4.4.3无损分解的检验算法 46
4.4.4保持函数依赖的分解 47
4.4.5模式分解算法 49
习题4 50
第5章 数据库设计 52
5.1数据库设计概述 52
5.2需求分析 53
5.2.1需求分析的步骤 53
5.2.2需求分析的方法 54
5.3概念结构设计 57
5.3.1局部E-R模型设计 58
5.3.2总体E-R模型设计 59
5.4逻辑结构设计 61
5.5物理结构设计 63
5.6数据库的实施和维护 63
习题5 64
第二部分SQL Server数据库管理系统 67
第6章SQL Server系统概述 67
6.1 SQL Server 2005系统简介 67
6.1.1 SQL Server 2005的发展历史 67
6.1.2 SQL Server 2005的各种版本 68
6.1.3 SQL Server 2005的组成部分 68
6.1.4 SQL Server 2005组件的分类 69
6.1.5 SQL Server 2005数据库引擎结构 71
6.2系统需求 72
6.2.1硬件需求 72
6.2.2软件需求 72
6.2.3 SQL Server 2005的网络环境需求 73
6.2.4 SQL Server 2005的其他需求 74
6.2.5 SQL Server 2005安装的注意事项 74
6.3 SQL Server 2005的安装 74
6.4 SQL Server 2005的工具和实用程序 82
6.4.1 SQL Server Management Studio 83
6.4.2 Business Intelligence Development Studio 85
6.4.3数据库引擎优化顾问 87
6.4.4 Analysis Services 87
6.4.5 SQL Server Configuration Manager 88
6.4.6 SQL Server文档和教程 88
习题6 90
上机实验题1 90
第7章 创建和使用数据库 91
7.1数据库对象 91
7.2系统数据库 92
7.3 SQL Server数据库的存储结构 92
7.3.1文件和文件组 92
7.3.2数据库的存储结构 94
7.3.3事务日志 95
7.4创建和修改数据库 95
7.4.1创建数据库 95
7.4.2修改数据库 98
7.5数据库更名和删除 101
7.5.1数据库重命名 101
7.5.2删除数据库 102
习题7 103
上机实验题2 103
第8章 创建和使用表 104
8.1表的概念 104
8.1.1什么是表 104
8.1.2表中数据的完整性 105
8.2创建表 105
8.3修改表的结构 108
8.4数据库关系图 109
8.4.1建立数据库关系图 109
8.4.2删除关系和数据库关系图 112
8.5更改表名 113
8.6删除表 113
8.7记录的新增和修改 114
习题8 116
上机实验题3 117
第9章T-SQL基础 119
9.1 SQL语言 119
9.1.1 SQL语言概述 119
9.1.2 SQL语言的分类 120
9.2 T-SQL语句的执行 120
9.3数据定义语言 121
9.3.1数据库的操作语句 121
9.3.2表的操作语句 126
9.4数据操纵语言 129
9.4.1 INSERT语句 129
9.4.2 UPDATE语句 130
9.4.3 DELETE语句 130
9.5数据查询语言 130
9.5.1投影查询 131
9.5.2选择查询 132
9.5.3排序查询 132
9.5.4使用聚合函数 133
9.5.5简单连接查询 135
9.5.6简单子查询 138
9.5.7相关子查询 138
9.5.8查询结果的并 139
9.5.9空值及其处理 140
9.6 T-SQL程序设计基础 141
9.6.1标识符 141
9.6.2数据类型 142
9.6.3变量 151
9.6.4运算符 155
9.6.5批处理 158
9.6.6注释 159
9.6.7控制流语句 160
9.6.8函数 165
习题9 172
上机实验题4 173
第10章T-SQL高级应用 174
10.1 SELECT高级查询 174
10.1.1数据汇总 174
10.1.2复杂连接查询 177
10.1.3复杂子查询 180
10.1.4数据来源是一个查询的结果 184
10.2事务处理 185
10.2.1事务分类 186
10.2.2显式事务 186
10.2.3自动提交事务 189
10.2.4隐式事务 190
10.3数据的锁定 191
10.3.1 SQL Server中的锁定 191
10.3.2自定义锁 194
10.4使用游标 199
10.4.1游标的概念 199
10.4.2游标的基本操作 200
10.4.3使用游标 202
习题10 205
上机实验题5 207
第11章 索引 208
11.1什么是索引 208
11.2索引类型 209
11.2.1聚集索引 209
11.2.2非聚集索引 210
11.3创建索引 210
11.3.1使用SQL Server控制管理器创建索引 211
11.3.2使用CREATE INDEX语句创建索引 215
11.3.3使用CREATE TABLE语句创建索引 218
11.4查看和修改索引属性 218
11.4.1使用SQL Server控制管理器查看和修改索引属性 218
11.4.2使用T-SQL语句查看和修改索引属性 220
11.5删除索引 220
11.5.1使用SQL Server控制管理器删除索引 221
11.5.2使用T-SQL语言删除索引 221
习题11 221
上机实验题6 221
第12章 视图 222
12.1视图概述 222
12.2创建视图 223
12.2.1使用SQL Server管理控制器创建视图 223
12.2.2使用SQL语句创建视图 227
12.3使用视图 228
12.3.1使用视图进行数据查询 228
12.3.2通过视图向基表中插入数据 229
12.3.3通过视图修改基表中的数据 230
12.3.4通过视图删除基表中的数据 231
12.4视图定义的修改 232
12.4.1使用SQL Server管理控制器修改视图定义 232
12.4.2重命名视图 234
12.5查看视图的信息 235
12.5.1使用SQL Server管理控制器查看视图信息 235
12.5.2使用sp_helptext存储过程查看视图的信息 236
12.6视图的删除 237
12.6.1使用SQL Server管理控制器删除视图 237
12.6.2使用T-SQL删除视图 237
习题12 237
上机实验题7 238
第13章 数据库完整性 239
13.1约束 239
13.1.1 PRIMARY KEY约束 239
13.1.2 FOREIGN KEY约束 240
13.1.3 UNIQUE约束 241
13.1.4 CHECK约束 242
13.1.5列约束和表约束 243
13.2默认值 244
13.2.1在创建表时指定默认值 244
13.2.2使用默认对象 245
13.3规则 248
13.3.1创建规则 249
13.3.2绑定规则 250
13.3.3解除和删除规则 250
习题13 251
上机实验题8 251
第14章 存储过程 252
14.1概述 252
14.2创建存储过程 253
14.2.1使用SQL Server管理控制器创建存储过程 253
14.2.2使用CREATE PROCEDURE语句创建存储过程 254
14.3执行存储过程 255
14.4存储过程的参数 257
14.4.1在存储过程中使用参数 257
14.4.2在存储过程中使用默认参数 258
14.4.3在存储过程中使用返回参数 258
14.4.4存储过程的返回值 260
14.5存储过程的管理 261
14.5.1查看存储过程 261
14.5.2修改存储过程 262
14.5.3重命名存储过程 264
14.5.4删除存储过程 265
习题14 266
上机实验题9 266
第15章 触发器 267
15.1概述 267
15.1.1触发器的概念 267
15.1.2触发器的种类 268
15.2创建DML触发器 268
15.2.1使用SQL Server管理控制器创建DML触发器 268
15.2.2使用T-SQL语句创建DML触发器 269
15.2.3创建DML触发器的注意事项 271
15.3 inserted表和deleted表 272
15.4使用DML触发器 273
15.4.1使用INSERT触发器 273
15.4.2使用UPDATE触发器 275
15.4.3使用DELETE触发器 277
15.4.4使用INSTEAD OF触发器 278
15.5创建和使用DDL触发器 279
15.5.1创建DDL触发器 280
15.5.2 DDL触发器的应用 280
15.6触发器的管理 281
15.6.1查看触发器 281
15.6.2修改触发器 283
15.6.3删除触发器 285
15.6.4启用或禁用触发器 285
习题15 286
上机实验题10 286
第16章SQL Server的安全管理 287
16.1 SQL Server安全体系结构 287
16.1.1操作系统的安全性 288
16.1.2 SQL Server的安全性 288
16.1.3数据库的安全性 288
16.1.4 SQL Server数据库对象的安全性 288
16.2 SQL Server的身份验证模式 289
16.2.1 Windows身份验证模式 289
16.2.2混合身份验证模式 290
16.2.3设置身份验证模式 290
16.3 SQL Server账号管理 291
16.3.1 SQL Server服务器登录账号管理 292
16.3.2 SQL Server数据库用户账号管理 296
16.4权限和角色 300
16.4.1权限 300
16.4.2角色 303
16.5架构 313
习题16 314
上机实验题11 314
第17章 数据库备份/恢复和分离/附加 315
17.1数据备份和恢复 315
17.1.1数据备份类型 315
17.1.2数据恢复类型 316
17.1.3备份设备 316
17.1.4选择数据库恢复类型 318
17.1.5数据库备份和恢复过程 319
17.2分离和附加用户数据库 324
17.2.1分离用户数据库 324
17.2.2附加用户数据库 325
习题17 327
上机实验题12 327
第三部分VB.NET数据库应用系统开发 331
第18章ADO.NET数据访问技术 331
18.1 ADO.NET模型 331
18.1.1 ADO.NET简介 331
18.1.2 ADO.NET体系结构 332
18.1.3 ADO.NET数据库的访问流程 334
18.2 ADO.NET的数据访问对象 334
18.2.1 SqlConnection对象 334
18.2.2 SqlCommand对象 337
18.2.3 DataReader对象 342
18.2.4 SqlDataAdapter对象 346
18.3 DataSet对象 351
18.3.1 DataSet对象概述 351
18.3.2 DataSet对象的属性和方法 352
18.3.3 Tables集合和DataTable对象 353
18.3.4 Columns集合和DataColumn对象 355
18.3.5 Rows集合和DataRow对象 356
18.4数据绑定 358
18.4.1数据绑定概述 359
18.4.2数据绑定方法 359
18.5 DataView对象 366
18.5.1 DataView对象概述 366
18.5.2 DataView对象的列排序设置 367
18.5.3 DataView对象的过滤条件设置 368
18.6 DataGridView控件 369
18.6.1创建DataGridView对象 369
18.6.2 DataGridView的属性、方法和事件 371
18.6.3 DataGridView与DataView对象结合 374
18.6.4通过DataGridView对象更新数据源 377
习题18 379
上机实验题13 379
第19章 数据库系统开发实例——SCMIS设计 380
19.1 SCMIS系统概述 380
19.1.1 SCMIS系统功能 380
19.1.2 SCMIS设计技巧 380
19.1.3 SCMIS系统安装 381
19.2 SCMIS系统结构 381
19.3 SCMIS系统实现 382
19.3.1公共类 382
19.3.2公共模块 382
19.3.3 pass窗体 383
19.3.4 main窗体 384
19.3.5 editstudent窗体 387
19.3.6 editstudentl窗体 392
19.3.7 querystudent窗体 394
19.3.8 editteacher窗体 397
19.3.9 editteacherl窗体 397
19.3.10 queryteacher窗体 397
19.3.11 editcourse窗体 397
19.3.12 editcoursel窗体 397
19.3.13 querycourse窗体 398
19.3.14 allocateCourse窗体 398
19.3.15 allocateCoursel窗体 398
19.3.16 queryallocate窗体 398
19.3.17 editscore窗体 398
19.3.18 queryscorel窗体 402
19.3.19 queryscore2窗体 402
19.3.20 queryscore3窗体 402
19.3.21 setuser窗体 402
19.3.22 setuserl窗体 402
19.4 SCMIS系统运行 402
习题19 404
上机实验题14 404
参考文献 405