第一部分 理论 3
第1章 数据库设计 3
1.1 数据库规范化设计的必要性 5
1.2 数据库设计的步骤 5
1.2.1 收集信息 6
1.2.2 标识实体 6
1.2.3 标识实体的属性 7
1.2.4 标识实体之间的关系 7
1.3 E-R图 7
1.3.1 E-R模型 8
1.3.2 绘制E-R图 8
1.3.3 将E-R图转换为数据库的表 9
1.4 数据规范化 10
1.4.1 规范化的必要性 10
1.4.2 数据库设计中的三大范式 10
1.4.3 应用三大范式来规范化数据库的设计 13
第2章 使用T-SQL编程 19
2.1 T-SQL中的变量 21
2.1.1 变量概述 21
2.1.2 定义局部变量并赋值 22
2.1.3 GO语句 24
2.1.4 输出语句 25
2.2 T-SQL中运算符 26
2.2.1 T-SQL运算符概述 26
2.2.2 逻辑运算符 27
2.3 T-SQL中的流程控制 30
2.3.1 BEGIN END语句 30
2.3.2 IF ELSE条件语句 32
2.3.3 WHILE循环语句 33
2.3.4 CASE多分支语句 34
2.3.5 其他语句 36
第3章 深入SQL高级子查询 41
3.1 简单子查询 43
3.1.1 子查询概述 43
3.1.2 如何编写子查询 45
3.1.3 在UPDATE、DELETE、INSERT语句中使用子查询 47
3.2 高级子查询 51
3.2.1 使用IN、NOT IN的子查询 51
3.2.2 使用EXISTS、NOT EXISTS的子查询 53
3.2.3 使用ALL的子查询 55
3.2.4 使用ANY/SOME的子查询 56
3.2.5 使用别名的相关子查询 57
3.3 子查询的综合应用 59
第4章 事务、索引、视图和同义词 67
4.1 事务 69
4.1.1 为什么需要事务 69
4.1.2 什么是事务 70
4.1.3 如何在T-SQL编程中使用事务 71
4.2 索引 73
4.2.1 什么是索引 73
4.2.2 如何创建索引 74
4.3 视图 76
4.3.1 什么是视图 76
4.3.2 如何创建视图 78
4.4 同义词 80
4.4.1 什么是同义词 80
4.4.2 如何创建和使用同义词 81
第5章 函数和存储过程 87
5.1 函数 89
5.1.1 函数概述 89
5.1.2 标量值函数 89
5.1.3 表值函数 93
5.2 存储过程 97
5.2.1 存储过程的优点 97
5.2.2 常用的系统存储过程 97
5.2.3 用户自定义的存储过程 100
第6章 触发器和游标 111
6.1 触发器 113
6.1.1 触发器的概念和作用 113
6.1.2 DDL触发器 114
6.1.3 DML触发器 116
6.2 游标 122
6.2.1 游标概述 122
6.2.2 游标的类型 123
6.2.3 在T-SQL中创建和使用游标 124
6.2.4 游标变量 128
第二部分 上机 135
上机1 数据库设计 135
阶段1 使用Visio绘制E-R图 136
阶段2 使用三大范式规范化数据库设计 139
阶段3 实现数据库的逻辑结构 141
上机作业 144
上机2 使用T-SQL编程 147
阶段1 变量的定义和使用 148
阶段2 使用IF ELSE和WHILE流程控制语句 150
阶段3 使用CASE-END语句 154
上机作业 158
上机3 深入SQL高级子查询 159
阶段1 使用基本子查询、IN子查询 160
阶段2 使用相关子查询、ANY子查询 165
上机作业 171
上机4 事务、索引、视图和同义词 173
阶段1 使用事务保证数据的完整性 174
阶段2 创建非聚集索引 177
阶段3 创建和使用视图、创建和使用同义词 180
上机作业 185
上机5 函数和存储过程 187
阶段1 创建和使用标量值函数、创建和使用多语句表值函数 188
阶段2 编写带参数的存储过程、使用系统存储过程 191
上机作业 197
上机6 触发器和游标 199
阶段1 创建和使用登录触发器 200
阶段2 创建和使用DML触发器 203
阶段3 使用游标实现数据库备份功能 205
上机作业 208
第三部分 在线学习 211
在线学习1 SQL Server 2008安全机制 211
综合练习 SQL Server权限管理训练 212
在线学习2 备份与还原数据库 215
综合练习 简单恢复模式下备份数据和事务日志 216