第1章 数据库技术 1
1.1 数据库基础知识 1
1.1.1 信息、数据与数据处理 1
1.1.2 数据管理技术的发展 2
1.1.3 数据库、数据库管理系统、数据库系统 2
1.1.4 数据模型 4
1.1.5 数据库系统的体系结构 6
1.2 关系数据库 7
1.2.1 关系模型 7
1.2.2 关系数据库中的基本运算 9
1.2.3 关系数据理论 11
1.3 关系数据库设计 16
1.3.1 数据库设计的任务、内容与步骤 16
1.3.2 需求分析 17
1.3.3 概念结构设计 17
1.3.4 逻辑结构设计 18
1.3.5 数据库设计案例 19
1.4 思考题 23
第2章 SQL Server 2008概述 24
2.1 SQL Server 2008的性能与体系结构 24
2.1.1 SQL Server 2008的性能 24
2.1.2 SQL Server 2008的体系结构 25
2.2 SQL Server 2008的安装 26
2.2.1 安装前的准备工作 26
2.2.2 安装SQL Server 2008 28
23 SQL Server 2008的安全性 37
2.3.1 权限验证模式 37
2.3.2 数据库用户和账号 37
2.4 SQL Serwer 2008服务器的操作 38
2.4.1 SQL Server的程序组 38
2.4.2 SQL Server服务管理 39
2.4.3 使用SQL Server Management Studio 41
2.4.4 实用工具 46
2.5 思考题 47
第3章 数据库的基本操作 48
3.1 SQL Server数据库的一些基本术语和概念 48
3.1.1 SQL Server的数据库 48
3.1.2 SQL Server的事务日志 48
3.1.3 SQL Server数据库文件及文件组 49
3.1.4 SQL Server的系统数据库 50
3.2 创建数据库 51
3.2.1 使用SQL Server Management Studio创建数据库 51
3.2.2 使用T-SQL语言创建数据库 52
3.3 使用SQL Server Management Studio管理数据库 54
3.3.1 打开数据库 55
3.3.2 查看数据库信息 55
3.3.3 修改数据库容量 56
3.3.4 设定修改数据库选项 57
3.3.5 更改数据库名称 58
3.3.6 分离和附加数据库 59
3.3.7 删除数据库 60
3.4 使用T-SQL管理数据库 61
3.4.1 打开数据库 61
3.4.2 查看数据库信息 61
3.4.3 修改数据库容量 62
3.4.4 设定修改数据库选项 63
3.4.5 更改数据库名称 64
3.4.6 分离和附加数据库 64
3.4.7 删除数据库 65
3.5 案例中的应用举例 65
3.5.1 创建“学生选课管理系统”数据库 66
3.5.2 设定修改数据库的容量 68
3.6 思考题 70
第4章 数据表的基本操作 71
4.1 SQL Server表的概念与数据类型 71
4.1.1 SQL Server表的概念 71
4.1.2 SQL Server 2008数据类型 72
4.2 创建数据表 76
4.2.1 使用表设计器创建表 76
4.2.2 使用T-SQL语言创建表 78
4.2.3 使用已有表创建新表 81
4.3 数据的添加与表的查看 82
4.3.1 向表中添加数据 83
4.3.2 查看表信息 84
4.4 表的修改与删除 86
4.4.1 修改数据库中的表 86
4.4.2 删除数据库中的表 87
4.5 案例应用举例 88
4.5.1 学生选课管理系统的各表定义 88
4.5.2 学生选课系统各表的创建 89
4.6 思考题 93
第5章 数据的基本操作 94
5.1 数据的增删改 94
5.1.1 数据的添加 94
5.1.2 数据的修改 101
5.1.3 数据的删除 103
5.2 简单查询 105
5.2.1 SELECT语句 105
5.2.2 选择表中的若干列 106
5.2.3 选择表中的若干记录 109
5.2.4 对查询的结果排序 115
5.2.5 对数据进行统计 116
5.2.6 用查询结果生成新表 120
5.2.7 合并结果集 121
5.2.8 公用表达式 122
5.2.9 MERGE语句 123
5.3 案例中数据的基本操作 125
5.4 思考题 126
第6章 数据的高级操作 127
6.1 连接查询 127
6.1.1 交叉连接查询 127
6.1.2 等值与非等值连接查询 129
6.1.3 自身连接查询 131
6.1.4 外连接查询 131
6.1.5 复合连接条件查询 133
6.2 子查询 134
6.2.1 带有IN运算符的子查询 135
6.2.2 带有比较运算符的子查询 137
6.2.3 带有ANY或ALL运算符的子查询 137
6.2.4 带有EXISTS运算符的子查询 139
6.3 交叉表查询 140
6.3.1 PIVOT 140
6.3.2 UNPIVOT 142
6.4 案例中数据的高级查询 143
6.5 思考题 147
第7章 实现数据完整性 148
7.1 完整性的概念 148
7.2 使用约束 149
7.2.1 约束的类型 149
7.2.2 创建主键约束 150
7.2.3 创建唯一约束 151
7.2.4 创建检查约束 153
7.2.5 创建默认约束 154
7.2.6 创建外键约束 155
7.2.7 查看约束的定义 157
7.2.8 删除约束 158
7.3 使用规则 158
7.4 使用默认 160
7.5 使用IDENTITY列 161
7.6 数据完整性强制选择方法 162
7.7 案例中数据完整性实现 163
7.8 思考题 165
第8章 视图及其应用 166
8.1 视图综述 166
8.1.1 视图的基本概念 166
8.1.2 视图的作用 166
8.2 视图的操作 167
8.2.1 创建视图 167
8.2.2 使用视图 171
8.2.3 修改视图 172
8.2.4 删除视图 173
8.3 视图定义信息的查询 174
8.4 案例中的视图应用 174
8.5 思考题 177
第9章 索引及应用 178
9.1 索引综述 178
9.1.1 数据存储 178
9.1.2 索引 178
9.2 索引的操作 180
9.2.1 创建索引 180
9.2.2 查询索引信息 184
9.2.3 索引更名 184
9.2.4 删除索引 185
9.3 设置索引的选项 185
9.3.1 设置FILLFACTOR选项 186
9.3.2 设置PAD_INDEX选项 186
9.4 索引的分析与维护 187
9.4.1 索引分析 187
9.4.2 索引维护 188
9.5 索引视图 189
9.6 案例中的索引 189
9.7 思考题 190
第10章 SQL Server程序设计 191
10.1 程序中的批处理、脚本、注释 191
10.1.1 批处理 191
10.1.2 脚本 192
10.1.3 注释 192
10.2 SQL Server变量 192
10.2.1 全局变量 193
10.2.2 局部变量 194
10.3 程序中的流程控制 196
10.3.1 BEGIN…END语句块 196
10.3.2 PRINT 197
10.3.3 IF…ElSE语句 197
10.3.4 CASE语句 199
10.3.5 WAITFOR语句 201
10.3.6 WHILE语句 201
10.3.7 RETURN语句 202
10.4 SQL Server函数 202
10.4.1 常用内置函数 203
10.4.2 创建自定义函数 212
10.4.3 查看、修改和删除自定义函数 217
10.5 程序中的事务 219
10.5.1 概述 220
10.5.2 编写事务 221
10.5.3 检查点处理 225
10.5.4 锁 225
10.6 游标 226
10.6.1 游标的基本操作 226
10.6.2 使用游标 228
10.7 案例中的程序设计 231
10.8 思考题 234
第11章 存储过程与触发器 235
11.1 存储过程综述 235
11.1.1 存储过程的概念 235
11.1.2 存储过程的类型 235
11.2 创建、执行、修改、删除简单存储过程 236
11.2.1 创建存储过程 236
11.2.2 执行存储过程 239
11.2.3 查看存储过程 239
11.2.4 修改存储过程 241
11.2.5 删除存储过程 242
11.3 创建和执行含参数的存储过程 243
11.3.1 带简单参数的存储过程 243
11.3.2 带表值参数的存储过程 246
11.4 存储过程的重新编译 248
11.5 系统存储过程与扩展存储过程 249
11.5.1 系统存储过程 249
11.5.2 扩展存储过程 250
11.6 案例中的存储过程 250
11.7 触发器综述 256
11.8 触发器的创建执行 257
11.8.1 Inserted表和Deleted表 257
11.8.2 创建触发器 257
11.8.3 查看触发器信息 260
11.9 修改和删除触发器 261
11.9.1 修改触发器 261
11.9.2 禁止、启用和删除触发器 262
11.10 嵌套触发器 262
11.11 案例中的触发器 262
11.12 思考题 264
第12章 SQL Server安全管理 265
12.1 SQL Server 2008的安全机制 265
12.1.1 SQL Server 2008的身份验证模式 265
12.1.2 权限验证 267
12.2 管理服务器的安全性 268
12.2.1 查看登录账号 268
12.2.2 创建登录账号 268
12.2.3 禁用登录账号 270
12.2.4 删除登录账号 271
12.3 管理权限 272
12.3.1 数据库用户 272
12.3.2 架构管理 273
12.3.3 数据库角色 277
12.3.4 管理权限 278
12.4 案例中的安全管理 279
12.5 思考题 281
第13章 备份与还原 282
13.1 数据备份与还原综述 282
13.1.1 备份和还原基本概念 282
13.1.2 数据备份的类型 283
13.1.3 恢复模式 284
13.2 备份与还原操作 285
13.2.1 数据库的备份 285
13.2.2 数据库的还原 289
13.3 备份与还原计划 291
13.4 数据的导入与导出 292
13.4.1 导出数据 292
13.4.2 导入数据 296
13.5 案例中的备份和还原操作 297
13.5.1 备份操作 298
13.5.2 还原操作 299
13.6 思考题 300
第14章 数据库与开发工具的协同使用 301
14.1 常用的数据库连接方法 301
14.1.1 ODBC 301
14.1.2 JDBC 302
14.1.3 ADO.NET 302
14.2 在Java中的数据库开发 303
14.3 在Visual Studio.NET中的数据库开发 306
14.3.1 使用数据控件 307
14.3.2 使用ADO.NET对象 309
14.4 案例的客户端程序 311
14.4.1 系统分析与设计 312
14.4.2 系统数据库设计 314
14.4.3 系统实现 314
14.5 思考题 340
附录A 实验实习指导 341
附录B 实训案例“网络进销存系统” 352
附录C 常用函数 360
附录D 常用存储过程 362