第1章 数据库基础知识 1
1.1 信息、数据与数据处理 1
1.1.1 信息与数据 1
1.1.2 数据处理 2
1.2 计算机数据管理的3个阶段 2
1.2.1 人工管理阶段 2
1.2.2 文件系统管理阶段 3
1.2.3 数据库系统管理阶段 3
1.3 数据库、数据库管理系统和数据库系统 4
1.3.1 数据库 4
1.3.2 数据库管理系统 5
1.3.3 数据库系统 7
1.4 数据模型 8
1.4.1 三个世界及其关系 8
1.4.2 两类模型 9
1.4.3 概念模型建模 11
1.4.4 数据模型的组成要素 12
1.4.5 常用的数据模型 13
1.5 数据库系统的体系结构 15
1.5.1 数据库系统模式的概念 15
1.5.2 数据库系统的三级组织结构 15
1.5.3 三个模式之间的两层映像 17
1.5.4 数据库系统的结构 17
1.6 关系数据库 19
1.6.1 关系模型与关系数据库 19
1.6.2 关系及其性质 19
1.6.3 关系代数 21
1.6.4 SQL语言简介 23
1.6.5 规范化设计理论和方法 24
1.7 数据库设计 26
1.7.1 需求分析 26
1.7.2 概念结构设计 27
1.7.3 逻辑结构设计 27
1.7.4 物理结构设计 29
1.7.5 数据库实施 29
1.7.6 数据库运行维护 29
练习题1 30
第2章 SQL Server系统概述 31
2.1 SQL Server系统简介 31
2.1.1 SQL Server的发展历史 31
2.1.2 SQL Server的版本 32
2.1.3 SQL Server的组成结构和主要管理工具 33
2.2 SQL Server的安装 36
2.3 SQL Server的工具和实用程序 48
2.3.1 SQL Server管理控制器 48
2.3.2 SQL Server配置管理器 51
2.4 SQL Server的体系结构 52
2.4.1 SQL Server的客户机/服务器体系结构 52
2.4.2 SQL Server的总体架构 52
2.4.3 一个基本SELECT查询的执行流程 54
练习题2 55
上机实验题1 56
第3章 创建和删除数据库 57
3.1 数据库对象 57
3.2 系统数据库 58
3.3 SQL Server数据库的存储结构 58
3.3.1 文件和文件组 59
3.3.2 数据库的存储结构 60
3.3.3 事务日志 61
3.4 创建和修改数据库 62
3.4.1 创建数据库 62
3.4.2 修改数据库 64
3.5 查看数据库 67
3.6 数据库更名和删除 68
3.6.1 数据库重命名 68
3.6.2 删除数据库 68
练习题3 70
上机实验题2 70
第4章 创建和使用表 71
4.1 表的概念 71
4.1.1 什么是表 71
4.1.2 表中数据的完整性 72
4.2 创建表 72
4.3 修改表的结构 76
4.4 数据库关系图 77
4.4.1 建立数据库关系图 77
4.4.2 删除关系和数据库关系图 80
4.5 表的更名和删除 80
4.5.1 表的更名 80
4.5.2 删除表 81
4.6 记录的新增和修改 81
4.7 表的几种特殊的列 83
练习题4 85
上机实验题3 86
第5章 T-SQL基础 88
5.1 T-SQL语言概述 88
5.1.1 什么是T-SQL语言 88
5.1.2 T-SQL语言的分类 88
5.1.3 T-SQL语言的特点 89
5.2 T-SQL语句的执行 89
5.3 数据定义语言 90
5.3.1 数据库的操作语句 91
5.3.2 表的操作语句 95
5.4 数据操纵语言 97
5.4.1 INSERT语句 97
5.4.2 UPDATE语句 98
5.4.3 DELETE语句 98
5.5 数据查询语言 98
5.5.1 投影查询 99
5.5.2 选择查询 100
5.5.3 排序查询 101
5.5.4 使用聚合函数 102
5.5.5 连接查询 105
5.5.6 子查询 110
5.5.7 空值及其处理 116
5.6 T-SQL程序设计基础 117
5.6.1 标识符 117
5.6.2 数据类型 119
5.6.3 变量 125
5.6.4 运算符 128
5.6.5 批处理 132
5.6.6 注释 133
5.6.7 控制流语句 134
5.6.8 异常处理 138
5.6.9 函数 140
练习题5 147
上机实验题4 148
第6章 T-SQL高级应用 149
6.1 事务处理 149
6.1.1 事务分类 149
6.1.2 显式事务 150
6.1.3 自动提交事务 153
6.1.4 隐式事务 153
6.1.5 事务和异常处理 154
6.2 数据的锁定 155
6.2.1 SQL Server中的自动锁定 156
6.2.2 SQL Server中的自定义锁定 161
6.3 游标 170
6.3.1 游标的概念 171
6.3.2 游标的基本操作 171
6.3.3 使用游标 174
练习题6 177
上机实验题5 178
第7章 索引 179
7.1 索引概述 179
7.1.1 索引的作用 179
7.1.2 索引的结构 180
7.1.3 索引的类型 180
7.1.4 几个相关的概念 183
7.2 创建索引 184
7.2.1 使用SQL Server控制管理器创建索引 184
7.2.2 使用CREATE INDEX语句创建索引 187
7.2.3 使用CREATE TABLE语句创建索引 189
7.3 索引的查看与使用 189
7.3.1 查看索引信息 189
7.3.2 索引的使用 190
7.3.3 索引的禁用和启用 192
7.4 修改索引 193
7.4.1 使用SQL Server控制管理器修改索引 193
7.4.2 使用T-SQL语句修改索引 194
7.5 删除索引 195
7.5.1 使用SQL Server控制管理器删除索引 195
7.5.2 使用T-SQL语句删除索引 195
练习题7 195
上机实验题6 196
第8章 视图 197
8.1 视图概述 197
8.1.1 视图及其作用 197
8.1.2 视图类型 198
8.2 创建视图 198
8.2.1 使用SQL Server管理控制器创建视图 198
8.2.2 使用SQL语句创建视图 203
8.3 使用视图 204
8.3.1 使用视图进行数据查询 204
8.3.2 可更新的视图 204
8.4 视图定义的修改 208
8.4.1 使用SQL Server管理控制器修改视图定义 208
8.4.2 重命名视图 210
8.5 查看视图的信息 211
8.5.1 使用SQL Server管理控制器查看视图信息 211
8.5.2 使用sp_helptext存储过程查看视图信息 211
8.6 视图的删除 212
8.6.1 使用SQL Server管理控制器删除视图 213
8.6.2 使用T-SQL语句删除视图 213
8.7 索引视图 213
8.7.1 什么是索引视图 213
8.7.2 建立索引视图的要求 214
8.7.3 建立索引视图 214
练习题8 215
上机实验题7 216
第9章 数据完整性 217
9.1 数据完整性概述 217
9.2 约束 218
9.2.1 PRIMARY KEY约束 218
9.2.2 FOREIGN KEY约束 219
9.2.3 UNIQUE约束 220
9.2.4 CHECK约束 221
9.2.5 列约束和表约束 221
9.3 默认值 222
9.3.1 在创建表时指定默认值 222
9.3.2 使用默认对象 224
9.4 规则 226
9.4.1 创建规则 226
9.4.2 绑定规则 227
9.4.3 解除和删除规则 228
练习题9 228
上机实验题8 229
第10章 存储过程 230
10.1 概述 230
10.1.1 什么是存储过程 230
10.1.2 存储过程的类型 231
10.2 创建存储过程 231
10.2.1 使用SQL Server管理控制器创建存储过程 231
10.2.2 使用CREATE PROCEDURE语句创建存储过程 233
10.3 执行存储过程 234
10.4 存储过程的参数 236
10.4.1 在存储过程中使用参数 236
10.4.2 在存储过程中使用默认参数 237
10.4.3 在存储过程中使用返回参数 238
10.4.4 存储过程的返回值 239
10.4.5 使用SQL Server管理控制器执行存储过程 240
10.5 存储过程的管理 242
10.5.1 查看存储过程 242
10.5.2 修改存储过程 243
10.5.3 重命名存储过程 246
10.5.4 删除存储过程 246
练习题10 247
上机实验题9 247
第11章 触发器 248
11.1 触发器概述 248
11.1.1 触发器的作用 248
11.1.2 触发器的分类 248
11.2 DML触发器 249
11.2.1 DML触发器概述 249
11.2.2 创建DML触发器 250
11.2.3 删除、禁用和启用触发器 253
11.2.4 inserted表和deleted表 254
11.2.5 INSERT、UPDATE和DELETE触发器的应用 256
11.2.6 INSTEAD OF触发器 260
11.3 DDL触发器 263
11.3.1 创建DDL触发器 264
11.3.2 DDL触发器的应用 264
11.4 登录触发器 265
11.5 触发器的管理 266
11.5.1 查看触发器 266
11.5.2 修改触发器 268
练习题11 269
上机实验题10 269
第12章 SQL Server的安全管理 271
12.1 SQL Server安全体系结构 271
12.2 SQL Server的身份验证模式和设置 273
12.2.1 SQL Server的身份验证模式 273
12.2.2 设置身份验证模式 274
12.3 SQL Server账号管理 276
12.3.1 SQL Server服务器登录账号管理 276
12.3.2 SQL Server数据库用户账号管理 279
12.4 权限和角色 284
12.4.1 权限 284
12.4.2 角色 288
12.5 架构 292
练习题12 294
上机实验题11 294
第13章 数据文件安全和灾难恢复 295
13.1 数据文件安全概述 295
13.2 数据库备份和还原 296
13.2.1 数据库备份和还原概述 296
13.2.2 数据库备份和恢复过程 298
13.3 数据库的分离和附加 301
13.3.1 分离用户数据库 301
13.3.2 附加用户数据库 302
13.4 数据库镜像 303
13.4.1 数据库镜像概述 304
13.4.2 配置数据库镜像 304
13.5 数据库快照 308
13.5.1 数据库快照概述 308
13.5.2 创建和使用数据库快照 310
13.6 日志传送 311
13.7 故障转移群集概述 313
13.8 AlwaysOn概述 314
练习题13 315
上机实验题12 315
第14章 ADO.NET数据访问技术 316
14.1 ADO.NET模型 316
14.1.1 ADO.NET简介 316
14.1.2 ADO.NET体系结构 317
14.1.3 ADO.NET数据库的访问流程 319
14.2 ADO.NET的数据访问对象 319
14.2.1 SqlConnection对象 320
14.2.2 SqlCommand对象 323
14.2.3 SqlDataReader对象 328
14.2.4 SqlDataAdapter对象 331
14.3 DataSet对象 336
14.3.1 DataSet对象概述 336
14.3.2 DataSet对象的属性和方法 337
14.3.3 Tables集合和Data Table对象 338
14.3.4 Columns集合和Data Column对象 340
14.3.5 Rows集合和Data Row对象 341
14.4 数据绑定 344
14.4.1 数据绑定概述 344
14.4.2 数据绑定方式 344
14.5 Data View对象 349
14.5.1 Data View对象概述 349
14.5.2 Data View对象的列排序设置 350
14.5.3 Data View对象的过滤条件设置 350
14.6 DataGrid View控件 352
14.6.1 创建DataGridView对象 352
14.6.2 DataGridView对象的属性、方法和事件 354
14.6.3 DataGridView与Data View对象结合使用 358
14.6.4 通过DataGridView对象更新数据源 361
练习题14 362
上机实验题13 364
第15章 数据库系统开发实例 365
15.1 SMIS系统概述 365
15.1.1 SMIS系统功能 365
15.1.2 SMIS设计技巧 365
15.1.3 SMIS系统安装 366
15.2 SMIS系统结构 366
15.3 SMIS系统实现 367
15.3.1 公共类 367
15.3.2 pass窗体 369
15.3.3 main窗体 371
15.3.4 editstudent窗体 374
15.3.5 editstudentl窗体 378
15.3.6 querystudent窗体 381
15.3.7 editteacher窗体 385
15.3.8 editteacherl窗体 385
15.3.9 queryteacher窗体 385
15.3.10 editcourse窗体 386
15.3.11 editcoursel窗体 386
15.3.12 querycourse窗体 386
15.3.13 allocatecourse窗体 386
15.3.14 queryallocate窗体 390
15.3.15 editselection窗体 390
15.3.16 queryselection窗体 394
15.3.17 editscore窗体 394
15.3.18 queryscore窗体 397
15.3.19 queryscorel窗体 397
15.3.20 edituser窗体 398
15.3.21 edituserl窗体 399
练习题15 399
上机实验题14 399
附录A 部分练习题参考答案 400
参考文献 417