第1章 数据库概述 1
1.1 数据库的基本概念 1
1.1.1 数据库 1
1.1.2 数据库管理系统 1
1.1.3 数据库系统 2
1.2 数据库技术的发展 2
1.2.1 数据管理技术的发展 2
1.2.2 数据库技术的发展 3
1.2.3 数据库技术的发展方向 4
1.3 关系数据库基本原理概述 6
1.3.1 数据模型概述 6
1.3.2 关系模型 10
1.4 数据库系统的体系结构 13
1.4.1 单用户数据库系统 13
1.4.2 多用户数据库系统 13
1.4.3 客户/服务器结构的数据库系统 13
1.4.4 浏览器/服务器结构的数据库系统 14
1.4.5 分布式结构的数据库系统 14
1.5 数据库设计 14
1.5.1 数据库设计的任务、特点和步骤 15
1.5.2 需求分析的任务 15
1.5.3 概念结构设计 16
1.5.4 逻辑结构设计 17
1.5.5 数据库设计案例 18
本章小结 21
习题 22
第2章 SQL Server数据库管理系统概述 23
2.1 SQL Server数据库管理系统简介 23
2.1.1 SQL Server数据库管理系统的发展 23
2.1.2 SQL Server 2017版本介绍 24
2.1.3 SQL Server 2017服务器组件和管理工具 24
2.2 启动和配置SQL Server 2017 25
2.2.1 启动SQL Server服务 25
2.2.2 新建服务器组和新建服务器注册 29
2.3 SQL Server Management Studio工具使用 29
2.3.1 SQL Server Management Studio的启动与常用功能 29
2.3.2 对象资源管理器与新建查询 31
本章小结 32
习题 32
第3章 SQL Server数据库管理 33
3.1 数据库概述 33
3.1.1 数据库的物理存储 33
3.1.2 数据库的逻辑结构 34
3.1.3 系统数据库 35
3.2 SQL Server创建数据库 36
3.2.1 用SQL Server Management Studio创建数据库 36
3.2.2 用CREATE DATABASE语句创建数据库 40
3.3 管理和维护数据库 43
3.3.1 打开数据库 43
3.3.2 增减数据库空间 44
3.3.3 数据库选项的设定与修改 46
3.3.4 更改数据库名称 48
3.3.5 删除数据库 48
3.3.6 分离和附加数据库 50
本章小结 52
习题 52
第4章 数据表管理 53
4.1 数据表概述 53
4.1.1 系统表 53
4.1.2 用户表 54
4.2 数据类型 55
4.2.1 标准数据类型 55
4.2.2 用户定义的数据类型 59
4.3 创建表 60
4.3.1 用SQL Server Management Studio创建表 61
4.3.2 用CREATE TABLE语句创建表 61
4.4 表的管理和维护 62
4.4.1 查看表的定义信息 62
4.4.2 修改表结构 65
4.4.3 删除表 66
4.5 表中数据的添加、修改和删除 67
4.5.1 向表中插入数据 67
4.5.2 修改表中的数据 69
4.5.3 删除表中的数据 69
4.6 数据完整性与使用约束 71
4.6.1 数据完整性的概念 71
4.6.2 主键(PRIMARY KEY)约束 72
4.6.3 唯一性(UNIQUE)约束 72
4.6.4 检查(CHECK)约束 74
4.6.5 默认值(DEFAULT)约束 74
4.6.6 非空值(NOT NULL)约束 75
4.6.7 外键(FOREIGN KEY)约束 75
4.6.8 标识列IDENTITY 76
4.6.9 数据库关系图 77
本章小结 78
习题 78
第5章 数据查询 81
5.1 查询概述 81
5.1.1 SELECT语句的语法格式 81
5.1.2 SELECT语句的功能与子句测试顺序 82
5.2 SELECT语句的单表查询 83
5.2.1 使用SELECT语句的简单查询 83
5.2.2 使用INTO子句 86
5.2.3 使用WHERE子句 87
5.2.4 使用ORDER BY子句 92
5.3 SELECT语句的统计功能 93
5.3.1 使用聚合函数 93
5.3.2 使用GROUP BY子句 94
5.4 SELECT语句的多表查询 96
5.4.1 内连接 97
5.4.2 外连接 100
5.4.3 自连接 102
5.5 SELECT语句的子查询 103
5.5.1 比较测试中的子查询 103
5.5.2 集合测试中的子查询 105
5.5.3 存在性测试中的子查询 106
5.5.4 子查询的应用 108
本章小结 108
习题 109
第6章 视图和索引 110
6.1 视图的基本概念 110
6.1.1 视图的基本概念 110
6.1.2 视图的优点和使用准则 111
6.2 视图的创建和查询 112
6.2.1 用SQL Server Management Studio创建视图 112
6.2.2 用CREATE VIEW语句创建视图 113
6.2.3 视图数据的查询 114
6.3 视图的维护 115
6.3.1 查看视图的定义信息 115
6.3.2 修改和删除视图 116
6.4 通过视图修改表数据 119
6.4.1 使用视图向表中插入数据 119
6.4.2 使用视图更新表中数据 120
6.4.3 使用视图删除表中数据 121
6.5 索引概述 122
6.5.1 索引的基本概念 122
6.5.2 索引的作用 122
6.5.3 索引的分类 123
6.6 创建索引 124
6.6.1 系统自动创建索引 124
6.6.2 用SQL Server Management Studio创建索引 124
6.6.3 用CREATE INDEX语句创建索引 126
6.6.4 索引的修改 127
6.6.5 索引的删除 128
本章小结 128
习题 128
第7章 Transact-SQL编程 130
7.1 Transact-SQL语言基础 130
7.1.1 T-SQL语言的特点 130
7.1.2 T-SQL语言的组成 131
7.1.3 T-SQL语言的结构 131
7.1.4 T-SQL语言常用概念 132
7.1.5 常量 133
7.1.6 变量 134
7.2 流程控制语句 135
7.2.1 BEGIN...END语句块 135
7.2.2 IF...ELSE语句 135
7.2.3 CASE语句 136
7.2.4 WAITFOR语句 137
7.2.5 WHILE语句 137
7.2.6 GOTO语句 138
7.2.7 RETURN语句 139
7.2.8 PRINT命令 139
7.3 系统函数 139
7.3.1 字符串函数 140
7.3.2 日期函数 140
7.3.3 系统综合函数 141
7.3.4 数学函数 142
7.3.5 安全函数 142
7.3.6 配置函数 142
7.4 用户自定义函数 143
7.4.1 基本概念 143
7.4.2 创建用户自定义函数 143
7.4.3 修改和删除用户自定义函数 147
7.5 事务、锁与游标 148
7.5.1 事务的概念 148
7.5.2 事务的属性 148
7.5.3 事务的提交与回滚 148
7.5.4 锁概述 150
7.5.5 游标概述 152
本章小结 153
习题 153
第8章 存储过程和触发器 154
8.1 存储过程概述 154
8.1.1 基本概念 154
8.1.2 存储过程的特点 154
8.1.3 存储过程的类型 155
8.2 存储过程的创建和执行 157
8.2.1 创建存储过程 157
8.2.2 执行存储过程 160
8.3 存储过程中参数的使用 162
8.3.1 带输入参数的存储过程 162
8.3.2 带输出参数的存储过程 164
8.3.3 通过RETURN返回参数 165
8.4 存储过程的管理与维护 167
8.4.1 查看存储过程信息 167
8.4.2 存储过程的重编译 168
8.4.3 重命名存储过程 169
8.4.4 修改和删除存储过程 169
8.4.5 嵌套存储过程 171
8.5 触发器概述 171
8.5.1 基本概念 171
8.5.2 触发器的特点 172
8.6 触发器的创建和应用 173
8.6.1 DML触发器 173
8.6.2 DDL触发器 177
8.6.3 查看触发器的定义信息 179
8.7 触发器的维护 181
8.7.1 修改和删除触发器 181
8.7.2 禁用或启用触发器 182
8.8 触发器综合应用实例 182
8.9 触发器的嵌套与递归 185
8.9.1 嵌套触发器 185
8.9.2 递归触发器 186
本章小结 186
习题 187
第9章 SQL Server的安全管理 188
9.1 SQL Server的安全概述 188
9.1.1 SQL Server的安全主体和安全对象 188
9.1.2 SQL Server的安全机制 189
9.1.3 SQL Server身份验证模式 190
9.2 服务器的安全管理 191
9.2.1 创建或修改服务器登录账户 191
9.2.2 禁用或删除登录账户 196
9.2.3 服务器角色 197
9.2.4 使用存储过程管理角色 198
9.3 数据库用户管理 199
9.3.1 添加数据库用户 199
9.3.2 修改数据库用户 201
9.3.3 删除数据库用户 201
9.4 数据库角色管理 202
9.4.1 固定的数据库角色 203
9.4.2 自定义的数据库角色 203
9.4.3 管理数据库角色 204
9.5 权限管理 206
9.5.1 权限的种类 206
9.5.2 权限的管理 207
9.6 架构管理 212
9.6.1 架构 212
9.6.2 架构的管理 212
本章小结 215
习题 215
第10章 备份与恢复 216
10.1 备份与恢复的基本概念 216
10.1.1 备份数据库的时机 216
10.1.2 备份与恢复的方式 217
10.2 备份数据库 218
10.2.1 用SQL Server Management Studio备份数据库 218
10.2.2 创建备份设备 220
10.2.3 用Transact-SQL语句备份数据库 221
10.3 恢复数据库 223
10.3.1 恢复数据库前的准备 223
10.3.2 用SQL Server Management Studio恢复数据库 223
10.3.3 用Transact-SQL语句恢复数据库 224
10.4 数据的导入导出 224
10.4.1 SQL Server与Excel的数据格式转换 225
10.4.2 SQL Server与Access的数据格式转换 227
10.4.3 用Transact-SQL语句导入导出数据库 228
本章小结 229
习题 229
第11章 数据库和开发工具的协同工作 230
11.1 SQL Server数据库与VB的连接 230
11.1.1 数据访问对象/Jet 230
11.1.2 利用ODBC API编程 231
11.1.3 使用ADO连接数据库编程 232
11.2 SQL Server数据库与C#.NET的连接 235
11.2.1 通过ADO.NET连接数据库 235
11.2.2 使用ADO.NET访问在线数据库的步骤 235
11.2.3 离线数据库访问 238
本章小结 240
习题 240
参考文献 241