第1章 SQL Server 2005概述 1
1.1 SQL Server 2005的主要特点 1
1.1.1 SQL Server 2005简介 1
1.1.2 SQL Server 2005的新增特性 2
1.1.3 SQL Server 2005的组件选择 3
1.2 SQL Server 2005的安装 4
1.2.1 SQL Server 2005安装的硬件与软件要求 4
1.2.2 SQL Server 2005的版本选择 5
1.2.3 SQL Server 2005的安装 5
1.3 SQL Server 2005的管理工具 12
1.3.1 SQL Server Management Studio 12
1.3.2 SQL Server Configuration Manager 13
1.3.3 Business Intelligence Development Studio 13
1.3.4 SQL Server外围应用配置器 14
1.3.5 数据库引擎优化顾问 15
1.3.6 SQL Server Reporting Services配置 15
1.3.7 SQL Server事件探查器 15
1.3.8 命令行工具 16
1.4 SQL Server 2005的配置 17
1.4.1 启动SQL Server 2005服务 17
1.4.2 配置服务器 18
思考与练习 23
第2章 创建管理数据库 25
2.1 SQL Server数据库的结构 25
2.1.1 SQL Server数据库结构 25
2.1.2 SQL Server数据文件及文件组 25
2.1.3 SQL Server日志文件 27
2.1.4 SQL Server系统数据库 27
2.2 创建数据库 28
2.2.1 使用SSMS对象资源管理器创建数据库 28
2.2.2 使用T-SQL语句创建数据库 29
2.3 管理数据库 32
2.3.1 查看数据库属性信息 32
2.3.2 更改数据库名称 33
2.3.3 修改数据库容量 34
2.3.4 删除数据库 37
2.4 分离附加数据库 40
2.4.1 分离数据库 41
2.4.2 附加数据库 42
思考与练习 44
第3章 管理数据表 46
3.1 表的概念 46
3.2 SQL Server中的数据类型 46
3.3 创建数据表 49
3.3.1 使用SSMS对象资源管理器创建表 50
3.3.2 使用T-SQL语句创建表结构 51
3.4 管理数据表 54
3.4.1 修改表结构 54
3.4.2 删除数据库中的表 56
3.4.3 更改表名 56
3.4.4 查看表信息 57
思考与练习 59
第4章 数据操纵语句 61
4.1 在SQL Server Management Studio中查看记录 61
4.1.1 打开表 61
4.1.2 快速定位记录 61
4.1.3 返回前几条记录 62
4.2 INSERT语句 63
4.2.1 在SQL Server Management Studio中插入记录 63
4.2.2 用INSERT语句插入记录 65
4.3 UPDATE语句 69
4.3.1 在SQL Server Management Studio中更新记录 70
4.3.2 用UPDATE语句更新记录 70
4.4 DELETE语句 71
4.4.1 在SQL Server Management Studio中删除记录 71
4.4.2 用DELETE语句删除记录 72
4.4.3 用TRUNCATE TABLE语句删除记录 73
4.5 简单查询 74
4.5.1 选择表中的若干列 75
4.5.2 选择表中的若干记录 76
4.5.3 对查询的结果排序 79
4.6 数据统计查询 88
4.6.1 使用聚合函数 88
4.6.2 对结果进行分组 88
4.6.3 用COMPUTE子句来归类 89
思考与练习 97
第5章 高级查询 101
5.1 连接查询 101
5.1.1 基本连接 101
5.1.2 JOIN关键字 103
5.1.3 内连接 104
5.1.4 外连接 105
5.1.5 交叉连接 107
5.1.6 自连接 108
5.2 集合查询 110
5.2.1 联合查询UNION 111
5.2.2 INTERSECT运算符 112
5.2.3 EXCEPT运算符 112
5.3 子查询 114
5.3.1 带有IN运算符的子查询 115
5.3.2 带有EXISTS运算符的子查询 115
5.3.3 带有ALL、ANY、SOME运算符的子查询 116
5.3.4 其他子查询 117
5.3.5 用SELECT INTO子句将查询结果建立新表 118
5.4 交叉表查询 120
5.4.1 CASE实现交叉表查询 121
5.4.2 PIVOT和UNPIVOT实现交叉表查询 122
思考与练习 124
第6章 数据完整性 126
6.1 完整性的概念 126
6.2 约束的类型 127
6.3 约束的创建 128
6.3.1 创建主键约束 128
6.3.2 创建唯一约束 129
6.3.3 创建检查约束 131
6.3.4 创建默认约束 132
6.3.5 创建外键约束 133
6.4 查看约束的定义 138
6.5 删除约束 139
6.6 使用规则 140
6.7 使用默认 142
思考与练习 144
第7章 视图 146
7.1 视图简介 146
7.2 创建视图 148
7.2.1 在SQL Server Management Studio中创建视图 149
7.2.2 使用CREATE VIEW创建视图 151
7.2.3 重命名视图 151
7.3 查看与修改视图 153
7.3.1 查看视图 154
7.3.2 在SQL Server Management Studio中修改视图 154
7.3.3 用ALTER VIEW修改视图 155
7.4 编辑视图中的记录 156
7.4.1 编辑视图中记录的限制 156
7.4.2 在SQL Server Management Studio中操作视图记录 156
7.4.3 用INSERT、UPDATE和DELETE语句操作视图记录 157
7.5 视图定义信息查询 158
7.6 删除视图 158
思考与练习 159
第8章 T-SQL编程基础 161
8.1 T-SQL语言类型及结构 161
8.1.1 T-SQL语言类型 161
8.1.2 T-SQL程序结构 162
8.2 变量和常量 162
8.3 运算符与表达式 164
8.4 控制语句 165
思考与练习 169
第9章 存储过程 171
9.1 存储过程概述 171
9.1.1 存储过程的概念 171
9.1.2 存储过程的类型 172
9.2 创建/管理简单的存储过程 172
9.2.1 使用SSMS管理器创建存储过程 173
9.2.2 T-SQL语句创建存储过程的语法 174
9.2.3 执行存储过程 174
9.2.4 查看存储过程 176
9.2.5 修改存储过程 176
9.2.6 编译存储过程 177
9.2.7 删除存储过程 177
9.3 创建/管理带参的存储过程 179
9.3.1 存储过程的参数类型 179
9.3.2 创建/执行带输入参数的存储过程 180
9.3.3 创建/执行带输出参数的存储过程 182
9.3.4 存储过程的返回值 183
9.4 其他存储过程 187
9.4.1 系统存储过程 187
9.4.2 扩展存储过程 188
思考与练习 189
第10章 函数 191
10.1 常用系统函数 191
10.2 用户自定义函数 193
10.2.1 标量值用户自定义函数 193
10.2.2 内嵌表值用户自定义函数 194
10.2.3 多语句表值用户自定义函数 195
10.2.4 函数调用的语法格式 197
10.2.5 查看用户自定义函数 197
10.2.6 删除用户自定义函数 197
思考与练习 201
第11章 事务 203
11.1 事务概述 203
11.1.1 事务的概念 203
11.1.2 事务的特性 204
11.1.3 事务的运行模式 204
11.2 事务管理与应用 205
思考与练习 210
第12章 触发器 212
12.1 触发器概述 212
12.1.1 触发器的概念 212
12.1.2 触发器的作用 212
12.1.3 触发器的类型 213
12.1.4 触发器应用的两个逻辑表 213
12.2 创建/管理DML触发器 214
12.2.1 创建DML触发器的语句 214
12.2.2 DML触发器的类型 215
12.2.3 修改触发器 215
12.2.4 查看触发器 215
12.2.5 删除触发器 215
12.2.6 禁用和启用触发器 216
12.3 创建DDL触发器 220
12.3.1 DDL触发器类型 221
12.3.2 创建DDL触发器的语句 221
12.3.3 eventdata()函数 222
思考与练习 224
第13章 数据库安全 226
13.1 SQL Server 2005的安全机制 226
13.1.1 身份验证 226
13.1.2 权限验证 229
13.2 SQL Server 2005的登录名和数据库用户的管理 229
13.2.1 登录账号的管理 230
13.2.2 数据库用户账号的管理 233
13.3 角色管理 236
13.3.1 服务器级角色 237
13.3.2 数据库级角色 239
13.4 权限管理 240
13.4.1 权限的种类 240
13.4.2 权限的管理 241
思考与练习 247
第14章 数据库备份与恢复 249
14.1 备份 249
14.1.1 备份概述 249
14.1.2 备份类型 250
14.1.3 恢复模式 251
14.2 备份设备 252
14.2.1 备份设备的类型 252
14.2.2 创建备份设备 253
14.2.3 管理备份设备 255
14.3 创建数据库备份 258
14.3.1 在SQL Server Management Studio中创建备份 258
14.3.2 使用BACKUP命令备份数据库 260
14.4 恢复数据库 263
14.4.1 还原数据库的方式 263
14.4.2 在SQL Server Management Studio中恢复数据库 264
14.4.3 使用RESTORE语句恢复数据 265
思考与练习 268
第15章 数据库规划与设计 269
15.1 关系数据库 269
15.1.1 关系模型 269
15.1.2 关系数据库的数据结构 270
15.1.3 关系操作 271
15.2 数据库设计 271
15.2.1 实体-关系模型 271
15.2.2 E-R图的建立步骤 272
15.2.3 将E-R模型转化为关系模式 273
15.3 关系数据库规范化理论 274
15.3.1 范式理论 274
15.3.2 关系数据库规范化的非形式化判别法 276
15.3.3 关系数据库的非规范化设计 277
15.4 “简易网上书城”数据库设计案例 277
15.4.1 数据库设计的步骤 278
15.4.2 需求分析 278
15.4.3 概念结构设计 279
15.4.4 逻辑结构设计 279
15.4.5 物理结构设计 281
思考与练习 281
附录A “简易网上书城”项目功能需求 283
附录B “简易网上书城”系统需求说明书 286
附录C “简易网上书城”数据库设计说明书 294
参考文献 300