第1章 数据库技术基础 1
1.1 数据库基础知识 1
1.1.1 信息、数据与数据管理 1
1.1.2 数据管理技术的发展 1
1.1.3 数据库、数据库管理系统、数据库系统 2
1.1.4 数据模型 3
1.1.5 数据库系统的体系结构 6
1.2 关系数据库 7
1.2.1 关系模型 7
1.2.2 关系数据理论 10
1.3 数据库设计 14
1.3.1 数据库设计的任务、特点和基本步骤 14
1.3.2 需求分析的任务 15
1.3.3 概念结构设计 16
1.3.4 逻辑结构设计 17
1.3.5 数据库设计案例 18
1.4 主流数据库简介 21
1.4.1 SQLServer 21
1.4.2 Oracle 22
1.4.3 SybaseASE 22
1.4.4 DB2 23
练习题 23
第2章 SQL Server 2012综述 24
2.1 SQLServer 2012概述 24
2.1.1 SQLServer的发展过程 24
2.1.2 SQLServer 2012的体系结构 25
2.1.3 SQLServer 2012的主要特性 27
2.1.4 SQLServer 2012的版本 28
2.2 SQLServer 2012的安装 29
2.2.1 SQLServer2012安装前的准备工作 29
2.2.2 安装SQLServer 2012 31
2.2.3 升级到SQL Server 2012 43
2.2.4 SQL Server2012安装成功的验证 44
2.3 SQLServer 2012的安全性 48
2.3.1 SQLServer 2012安全性综述 48
2.3.2 权限验证模式 49
2.3.3 数据库用户账号、角色和权限 50
2.4 SQLServer 2012工具 51
2.4.1 配置SQLServer 2012服务器 51
2.4.2 注册和连接SQL Server 2012服务器 54
2.4.3 启动和关闭SQL Server 2012服务器 57
2.4.4 SQLServer 2012的常用工具 58
练习题 67
第3章 数据库的基本操作 68
3.1 SQL Server数据库的基本知识和概念 68
3.1.1 SQLServer的数据库对象 68
3.1.2 SQLServer的系统数据库 69
3.1.3 数据库的组成 70
3.1.4 数据库文件组 70
3.1.5 数据库的存储空间分配 72
3.2 创建数据库 73
3.2.1 使用对象资源管理器创建数据库 73
3.2.2 使用T-SQL语句创建数据库 78
3.3 查看和设置数据库信息 82
3.3.1 使用SQL Server对象资源管理器查看数据库信息 82
3.3.2 使用T-SQL语句查看数据库的信息 82
3.4 打开数据库 83
3.5 修改数据库 84
3.5.1 增加数据库的容量 84
3.5.2 缩减数据库容量 89
3.5.3 创建和更改文件组 94
3.5.4 增加或删除数据库文件 95
3.5.5 更改数据库名称 99
3.6 分离数据库 100
3.7 附加数据库 101
3.8 删除数据库 103
3.9 应用举例 104
3.9.1 创建计算机计费数据库 104
3.9.2 创建选课管理数据库 104
练习题 106
第4章 表的基本操作 108
4.1 SQL Server表概述 108
4.1.1 SQL Server表的概念 108
4.1.2 SQL Server 2012数据类型 109
4.2 数据库中表的创建 112
4.2.1 使用对象资源管理器创建表 112
4.2.2 使用T-SQL语句创建表 115
4.3 修改表结构 118
4.3.1 使用对象资源管理器修改表结构 118
4.3.2 使用T-SQL语句修改表结构 119
4.4 删除表 120
4.4.1 使用对象资源管理器删除表 121
4.4.2 使用DROP TABLE语句删除表 121
4.5 添加数据 122
4.5.1 使用对象资源管理器向表中添加数据 122
4.5.2 使用INSERT语句向表中添加数据 123
4.6 查看表 124
4.6.1 查看表结构 124
4.6.2 查看表中的数据 125
4.7 应用举例 126
4.7.1 学生选课管理信息系统的各表定义及创建 126
4.7.2 计算机计费系统的各表定义及创建 130
练习题 131
第5章 数据的基本操作 132
5.1 关系运算 132
5.1.1 关系数据结构的形式化定义 133
5.1.2 关系代数 134
5.1.3 关系代数的等价变换规则 142
5.1.4 关系代数表达式应用实例 142
5.2 单表查询 144
5.2.1 完整的SELECT语句的基本语法格式 144
5.2.2 选择表中的若干列 145
5.2.3 选择表中的若干记录 147
5.2.4 对查询的结果排序 156
5.2.5 对数据进行统计 158
5.2.6 用查询结果生成新表 161
5.2.7 集合查询 162
5.3 连接查询 165
5.3.1 交叉连接查询 165
5.3.2 等值与非等值连接查询 166
5.3.3 自身连接查询 168
5.3.4 外连接查询 169
5.3.5 复合连接条件查询 171
5.4 子查询 173
5.4.1 带有IN谓词的子查询 173
5.4.2 带有比较运算符的子查询 175
5.4.3 带有ANY或ALL谓词的子查询 178
5.4.4 带有EXISTS谓词的子查询 180
5.5 数据的添加、修改和删除 183
5.5.1 数据的添加 184
5.5.2 数据的修改 191
5.5.3 数据的删除 193
5.6 应用举例 194
练习题 197
第6章 索引及视图 200
6.1 索引的基础知识 200
6.1.1 数据存储 200
6.1.2 索引 200
6.2 索引的分类 201
6.2.1 聚集索引 201
6.2.2 非聚集索引 202
6.2.3 聚集和非聚集索引的性能比较 203
6.2.4 使用索引的原则 203
6.3 索引的操作 204
6.3.1 创建索引 204
6.3.2 查询索引信息 208
6.3.3 重命名索引 209
6.3.4 删除索引 209
6.4 索引的分析与维护 210
6.4.1 索引的分析 210
6.4.2 索引的维护 212
6.5 索引应用举例 214
6.6 视图综述 214
6.6.1 视图的基本概念 215
6.6.2 视图的作用 216
6.7 视图的操作 216
6.7.1 创建视图 217
6.7.2 修改视图 221
6.7.3 重命名视图 222
6.7.4 使用视图 223
6.7.5 删除视图 225
6.8 视图定义信息查询 227
6.8.1 使用对象资源管理器 227
6.8.2 通过执行系统存储过程查看视图的定义信息 228
6.9 加密视图 228
6.10 用视图加强数据安全性 229
6.11 视图应用举例 230
练习题 231
第7章 数据完整性 232
7.1 数据完整性的概念 232
7.2 约束的类型 233
7.3 约束的创建 234
7.3.1 创建主键约束 234
7.3.2 创建唯一约束 238
7.3.3 创建检查约束 239
7.3.4 创建默认约束 241
7.3.5 创建外键约束 243
7.4 查看约束的定义 245
7.5 删除约束 246
7.6 使用规则 246
7.7 使用默认 248
7.8 数据完整性强制选择方法 249
7.9 应用举例 250
练习题 251
第8章 SQL Server函数 252
8.1 内置函数 252
8.1.1 聚合函数 252
8.1.2 配置函数 255
8.1.3 日期和时间函数 256
8.1.4 数学函数 258
8.1.5 元数据函数 259
8.1.6 字符串函数 259
8.1.7 系统函数 262
8.1.8 排名函数 263
8.1.9 其他新增函数 264
8.2 用户定义函数 265
8.3 标量函数 267
8.4 表值函数 270
8.5 应用举例 274
练习题 275
第9章 SQL Server程序设计 277
9.1 程序中的批处理、脚本、注释 277
9.1.1 批处理 277
9.1.2 脚本 278
9.1.3 注释 279
9.2 程序中的事务 279
9.2.1 事务概述 280
9.2.2 事务处理语句 280
9.2.3 分布式事务 283
9.2.4 锁定 283
9.3 SQLServer变量 284
9.3.1 全局变量 284
9.3.2 局部变量 286
9.4 SQL语言流程控制 289
9.4.1 BEGIN…END语句块 289
9.4.2 IF…ELSE语句 289
9.4.3 CASE结构 290
9.4.4 WAITFOR语句 292
9.4.5 PRINT语句 293
9.4.6 WHILE语句 294
9.5 应用举例 295
练习题 297
第10章 存储过程与触发器 298
10.1 存储过程综述 298
10.1.1 存储过程的概念 298
10.1.2 存储过程的类型 298
10.1.3 创建、执行、修改、删除简单存储过程 299
10.1.4 创建和执行含参数的存储过程 305
10.1.5 存储过程的重新编译 305
10.1.6 系统存储过程与扩展存储过程 306
10.1.7 案例中的存储过程 309
10.2 触发器 311
10.2.1 触发器的概念 311
10.2.2 触发器的优点 311
10.2.3 触发器的类型 312
10.2.4 DML触发器 313
10.2.5 DDL触发器 328
10.2.6 案例中的触发器 329
练习题 331
第11章 SQL Server 2012安全管理 333
11.1 SQLServer2012安全的相关概念 333
11.1.1 登录验证 333
11.1.2 角色 334
11.1.3 许可权限 335
11.2 服务器的安全性管理 335
11.2.1 查看登录账号 335
11.2.2 创建一个登录账号 336
11.2.3 更改、删除登录账号属性 338
11.2.4 禁止登录账号 338
11.2.5 删除登录账号 339
11.3 数据库安全性管理 340
11.3.1 数据库用户 340
11.3.2 数据库角色 341
11.3.3 管理权限 344
11.4 数据备份与还原 345
11.4.1 备份和还原的基本概念 345
11.4.2 数据备份的类型 346
11.4.3 还原模式 347
11.5 备份与还原操作 348
11.5.1 数据库的备份 348
11.5.2 数据库的还原 350
11.6 备份与还原计划 352
11.7 案例中的安全 353
11.8 案例中的备份和还原操作 357
11.9 数据导出与导入 363
练习题 367
第12章 数据库与开发工具的协同使用 369
12.1 常用的数据库连接方法 369
12.1.1 ODBC 369
12.1.2 OLE DB 371
12.1.3 ADO 371
12.2 在Visual Basic中的数据库开发 373
12.2.1 Visual Basic简介 373
12.2.2 在VB中使用ADO数据控件连接数据库 373
12.3 在Delphi或C++Builder中的数据库开发 376
12.3.1 Delphi与C++Builder简介 376
12.3.2 C++Builder提供的SQL Server访问机制 376
12.4 ASP与SQL Server2012的协同运用 382
12.4.1 ASP运行环境的建立 382
12.4.2 在ASP中连接SQLServer 2012数据库 383
12.4.3 ASP与SQL Server 2012数据库协同开发程序的方式 385
12.5 案例中的程序 386
12.5.1 学生信息管理 386
12.5.2 教师信息管理 389
12.5.3 学生信息查询 391
练习题 393
附录 实验指导 394
参考文献 407