第1章 SQLServer数据库概述 1
1.1 数据库技术介绍 1
1.1.1 数据库的类型 1
1.1.2 数据库对象 2
1.1.3 数据库管理系统的基本功能 3
1.2 数据库应用背景 3
1.3 课程学习内容与标准 4
1.4 典型应用案例——物流配送系统 5
1.4.1 物流配送系统业务 6
1.4.2 模块流程描述 7
小结 10
第2章 SQLServer2008系统环境 11
2.1 SQL Server 2008数据库概况 11
2.1.1 SQL Server的发展历史 11
2.1.2 SQL Server 2008的版本 13
2.2 SQL Server 2008的安装 14
2.2.1 环境需求 14
2.2.2 SQL Server 2008的安装过程 15
2.3 SQL Server 2008常用工具 22
2.4 SQL Server 2008系统数据库 24
小结 26
实训 26
第3章 数据库设计 27
3.1 数据库范式 27
3.1.1 第一范式(1NF) 28
3.1.2 第二范式(2NF) 28
3.1.3 第三范式(3NF) 28
3.1.4 BCNF 29
3.1.5 反规范化 29
3.2 E-R图及其基本要素 29
3.3 数据库存储结构 30
3.3.1 数据库的逻辑结构 30
3.3.2 数据库的物理结构 31
3.3.3 数据库的数据独立性 31
3.4 数据库创建 32
3.4.1 使用SQL Server Management Studio创建用户数据库 32
3.4.2 使用CREATE DATABASE语句创建用户数据库 34
3.5 数据库修改 35
3.5.1 更改数据库的所有者 35
3.5.2 添加和删除数据文件和日志文件 36
3.5.3 重命名数据库 37
3.6 数据库删除 38
3.6.1 使用SQL Server Management Studio删除数据库 38
3.6.2 使用DROP DATABASE语句删除数据库 38
3.7 数据库分离和附加 38
3.7.1 数据库的分离 39
3.7.2 数据库的附加 40
拓展部分 41
小结 42
实训 43
第4章 数据表设计 45
4.1 数据表的概念 45
4.2 数据字段和数据类型 46
4.3 数据字段约束 50
4.3.1 数据完整性 50
4.3.2 数据字段约束 50
4.4 表的创建 55
4.5 表的修改 57
4.6 表的删除 59
4.7 主外键关联 59
4.8 级联操作 60
拓展部分 61
小结 62
实训 63
第5章 SQL基础 64
5.1 界面操作 64
5.2 简单查询 65
5.2.1 查询所有数据 66
5.2.2 查询指定字段数据 66
5.2.3 查询不重复的数据 66
5.2.4 对查询结果排序 67
5.2.5 按照分组进行查询 67
5.3 条件查询 68
5.3.1 比较条件查询 68
5.3.2 范围条件查询 68
5.3.3 多值条件查询 68
5.3.4 模糊查询 69
5.3.5 HAVING条件查询 69
5.4 连接查询 70
5.4.1 内连接(INNER JOIN) 70
5.4.2 外连接(OUTER JOIN) 71
5.4.3 交叉连接(CROSS JOIN) 71
5.5 子查询 71
5.5.1 比较运算符的子查询 72
5.5.2 使用IN或NOT IN的子查询 73
5.5.3 使用ANY、SOME和ALL的子查询 74
5.5.4 使用EXISTS或NOT EXISTS的子查询 75
5.5.5 使用HAVING的子查询 76
5.5.6 使用UPDATE、DELETE和INSERT的子查询 77
5.6 数据插入、删除和修改 78
5.6.1 向表中插入数据 78
5.6.2 修改表中数据 79
5.6.3 删除表中数据 79
小结 79
实训 80
第6章 SQL Server 2008系统环境 81
6.1 T-SQL基础 81
6.1.1 T-SQL简介 81
6.1.2 语法 82
6.1.3 常量和变量 83
6.1.4 运算符与表达式 84
6.1.5 注释 87
6.2 流程控制语句 88
6.2.1 BEGIN...END语句 88
6.2.2 IF...ELSE语句 88
6.2.3 CASE...END语句 89
6.2.4 WHILE...CONTINUE...BREAK语句 90
6.2.5 WAITFOR语句 92
6.3 游标操作 92
6.3.1 游标概述 92
6.3.2 游标基本操作 93
小结 97
实训 97
第7章 索引与视图 98
7.1 索引的概念 98
7.2 索引的创建 100
7.3 索引的删除 103
7.4 视图的概念 103
7.5 视图的创建 104
7.6 查询视图 106
7.7 更新视图 106
7.8 修改视图的定义 107
7.9 删除视图 108
小结 108
实训 108
第8章 函数 110
8.1 函数概述 110
8.2 系统内置函数 110
8.2.1 聚合函数 111
8.2.2 日期和时间函数 111
8.2.3 数学函数 112
8.2.4 字符串函数 112
8.3 用户自定义函数 114
8.3.1 标量函数 114
8.3.2 表值函数 116
8.4 管理用户自定义函数 118
8.4.1 删除用户自定义函数 118
8.4.2 修改用户自定义函数 119
小结 119
实训 120
第9章 存储过程 125
9.1 存储过程概述 125
9.2 存储过程的设计 127
9.2.1 创建存储过程基本语法 128
9.2.2 创建不带参数的存储过程 128
9.3 执行存储过程 133
9.4 创建带参数的存储过程 135
9.5 执行带参数的存储过程 137
9.6 带参数的存储过程的模糊匹配 138
9.7 修改和删除存储过程 140
9.8 存储过程输出参数 141
9.9 存储过程异常处理 145
9.9.1 使用@@Error 146
9.9.2 在存储过程中使用TRY/CATCH 148
9.9.3 在异常出现之前屏蔽异常 150
小结 151
实训 151
第10章 触发器 154
10.1 触发器概述 154
10.2 触发器的分类 155
10.3 DML触发器 156
10.4 DDL触发器 159
10.5 修改触发器 160
10.6 删除触发器 161
10.7 禁用或重新启用数据库触发器 161
小结 162
实训 162
第11章 数据库安全配置 165
11.1 SQL Server2008的身份验证模式 165
11.2 建立和管理用户账户 166
11.2.1 界面方式管理用户账户 166
11.2.2 命令方式管理用户账户 168
11.3 服务器角色与数据库角色 170
11.3.1 固定服务器角色 170
11.3.2 固定数据库角色 172
11.3.3 用户自定义数据库角色 174
11.4 服务器权限的管理 176
11.4.1 授予权限 176
11.4.2 拒绝权限 179
11.4.3 撤销权限 180
小结 181
实训 181
第12章 事务与并发 182
12.1 事务概述 183
12.2 事务的语法 183
12.3 事务的特点 188
12.4 并发控制 188
12.5 锁 192
12.5.1 可锁的资源 194
12.5.2 锁定模式 194
12.5.3 锁的兼容性 195
12.6 设置隔离级别 195
12.7 处理死锁 197
小结 198
实训 198
第13章 备份与恢复 200
13.1 SQL Server 2008数据库备份机制 200
13.1.1 备份类型 200
13.1.2 创建备份设备 201
13.1.3 备份数据 202
13.1.4 备份压缩 210
13.2 SQL Server 2008数据库恢复机制 211
13.2.1 恢复模式 211
13.2.2 恢复数据 213
13.3 分离数据库 216
13.4 附加数据库 218
小结 219
实训 220
第14章 综合项目实训——物流配送系统设计 221
14.1 实训总体方案 221
14.2 需求分析阶段 221
14.2.1 阶段目标 221
14.2.2 实训组织方式 221
14.2.3 实战项目 221
14.2.4 阶段提交物 222
14.2.5 提交物参考实例 222
14.3 数据库设计阶段 225
14.3.1 阶段目标 225
14.3.2 实训组织方式 225
14.3.3 阶段提交成果 225
14.3.4 提交成果参考实例 225
14.4 数据库开发阶段 230
14.4.1 阶段目标 230
14.4.2 实训组织方式 230
14.4.3 实训提交成果 231
14.4.4 提交成果参考实例 231
14.5 实训考核体系 233
14.5.1 考核原则 233
14.5.2 各阶段考核安排 233
14.6 实训准备 233
14.7 参考资料和提交成果配备 233