数据库实用技术—SQL Server 2008

2013年中国铁道出版社出版的图书
《数据库实用技术—SQL Server 2008》是2013年1月中国铁道出版社出版的图书，作者是徐志立 。
内容简介
本书是采用“工作过程导向”模式规范编写的教材，全书共14章。《数据库实用技术——SQL Server 2008》的内容组织以关系数据库理论知识为基础，注重操作技能的培养和实际问题的解决，旨在使学生掌握Microsoft SQL Server 2008的使用和管理。全书以创建“物流配送系统”数据库为工作任务，具体内容包括数据库的概念和类型、数据库范式、设计数据库、创建数据库、创建表、更新和查询记录、T-SQL、视图和索引、用户自定义函数、存储过程、触发器、数据库安全配置、备份与恢复数据库、导入和导出数据库中的数据、事务的创建和并发等。最后一章介绍了综合项目实训——物流配送系统的设计，从而完成了一个完整的数据库系统设计。本书贴切实际，结构合理，内容丰富，操作方便。 本书适合作为高等职业教育计算机及相关专业的教材，也可作为等级考试、职业资格考试或认证考试等各种培训班的培训教材，还可用于读者自学。
目录
第1章 SQL Server数据库概述 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
第2章 SQL Server 2008系统环境 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 Server 2008的身份
验证模式 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
第12章 事物与并发 182
12.1 事务概述 183
12.2 事务的语法 183
12.3 事务的特点 188
12.4 并发控制 189
12.5 锁 192
12.5.1 可锁的资源 194
12.5.2 锁定模式 194
12.5.3 锁的兼容性 195
12.6 设置隔离级别 195
12.7 处理死锁 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 实训组织方式
（见表14-3） 225
14.3.3 阶段提交成果 225
14.3.4 提交成果参考实例 225
14.4 数据库开发阶段 230
14.4.1 阶段目标 230
14.4.2 实训组织方式
（见表14-6） 230
14.4.3 实训提交成果 231
14.4.4 提交成果参考实例 231
14.5 实训考核体系 233
14.5.1 考核原则 233
14.5.2 各阶段考核安排
（见表14-7） 233
14.6 实训准备 233
14.7 参考资料和提交成果配备 233