第1章 数据库系统与数据库概念设计 1
1.1 数据管理技术的产生和发展 2
1.1.1 数据处理的基本概念 2
1.1.2 数据管理技术的发展阶段 3
1.2 数据库系统概述 5
1.2.1 数据库系统构成 6
1.2.2 数据库的体系结构 8
1.2.3 数据库管理系统的功能 10
1.3 数据模型 11
1.3.1 数据模型的基本概念 11
1.3.2 概念数据模型 12
1.3.3 逻辑数据模型 13
1.4 数据库设计基础 14
1.4.1 数据库设计方法 14
1.4.2 数据库的设计步骤 14
1.5 数据库概念设计 15
1.5.1 数据库概念设计方法 16
1.5.2 数据库概念设计案例 17
1.6 任务训练—概念设计 19
思考与练习 21
第2章 关系模型与数据库逻辑设计 23
2.1 关系模型概述 24
2.1.1 关系模型组成要素 24
2.1.2 关系模型的特点 25
2.2 关系数据结构 25
2.2.1 关系 25
2.2.2 关系术语 26
2.3 关系数据操作 27
2.3.1 传统的集合运算 28
2.3.2 专门的关系运算 30
2.3.3 综合运算 32
2.4 关系完整性约束 33
2.5 E-R模型到关系模型的转换 35
2.5.1 实体(E)转换为关系模式的方法 35
2.5.2 联系(R)转换为关系模式的方法 36
2.6 关系规范化 39
2.6.1 第一范式1NF(First Normal Form) 39
2.6.2 第二范式2NF(Second Normal Form) 40
2.6.3 第三范式3NF(Third Normal Form) 41
2.6.4 BC范式BCNF(Boyce-Codd Normal Form) 42
2.7 任务训练—逻辑设计 42
思考与练习 44
第3章 SQL Server 2005的安装与配置 46
3.1 SQL Server 2005简介 47
3.1.1 SQL Server 2005的服务组件 47
3.1.2 SQL Server 2005的新特性 48
3.2 SQL Server 2005的安装 49
3.2.1 SQL Server 2005的版本 49
3.2.2 安装的软硬件需求 50
3.2.3 安装 51
3.2.4 SQL Server 2005的功能和工具 55
3.3 SQL Server Management Studio 56
3.3.1 SSMS基础 56
3.3.2 使用【已注册的服务器】窗口 56
3.3.3 使用【对象资源管理器】窗口 59
3.3.4 使用【文档】窗口 60
3.4 SQL、T-SQL与【查询编辑器】 61
3.4.1 SQL简介 61
3.4.2 T-SQL简介 62
3.4.3 使用【查询编辑器】 63
3.5 任务训练—使用SSMS 65
思考与练习 66
第4章 数据库的创建与管理 68
4.1 数据库概述 69
4.1.1 数据库的构成 69
4.1.2 数据库文件 71
4.1.3 数据库文件组 71
4.1.4 数据库对象 72
4.1.5 数据库对象的标识符 73
4.1.6 数据库对象的结构 74
4.2 创建数据库 74
4.2.1 使用SSMS创建数据库 74
4.2.2 使用T-SQL语句创建数据库 77
4.3 查看和修改数据库 79
4.3.1 使用SSMS查看和修改数据库 80
4.3.2 使用T-SQL语句修改数据库 81
4.4 删除数据库 83
4.4.1 使用SSMS删除数据库 83
4.4.2 使用T-SQL语句删除数据库 83
4.5 分离和附加数据库 83
4.5.1 分离数据库 83
4.5.2 附加数据库 84
4.6 任务训练—创建与管理数据库 85
思考与练习 87
第5章 表的创建与管理 89
5.1 表概述 90
5.1.1 表的构成 90
5.1.2 表的类型 91
5.1.3 表的数据类型 92
5.1.4 表的完整性体现 93
5.1.5 表的设计 94
5.2 创建表 94
5.2.1 使用SSMS创建表 94
5.2.2 使用T-SQL语句创建表 99
5.3 修改表 102
5.3.1 使用SSMS修改表 102
5.3.2 使用T-SQL语句修改表 102
5.4 删除表 104
5.4.1 使用SSMS删除表 104
5.4.2 使用T-SQL语句删除表 105
5.5 添加数据行 105
5.5.1 使用SSMS添加数据行 105
5.5.2 使用T-SQL语句添加数据行 106
5.6 修改数据 108
5.7 删除数据行 110
5.7.1 使用SSMS删除数据行 110
5.7.2 用T-SQL语句删除数据行 110
5.8 创建索引 111
5.8.1 索引概述 111
5.8.2 使用SSMS创建索引 112
5.8.3 使用T-SQL语句创建索引 113
5.8.4 使用SSMS删除索引 114
5.8.5 使用T-SQL语句删除索引 114
5.9 创建关系图 115
5.9.1 创建数据库关系图 115
5.9.2 打开数据库关系图 116
5.9.3 删除数据库关系图 116
5.9.4 显示数据库关系图属性 116
5.10 任务训练—创建和管理表 116
思考与练习 120
第6章 SELECT数据查询 122
6.1 SELECT查询语句 123
6.1.1 SELECT查询语句结构 123
6.1.2 SELECT子句投影查询 124
6.1.3 FROM子句连接查询 129
6.1.4 WHERE子句选择查询 130
6.1.5 GROUP BY子句分组统计查询 135
6.1.6 HAVING子句限定查询 136
6.1.7 ORDER BY子句排序查询 137
6.1.8 INTO子句保存查询 138
6.2 连接查询 139
6.2.1 FROM子句的ANSI连接语法形式 139
6.2.2 内连接 139
6.2.3 外连接 141
6.2.4 自连接 142
6.2.5 交叉连接 144
6.2.6 多表连接 145
6.3 子查询 145
6.3.1 [NOT]IN子查询 146
6.3.2 比较子查询 146
6.3.3 EXISTS子查询 148
6.3.4 子查询在其他语句中的使用 149
6.4 联合查询 149
6.4.1 UNION操作符 149
6.4.2 联合查询结果排序 150
6.4.3 UNION操作符和JOIN操作符的区别与联系 151
6.4.4 子查询和连接查询的比较 151
6.5 任务训练—SELECT数据查询 152
思考与练习 152
第7章 视图的创建与管理 154
7.1 视图概述 155
7.2 创建视图 156
7.2.1 使用SSMS创建视图 156
7.2.2 使用T-SQL语句创建视图 159
7.3 修改视图 161
7.3.1 使用SSMS修改视图 161
7.3.2 使用T-SQL语句修改视图 163
7.4 删除视图 164
7.4.1 使用SSMS删除视图 164
7.4.2 使用T-SQL语句删除视图 164
7.5 使用视图 165
7.5.1 视图检索(查询) 165
7.5.2 利用视图操作基本表 165
7.6 任务训练—创建与管理视图 167
思考与练习 167
第8章 T-SQL编程与应用 168
8.1 T-SQL编程基础 169
8.1.1 有效标识符 169
8.1.2 注释 169
8.1.3 数据类型 170
8.2 表达式 171
8.2.1 常量 172
8.2.2 变量 172
8.2.3 函数 175
8.2.4 运算符 181
8.3 流程控制语句 181
8.3.1 顺序语句 182
8.3.2 IF...ELSE语句 183
8.3.3 WHILE语句 185
8.3.4 其他控制语句 185
8.3.5 CASE函数 187
8.4 批处理 188
8.5 事务 190
8.5.1 事务的概念 190
8.5.2 事务语句 191
8.6 任务训练—T-SQL语句 193
思考与练习 194
第9章 存储过程、触发器和用户定义函数 195
9.1 存储过程 196
9.1.1 存储过程概述 196
9.1.2 创建存储过程 198
9.1.3 管理用户存储过程 203
9.2 触发器 204
9.2.1 触发器概述 204
9.2.2 创建DML触发器 205
9.2.3 创建DDL触发器 212
9.2.4 管理触发器 214
9.3 用户定义函数 215
9.3.1 用户定义函数概述 216
9.3.2 创建用户定义函数 217
9.3.3 管理用户定义函数 220
9.4 任务训练—T-SQL编程 221
思考与练习 222
第10章 数据库的安全性管理 223
10.1 SQL Server的安全性机制 224
10.2 保护数据库系统的网络安全设计 225
10.2.1 授权远程访问 225
10.2.2 保护外部访问 227
10.3 SQL Server身份验证模式 227
10.3.1 Windows身份验证模式 227
10.3.2 混合身份验证模式 227
10.3.3 设置身份验证模式 227
10.4 SQL Server登录管理 228
10.4.1 为Windows授权用户创建登录名 229
10.4.2 为SQL Server授权用户创建登录名 235
10.4.3 修改和删除登录名 238
10.5 SQL Server数据库用户管理 239
10.5.1 创建数据库用户 239
10.5.2 修改和删除数据库用户 242
10.6 权限管理 242
10.6.1 权限概述 242
10.6.2 数据库对象权限 243
10.6.3 数据库语句权限 248
10.7 角色管理 251
10.7.1 角色概述 251
10.7.2 固定服务器角色 252
10.7.3 数据库角色 255
10.7.4 应用程序角色 259
10.8 架构管理 260
10.8.1 架构概述 260
10.8.2 创建架构 260
10.8.3 修改和删除架构 261
10.8.4 默认架构 262
10.9 任务训练—数据库安全管理 262
思考与练习 263
第11章 数据库的恢复与传输 264
11.1 数据库的备份和还原 265
11.1.1 数据库备份概述 265
11.1.2 使用SSMS进行完整数据库备份 267
11.1.3 使用SSMS进行差异数据库备份 268
11.1.4 使用SSMS还原数据库 269
11.2 数据库的导出与导入 272
11.2.1 数据库表数据导出 272
11.2.2 数据库表数据导入 277
11.3 任务训练—维护数据库 279
思考与练习 280