第1章 数据库基本概念 1
1.1 为什么使用数据库 1
1.1.1 使用数据库的必要性 1
1.1.2 数据库能够做什么 1
1.2 常用的数据库 2
1.2.1 关系数据库基本概念 2
1.2.2 SQLServer 2008简介 3
1.3 数据库基本概念 4
1.3.1 实体和记录 4
1.3.2 数据库 4
1.3.3 数据库系统 4
1.4 安装SQLServer 2008 5
1.4.1 SQLServer 2008的安装 5
1.4.2 启动SSMS图形界面管理工具 11
1.5 总结 13
1.6 作业 13
第2章 使用SSMS创建和管理数据库 15
2.1 新建数据库登录名 15
2.1.1 初识SSMS界面和系统数据库 15
2.1.2 新建数据库登录名 16
2.2 使用图形化向导创建和管理数据库 20
2.2.1 数据库文件相关概念 20
2.2.2 使用SSMS图形化向导创建数据库 21
2.2.3 新建数据库用户并关联登录名 23
2.2.4 修改和删除数据库 26
2.2.5 分离和附加数据库 26
2.2.6 备份和还原数据库 29
2.3 使用T-SQL语言创建和管理数据库 32
2.3.1 T-SQL简介 32
2.3.2 使用T-SQL语句创建数据库 33
2.3.3 使用T-SQL语句修改数据库 36
2.3.4 使用T-SQL语句删除数据库 37
2.4 使用SQL Server帮助文档 38
2.5 总结 39
2.6 作业 40
第3章 数据库设计 41
3.1 为什么需要规范的设计数据库 41
3.1.1 什么是数据库设计 41
3.1.2 数据库设计的意义 42
3.2 数据库设计的步骤 42
3.2.1 需求分析 42
3.2.2 数据规范化 46
3.2.3 绘制E-R图 50
3.2.4 将E-R图转化为数据库模型图 52
3.3 总结 56
3.4 作业 57
第4章 创建和管理数据表 58
4.1 数据类型和数据完整性 58
4.1.1 SQLServer常用数据类型 58
4.1.2 数据完整性 60
4.2 使用SSMS创建数据库表 61
4.2.1 使用图形化向导创建数据表 61
4.2.2 为depositor表创建主键 63
4.2.3 为depositor表添加默认值 64
4.2.4 为depositor表建立检查约束 65
4.2.5 标识列 66
4.2.6 建立表间关系 67
4.2.7 建立数据库关系图 69
4.3 使用T-SQL创建和管理数据库表 72
4.3.1 使用T-SQL创建数据表 72
4.3.2 使用T-SQL修改数据表 74
4.3.3 使用T-SQL删除约束及数据表 76
4.4 总结 76
4.5 作业 77
第5章 操作数据 79
5.1 向数据表中插入数据 79
5.1.1 使用SSMS添加数据 79
5.1.2 使用INSERT语句插入数据 81
5.1.3 使用UNION一次插入多行数据 83
5.1.4 使用INSERT INTO SELECT语句插入数据 84
5.1.5 使用SELECT INTO FROM语句插入数据 85
5.1.6 将Excel文件导入数据表 85
5.2 更新数据 90
5.2.1 使用SSMS更新数据 90
5.2.2 使用UPDATE语句更新数据 90
5.3 删除数据 92
5.3.1 使用SSMS删除数据 92
5.3.2 使用DELETE语句删除数据 92
5.3.3 使用TRUNCATE语句删除数据 93
5.4 总结 93
5.5 作业 93
第6章 数据查询基础 95
6.1 SQL Server运算符和表达式 95
6.2 基本查询 97
6.2.1 使用SELECT语句进行基本查询 97
6.2.2 查询排序 102
6.3 模糊查询 103
6.3.1 通配符 103
6.3.2 使用LIKE进行模糊查询 104
6.3.3 使用BETWEEN AND在某范围内模糊查询 105
6.3.4 使用IN在某范围内模糊查询 106
6.4 使用内部函数 107
6.4.1 聚合函数 107
6.4.2 字符串函数 109
6.4.3 日期函数 111
6.4.4 数学函数 112
6.4.5 数据类型转换函数 113
6.4.6 系统函数 114
6.4.7 排名函数 114
6.5 总结 118
6.6 作业 118
第7章 高级查询 120
7.1 分组查询 120
7.1.1 基本分组查询 121
7.1.2 按多列分组查询 122
7.1.3 使用HAVING对分组进行筛选 124
7.2 多表联接查询 127
7.2.1 内联接查询 127
7.2.2 外联接查询 131
7.3 嵌套查询 135
7.3.1 简单子查询 136
7.3.2 ANY或ALL、SOME子查询 139
7.3.3 IN和NOT IN子查询 140
7.3.4 EXISTS和NOT EXISTS子查询 143
7.3.5 使用嵌套查询实现分页 145
7.4 总结 146
7.5 作业 146
第8章 SQL编程基础 148
8.1 变量 148
8.1.1 局部变量 148
8.1.2 全局变量 151
8.2 SQL输出语句 152
8.3 逻辑控制语句 154
8.3.1 BEGIN-END语句 154
8.3.2 IF-ELSE语句 154
8.3.3 WHILE循环语句 158
8.3.4 CASE-(WHEN-THEN)-END分支语句 160
8.4 自定义函数 166
8.4.1 自定义标量函数 167
8.4.2 自定义表值函数 169
8.5 总结 173
8.6 作业 174
第9章 索引、视图和事务 175
9.1 索引 175
9.1.1 索引的分类 175
9.1.2 创建和管理索引 178
9.1.3 使用索引 180
9.2 视图 181
9.2.1 创建和管理视图 181
9.2.2 使用视图 184
9.3 事务 185
9.3.1 事务及其属性 187
9.3.2 事务状态和分类 188
9.3.3 执行事务 188
9.4 总结 191
9.5 作业 192
第10章 触发器、游标和存储过程 193
10.1 触发器 193
10.1.1 触发器的分类 194
10.1.2 创建和管理触发器 194
10.2 游标 201
10.2.1 游标的概念 201
10.2.2 使用游标 202
10.3 存储过程 207
10.3.1 系统存储过程 208
10.3.2 用户自定义存储过程 210
10.3.3 存储过程的嵌套调用和使用存储过程的结果集 213
10.3.4 在存储过程中使用事务并处理错误信息 215
10.4 总结 220
10.5 作业 221