第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.1 DBMS的主要功能 9
1.4.2 DBMS的组成 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部分 SQL Server数据库管理系统 34
第3章 SQL Server 2005系统概述 35
3.1 SQL Server 2005系统简介 35
3.1.1 SQL Server 2005的发展历史 35
3.1.2 SQL Server 2005的各种版本 36
3.1.3 SQL Server 2005的新特征 36
3.1.4 SQL Server 2005的组成部分 37
3.1.5 SQL Server 2005组件的分类 39
3.2系统需求 41
3.2.1硬件需求 41
3.2.2软件需求 42
3.2.3 SQL Server 2005的网络环境需求 42
3.3 SQL Server 2005的安装 42
3.4 SQL Server 2005的工具和实用程序 43
3.4.1 SQL Server Management Studio 43
3.4.2 SQL Server Business Intel-ligence Development Studio 45
3.4.3 SQL Server Profiler 46
3.4.4数据库引擎优化顾问 48
3.4.5 Analysis Services 48
3.4.6 SQL Server Configuration Manager 49
3.4.7 SQL Server文档和教程 50
练习题3 50
第4章 创建和使用数据库 51
4.1数据库对象 51
4.2系统数据库 52
4.3 SQL Server数据库的存储结构 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.3 SQL Server几个重要的系统表 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.1 SQL语言 78
6.1.1 SQL语言概述 78
6.1.2 SQL语言的分类 79
6.2 T-SQL概述 79
6.2.1 T-SQL的语法约定 79
6.2.2 T-SQL的数据库对象全名 80
6.2.3如何在SQL Server管理控制器中执行T-SQL语句 80
6.3数据定义语言(DDL) 82
6.3.1数据库的操作语句 82
6.3.2数据表的操作语句 87
6.4数据操纵语言(DML) 91
6.4.1 INSERT语句 91
6.4.2 UPDATE语句 92
6.4.3 DELETE语句 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在数据汇总中使用GROUP BY子句 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章 SQL Server程序设计 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.1 BEGIN...END语句 150
8.6.2 IF...ELSE语句 151
8.6.3 CASE语句 152
8.6.4 WHILE语句 154
8.6.5 GOTO语句 155
8.6.6 WAITFOR语句 155
8.6.7 RETURN语句 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使用SQL Server管理控制器创建索引 180
10.3.2使用CREATEINDEX语句创建索引 184
10.3.3使用CREATE TABLE语句创建索引 187
10.4查看和修改索引属性 187
10.4.1使用SQL Server管理控制器查看和修改索引属性 187
10.4.2使用T-SQL语句查看和修改索引属性 188
10.5删除索引 189
10.5.1使用SQL Server管理控制器删除索引 189
10.5.2使用T-SQL语句删除索引 190
练习题10 190
第11章 视图 191
11.1视图概述 191
11.2创建视图 192
11.2.1使用SQL Server管理控制器创建视图 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使用SQL Server管理控制器修改视图定义 202
11.4.2重命名视图 204
11.5查看视图的信息 206
11.5.1使用SQL Server管理控制器查看视图信息 206
11.5.2使用sp helptext存储过程查看视图的信息 206
11.6视图的删除 207
11.6.1使用SQL Server管理控制器删除视图 207
11.6.2使用T-SQL删除视图 208
练习题11 208
第12章 数据库完整性 210
12.1约束 210
12.1.1 PRIMARY KEY约束(主键约束) 211
12.1.2 FOREIGN KEY约束(外键约束) 211
12.1.3 UNIQUE约束(唯一性约束) 213
12.1.4 CHECK约束(检查约束) 214
12.1.5 NOT NULL约束(非空约束) 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使用SQL Server管理控制器创建存储过程 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使用SQL Server管理控制器创建DML触发器 246
14.2.2使用T-SQL语句创建DML触发器 248
14.3 inserted表和deleted表 251
14.4使用DML触发器 252
14.4.1使用INSERT触发器 252
14.4.2使用UPDATE触发器 254
14.4.3使用DELETE触发器 254
14.4.4使用INSTEAD OF触发器 255
14.5创建和使用DDL触发器 257
14.5.1创建DDL触发器 257
14.5.2 DDL触发器的应用 258
14.6触发器的管理 259
14.6.1查看触发器 259
14.6.2修改触发器 261
14.6.3删除触发器 262
14.6.4启用或禁用触发器 263
练习题14 264
第15章 SQL Server的安全管理 265
15.1 SQL Server安全体系结构 265
15.1.1安全机制概述 265
15.1.2 SQL Server的身份验证模式 266
15.1.3设置身份验证模式 267
15.2服务器安全管理 268
15.2.1创建SQL Server服务器登录账号 268
15.2.2管理SQL Server服务器登录账号 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使用SQL Server管理控制器进行备份和恢复 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.1 ADO.NET模型 311
17.1.1 ADO.NET简介 311
17.1.2 ADO.NET体系结构 312
17.1.3 ADO.NET数据库的访问流程 314
17.2 ADO.NET的数据访问对象 314
17.2.1 SqlConnection对象 315
17.2.2 SqlCommand对象 318
17.2.3 DataReader对象 326
17.2.4 SqlDataAdapter对象 329
17.3 DataSet对象 334
17.3.1 DataSet对象概述 334
17.3.2 DataSet对象的属性和方法 335
17.3.3 Tables集合和DataTable对象 336
17.3.4 Columns集合和Data-Column对象 338
17.3.5 Rows集合和DataRow对象 339
17.3.6 Relations集合和DataRelation对象 342
17.4数据绑定 343
17.4.1数据绑定概述 344
17.4.2 BindingManagerBase类 349
17.5 DataView对象 354
17.5.1 DataView对象概述 354
17.5.2 DataView对象的列排序设置 356
17.5.3 DataView对象的过滤条件设置 356
17.6 DataGridView控件 357
17.6.1创建DataGridView对象 357
17.6.2 DataGridView的属性、方法和事件 360
17.6.3 DataGridView与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.2 Modulel.Bas模块 373
18.3.3 pass窗体 374
18.3.4 main窗体 375
18.3.5 edstudent窗体 378
18.3.6 edstudentl窗体 382
18.3.7 qustudent窗体 385
18.3.8 edteacher窗体 388
18.3.9 edteacherl窗体 388
18.3.10 edrec窗体 388
18.3.11 edrecl窗体 389
18.3.12 quteacher窗体 389
18.3.13 edcourse窗体 389
18.3.14 edcoursel窗体 389
18.3.15 qucourse窗体 389
18.3.16 eddegree窗体 390
18.3.17 qudegree窗体 393
18.3.18 qudegree1窗体 395
18.3.19 qudegree2窗体 397
18.3.20 setuser窗体 397
18.3.21 setuser1窗体 397
练习题18 397
附录 上机实验题 398
参考文献 403