第1章 数据库系统认知 1
1.1 数据管理技术的产生和发展 2
1.1.1 数据处理的基本概念 2
1.1.2 数据管理技术的发展 3
1.2 数据库系统概述 5
1.2.1 数据库系统的构成 5
1.2.2 数据库的体系结构 8
1.2.3 数据库管理系统的功能 9
1.3 数据模型 10
1.3.1 数据模型的基本概念 10
1.3.2 数据模型的组成要素 11
1.3.3 数据模型的结构分类 12
1.4 数据库设计基础 14
1.4.1 数据库的设计方法 14
1.4.2 数据库的设计步骤 14
1.5 项目训练——数据库系统认知 15
思考与练习 16
第2章 数据库需求分析与概念设计 18
2.1 数据库需求分析 19
案例1-2-1 教务管理系统需求分析 20
案例2-2-1 图书管理系统需求分析 21
2.2 数据库概念设计 22
2.2.1 概念模型的基本要素 22
2.2.2 概念设计的一般步骤 25
2.3 ER方法概念设计 26
2.3.1 概念模型的ER表示方法 26
2.3.2 概念模型的ER设计过程 26
2.3.3 使用Visio建立ER概念模型 27
案例1-2-2 教务管理数据库概念设计 29
2.4 IDEF1X方法概念设计 30
2.4.1 实体(Entity,E) 30
2.4.2 属性(Attribute,A) 31
2.4.3 联系(Relationship,R) 32
2.4.4 使用Visio建立IDEF1X概念模型 35
案例2-2-2 图书管理数据库概念设计 37
2.5 项目训练——人事管理数据库需求分析与概念设计 38
思考与练习 41
第3章 关系模型与数据库逻辑设计 43
3.1 关系模型概述 44
3.1.1 关系模型的组成要素 44
3.1.2 关系模型的特点 45
3.2 关系数据结构 45
3.2.1 关系的定义 45
3.2.2 关系的术语 46
3.3 关系数据操作 47
3.3.1 传统的集合运算 47
3.3.2 专门的关系运算 49
3.3.3 综合运算 51
3.4 关系数据完整性 52
3.4.1 实体完整性约束 53
3.4.2 域完整性约束 53
3.4.3 参照完整性约束 54
3.4.4 用户定义完整性约束 55
3.5 概念模型到关系模型的转换 55
3.5.1 实体(E)转换为关系的方法 56
3.5.2 联系(R)转换为关系的方法 56
案例1-3 教务管理数据库逻辑设计 58
3.6 关系规范化 59
3.6.1 第一范式(1NF) 59
3.6.2 第二范式(2NF) 60
3.6.3 第三范式(3NF) 62
3.6.4 BC范式(BCNF) 63
案例2-3 图书管理数据库逻辑设计 63
3.7 项目训练——人事管理数据库逻辑设计 65
思考与练习 67
第4章 SQL Server 2008 R2的安装与配置 69
4.1 SQL Server 2008 R2简介 70
4.1.1 SQL Server 2008 R2的服务功能 70
4.1.2 SQL Server 2008 R2的版本 71
4.2 SQL Server 2008 R2的安装与配置 72
4.2.1 安装的软硬件需求 72
4.2.2 安装的过程与配置 72
4.3 SQL Server 2008 R2的管理工具 80
4.4 SQL Server Management Studio 81
4.4.1 SSMS基础 82
4.4.2 使用【已注册的服务器】窗口 83
4.4.3 使用【对象资源管理器】窗口 85
4.4.4 使用【文档】窗口 86
4.5 SQL、T—SQL与【查询编辑器】 87
4.5.1 SQL简介 87
4.5.2 T-SQL简介 88
4.5.3 使用【查询编辑器】 88
4.6 项目训练——使用SSMS 90
思考与练习 92
第5章 数据库的创建与管理 93
5.1 数据库概述 94
5.1.1 数据库的构成 94
5.1.2 数据库文件 95
5.1.3 数据库文件组 96
5.1.4 数据库对象 97
5.2 使用SSMS创建与管理数据库 98
5.2.1 使用SSMS创建数据库 98
案例1-5-1 教务管理数据库的创建 98
5.2.2 使用SSMS修改数据库 101
案例1-5-2 教务管理数据库的修改 101
5.2.3 使用SSMS删除数据库 102
5.3 使用T—SQL创建与管理数据库 103
5.3.1 使用T-SQL创建数据库 103
案例2-5-1 图书管理数据库的创建 105
5.3.2 使用T-SQL修改数据库 106
案例2-5-2 图书管理数据库的修改 107
5.3.3 使用T-SQL删除数据库 107
5.4 分离和附加数据库 108
5.4.1 分离数据库 108
5.4.2 附加数据库 109
5.5 项目训练——人事管理数据库的创建 110
思考与练习 111
第6章 表的创建管理与操作 113
6.1 表概述 114
6.1.1 表的构成 115
6.1.2 表的类型 115
6.1.3 T-SQL的数据类型 116
6.1.4 表的完整性约束 117
6.2 使用SSMS创建与管理表 118
案例1-6-1 教务管理表的创建与管理 118
6.2.1 使用SSMS创建表 118
6.2.2 使用SSMS修改表 120
6.2.3 使用SSMS删除表 123
6.3 使用SSMS操作表 124
案例1-6-2 教务管理数据的操作 124
6.3.1 使用SSMS添加数据行 124
6.3.2 使用SSMS更新数据 125
6.3.3 使用SSMS删除数据行 125
6.4 使用T—SQL创建与管理表 125
案例2-6-1 图书管理表的创建与管理 125
6.4.1 使用T-SQL创建表 126
6.4.2 使用T-SQL修改表 128
6.4.3 使用T-SQL删除表 129
6.5 使用T—SQL操作表 129
案例2-6-2 图书管理数据的操作 129
6.5.1 使用T-SQL添加数据行 129
6.5.2 使用T-SQL更新数据 131
6.5.3 使用T-SQL删除数据行 133
6.6 索引的创建与管理 134
6.6.1 索引概述 134
6.6.2 使用SSMS创建索引 135
6.6.3 使用SSMS删除索引 136
6.6.4 使用T-SQL创建索引 136
6.6.5 使用T-SQL删除索引 137
6.7 关系图的创建与管理 138
6.7.1 创建数据库关系图 138
6.7.2 打开数据库关系图 139
6.7.3 删除数据库关系图 139
6.7.4 显示数据库关系图属性 139
6.8 项目训练——人事管理表的创建与操作 139
思考与练习 142
第7章 SELECT数据查询 143
7.1 SELECT查询语句 144
案例1-7 教务管理SELECT数据查询 144
7.1.1 SELECT查询语句结构 144
7.1.2 SELECT子句投影查询 145
7.1.3 FROM子句连接查询 150
7.1.4 WHERE子句选择查询 151
7.1.5 GROUP BY子句分组统计查询 155
7.1.6 HAVING子句限定查询 157
7.1.7 ORDER BY子句排序查询 157
7.1.8 INTO子句保存查询 159
7.2 ANSI连接查询 159
案例2-7-1 图书管理ANSI连接查询 159
7.2.1 FROM子句的ANSI连接 159
7.2.2 内连接 160
7.2.3 外连接 161
7.2.4 自连接 163
7.2.5 交叉连接 163
7.2.6 多表连接 164
7.3 子查询 165
案例2-7-2 图书管理SELECT子查询 165
7.3.1 [NOT]IN子查询 165
7.3.2 比较子查询 166
7.3.3 EXISTS子查询 167
7.3.4 子查询在其他语句中的使用 167
7.3.5 子查询和连接查询的比较 168
7.4 联合查询 169
7.4.1 UNION操作符 169
7.4.2 联合查询结果排序 170
7.4.3 UNION操作符和JOIN操作符的区别与联系 170
7.5 项目训练——人事管理SELECT数据查询 170
思考与练习 171
第8章 视图的创建与操作 173
8.1 视图概述 174
8.2 使用SSMS创建与管理视图 175
案例1-8-1 教务管理视图的创建与管理 175
8.2.1 使用SSMS创建视图 175
8.2.2 使用SSMS修改视图 177
8.2.3 使用SSMS删除视图 178
8.3 使用SSMS应用视图 178
案例1-8-2 教务管理视图的应用 178
8.3.1 使用SSMS查询数据 179
8.3.2 使用SSMS添加数据行 179
8.3.3 使用SSMS更新数据 180
8.3.4 使用SSMS删除数据行 180
8.4 使用T—SQL创建与管理视图 180
案例2-8-1 图书管理视图的创建与管理 180
8.4.1 使用T-SQL创建视图 181
8.4.2 使用T-SQL修改视图 183
8.4.3 使用T-SQL删除视图 184
8.5 使用T—SQL应用视图 184
案例2-8-2 图书管理视图的应用 184
8.5.1 使用T-SQL查询数据 184
8.5.2 使用T-SQL添加数据行 184
8.5.3 使用T-SQL更新数据 185
8.5.4 使用T-SQL删除数据行 185
8.6 项目训练——人事管理视图的创建与操作 186
思考与练习 186
第9章 T—SQL编程与应用 187
9.1 T—SQL编程基础 188
9.1.1 有效标识符 188
9.1.2 注释 188
9.1.3 数据类型 189
9.2 表达式 190
9.2.1 常量 190
9.2.2 变量 191
9.2.3 日期时间类型表达式说明 193
9.2.4 函数 195
9.2.5 运算符 201
9.3 流程控制语句 201
9.3.1 顺序语句 201
9.3.2 IF…ELSE语句 202
9.3.3 WHILE语句 204
9.3.4 其他控制语句 205
9.3.5 CASE表达式 206
9.4 批处理 207
9.5 事务 209
9.5.1 事务的概念 209
9.5.2 事务语句 210
9.6 项目训练——人事管理数据库T—SQL编程 212
思考与练习 213
第10章 数据库服务器编程 214
10.1 存储过程 215
案例2-10-1 图书管理存储过程的创建与应用 215
10.1.1 存储过程概述 215
10.1.2 创建存储过程 217
10.1.3 管理存储过程 221
10.2 触发器 222
案例2-10-2 图书管理触发器的创建与应用 222
10.2.1 触发器概述 222
10.2.2 创建DML触发器 223
10.2.3 创建DDL触发器 230
10.2.4 管理触发器 232
10.3 用户定义函数 233
案例2-10-3 图书管理用户定义函数的创建与应用 233
10.3.1 用户定义函数概述 233
10.3.2 创建用户定义函数 234
10.3.3 管理用户定义函数 236
10.4 项目训练——人事管理数据库服务器编程 237
思考与练习 238
第11章 数据库的安全性管理 239
案例1-11 教务管理数据库的安全性管理 240
11.1 安全性控制概述 240
11.1.1 SQL Server 2008 R2的安全特性 240
11.1.2 SQL Server的安全机制 241
11.2 保护数据库系统的网络安全设计 241
11.2.1 保护外部访问 241
11.2.2 授权远程访问 242
11.3 SQL Server身份验证模式 243
11.3.1 Windows身份验证模式 244
11.3.2 混合身份验证模式 244
11.3.3 设置身份验证模式 244
11.4 SQL Server登录管理 245
11.4.1 为Windows授权用户创建登录名 246
11.4.2 为SQL Server授权用户创建登录名 253
11.4.3 修改和删除登录名 257
11.5 SQL Server数据库用户管理 258
11.5.1 创建数据库用户 258
11.5.2 修改和删除数据库用户 261
11.6 权限管理 262
11.6.1 权限概述 262
11.6.2 数据库对象权限 262
11.6.3 数据库语句权限 266
11.7 角色管理 269
11.7.1 角色概述 269
11.7.2 固定服务器角色 269
11.7.3 数据库角色 273
11.7.4 应用程序角色 276
11.8 架构管理 278
11.8.1 架构概述 278
11.8.2 创建架构 278
11.8.3 修改和删除架构 279
11.8.4 默认架构 280
11.9 项目训练——人事管理数据库安全管理 280
思考与练习 281
第12章 数据库的恢复与传输 282
12.1 数据库的备份与还原 283
案例1-12-1 教务管理数据库的备份与还原 283
12.1.1 数据库备份概述 283
12.1.2 数据库备份 285
12.1.3 数据库还原 290
12.2 数据库的导出与导入 292
案例1-12-2 教务管理数据库的导出与导入 292
12.2.1 SQL Server数据导出 292
12.2.2 SQL Server数据导入 296
12.3 项目训练——人事管理数据库的维护 297
思考与练习 298