第1章 数据库基础知识 1
1.1 数据库概述 1
1.1.1 数据库基本概念 1
1.1.2 数据库的发展 2
1.2 数据模型 3
1.2.1 数据处理的抽象描述 3
1.2.2 实体-联系模型 4
1.2.3 结构数据模型 7
1.3 关系数据库 9
1.3.1 关系数据库的基本概念 9
1.3.2 关系的特点 10
1.3.3 数据完整性 10
1.3.4 关系操作 10
1.4 关系规范化 12
1.4.1 关系规范化的必要性 12
1.4.2 函数依赖关系 13
1.4.3 关系规范化处理 14
小结 15
练习一 16
第2章 SQLServer2008的安装与配置 18
2.1 SQLServer2008概述 18
2.1.1 SQL Server2008的发展概况 18
2.1.2 SQLServer2008的特性 19
2.1.3 SQLServer2008的版本 19
2.1.4 SQLServer2008的服务器组件 19
2.1.5 SQLServer2008的管理工具 20
2.1.6 SQLServer2008的安装环境 20
2.1.7 SQL Server 2008实例 21
2.2 SQLServer2008安装 21
2.2.1 安装默认实例 22
2.2.2 安装命名实例 27
2.3 SQL Server 2008配置 27
2.3.1 SQL Server网络配置 27
2.3.2 配置远程登录 30
2.3.3 置sa管理员账户 31
2.3.4 使用混合模式登录 32
小结 33
练习二 33
第3章 数据库管理 35
3.1 数据库的组成 35
3.1.1 数据库文件分类 35
3.1.2 数据库文件组 36
3.1.3 系统数据库 36
3.2 使用SSMS方式管理数据库 37
3.2.1 创建数据库 38
3.2.2 修改数据库 40
3.2.3 重命名数据库 41
3.2.4 收缩数据库 41
3.2.5 删除数据库 41
3.3 使用T-SQL语句管理数据库 42
3.3.1 创建数据库 43
3.3.2 修改数据库 46
3.3.3 重命名数据库 48
3.3.4 收缩数据库 48
3.3.5 删除数据库 49
3.4 使用SSMS分离和附加数据库 50
3.4.1 分离数据库 50
3.4.2 附加数据库 50
小结 51
练习三 52
第4章 数据库表设计 54
4.1 数据库表概述 54
4.1.1 表的结构 55
4.1.2 表的类型 55
4.2 数据类型 56
4.3 了解教学数据库及表 56
4.3.1 创建教学数据库 57
4.3.2 教学数据库表定义 57
4.3.3 教学数据库关系图 59
4.4 数据完整性约束概述 60
4.5 使用SSMS方式管理数据库表 61
4.5.1 创建数据库表 61
4.5.2 修改数据库表 64
4.5.3 重命名表名 65
4.5.4 删除数据库表 66
4.6 使用T-SQL语句管理数据库表 66
4.6.1 创建数据库表 66
4.6.2 修改数据库表 70
4.6.3 重命名表名 71
4.6.4 删除数据库表 72
4.7 查看表间依赖关系 72
小结 73
练习四 73
第5章 表数据的维护 76
5.1 数据维护注意事项 76
5.2 使用SSMS方式维护数据 77
5.2.1 插入记录 77
5.2.2 修改数据 79
5.2.3 删除记录 80
5.3 使用T-SQL语句维护数据 80
5.3.1 INSERT语句插入记录 81
5.3.2 UPDATE语句修改数据 83
5.3.3 DELETE语句删除记录 85
小结 86
练习五 86
第6章 数据查询 90
6.1 SELECT查询语句 90
6.1.1 SELECT查询语句 90
6.1.2 SELECT语句的执行过程 91
6.2 SELECT选择输出列子句 92
6.2.1 查询所有列数据 92
6.2.2 查询指定列数据 92
6.2.3 对输出列重命名 93
6.2.4 限制返回行数 93
6.2.5 去除查询结果集的重复行 93
6.2.6 自定义输出列 94
6.2.7 无数据源查询 94
6.2.8 聚合函数查询 94
6.3 FROM提供数据源子句 95
6.3.1 对数据源对象起别名 95
6.3.2 基表数据源对象查询 96
6.3.3 派生表数据源对象查询 96
6.3.4 视图数据源对象查询 96
6.3.5 FROM子句的连接查询 97
6.3.6 自连接查询 100
6.4 INTO创建并插入子句 100
6.5 WHERE指定选择条件子句 100
6.5.1 关系比较查询 101
6.5.2 逻辑运算查询 101
6.5.3 WHERE子句的连接查询 101
6.5.4 范围比较查询 102
6.5.5 IN存在查询 102
6.5.6 模糊匹配查询 103
6.5.7 空值比较查询 105
6.6 ORDER BY查询结果集排序子句 106
6.6.1 单关键字排序查询 106
6.6.2 多关键字排序查询 106
6.6.3 随机排序查询 106
6.6.4 自定义输出列排序查询 106
6.7 GROUP BY分组查询子句 107
6.7.1 单列分组查询 107
6.7.2 多列分组查询 107
6.7.3 HAVING分组选择查询 108
6.8 子查询 108
6.8.1 在查询语句中使用子查询 109
6.8.2 在插入语句中使用子查询 111
6.8.3 在修改语句中使用子查询 111
6.8.4 在删除语句中使用子查询 112
6.9 使用查询设计器设计查询 112
6.9.1 关于查询设计器 112
6.9.2 使用查询设计器设计查询 113
小结 115
练习六 116
第7章 视图与索引 118
7.1 视图概述 118
7.1.1 视图概念 118
7.1.2 视图的作用 119
7.1.3 视图的特点 119
7.1.4 创建视图的准则 119
7.2 使用SSMS创建与维护视图 120
7.2.1 创建视图 120
7.2.2 修改视图 120
7.2.3 重命名视图 120
7.2.4 删除视图 121
7.3 使用T-SQL创建与维护视图 122
7.3.1 创建视图 122
7.3.2 修改视图 123
7.3.3 重命名视图 123
7.3.4 删除视图 123
7.4 视图的使用 124
7.4.1 使用视图查询 124
7.4.2 使用视图维护数据 124
7.5 索引概述 124
7.5.1 索引的优缺点 125
7.5.2 索引的类型 125
7.5.3 是否创建索引 125
7.6 使用SSMS创建与维护索引 126
7.6.1 创建索引 126
7.6.2 修改索引 127
7.6.3 禁用索引 128
7.6.4 重新生成索引 128
7.6.5 重新组织索引 129
7.6.6 删除索引 129
7.7 使用T-SQL创建与维护索引 129
7.7.1 创建索引 129
7.7.2 修改索引 130
7.7.3 删除索引 130
小结 131
练习七 131
第8章 T-SQL编程 134
8.1 T-SQL语言概述 134
8.1.1 T-SQL的发展 134
8.1.2 SQL的功能 135
8.2 批处理、脚本和注释 135
8.2.1 批处理 135
8.2.2 脚本 136
8.2.3 注释 136
8.3 常量与变量 137
8.3.1 常量 137
8.3.2 局部变量 137
8.3.3 全局变量 139
8.4 运算符和表达式 140
8.4.1 赋值运算符和赋值语句 140
8.4.2 算术运算符和算术表达式 140
8.4.3 位运算符和位表达式 140
8.4.4 关系运算符和关系表达式 141
8.4.5 逻辑运算符和逻辑表达式 142
8.4.6 连接运算符和字符串表达式 143
8.4.7 运算符的优先级 143
8.5 程序块 143
8.6 顺序结构 144
8.7 选择结构 145
8.7.1 IF...ELSE选择结构 145
8.7.2 IF...ELSE IF多选择结构 146
8.7.3 CASE多选择结构 147
8.8 循环结构 148
8.9 错误捕捉与处理 150
小结 151
练习八 151
第9章 函数 153
9.1 函数概述 153
9.2 系统函数 154
9.2.1 聚合函数 154
9.2.2 数学函数 155
9.2.3 字符串函数 156
9.2.4 日期时间函数 158
9.2.5 排名函数 159
9.2.6 数据类型转换函数 161
9.3 用户自定义函数 162
9.3.1 创建用户自定义函数 162
9.3.2 修改用户自定义函数 164
9.3.3 用户自定义函数的使用 165
9.3.4 删除用户自定义函数 166
小结 166
练习九 166
第10章 存储过程 169
10.1 存储过程概述 169
10.1.1 存储过程的分类 169
10.1.2 使用存储过程的优点 170
10.2 创建存储过程 170
10.2.1 创建存储过程的语法格式 170
10.2.2 创建简单的存储过程 171
10.2.3 创建带传入参数的存储过程 172
10.2.4 创建带传出参数的存储过程 173
10.2.5 创建返回参数的存储过程 173
10.2.6 创建加密的存储过程 173
10.3 调用存储过程 174
10.4 修改存储过程 176
10.4.1 使用SSMS方式修改存储过程 176
10.4.2 使用T-SQL方式修改存储过程 176
10.5 删除存储过程 177
10.5.1 使用SSMS方式删除存储过程 177
10.5.2 使用T-SQL方式删除存储过程 177
10.6 系统存储过程 178
10.7 存储过程的自动执行 178
小结 179
练习十 179
第11章 游标 182
11.1 游标概述 182
11.2 游标的声明和使用 183
11.2.1 声明游标 183
11.2.2 打开游标 185
11.2.3 提取游标数据 186
11.2.4 关闭游标 187
11.2.5 释放游标 187
11.3 游标的应用 188
11.3.1 使用游标查询记录 188
11.3.2 使用游标插入记录 188
11.3.3 使用游标删除记录 189
11.3.4 使用游标修改记录 190
11.3.5 在函数中使用游标 190
11.3.6 在存储过程中使用游标 191
小结 192
练习十一 192
第12章 触发器 194
12.1 触发器概述 194
12.1.1 触发器的作用 194
12.1.2 触发器的分类 195
12.1.3 触发器专用的临时表 195
12.2 DML触发器 196
12.2.1 创建DML触发器 196
12.2.2 修改DML触发器 199
12.3 DDL触发器 200
12.3.1 创建DDL触发器 200
12.3.2 修改DDL触发器 203
12.4 重命名触发器 203
12.5 删除触发器 203
12.5.1 使用SSMS方式删除触发器 203
12.5.2 使用T-SQL语句方式删除触发器 204
12.6 禁用与启用触发器 204
12.6.1 禁用触发器 204
12.6.2 启用触发器 205
小结 206
练习十二 206
第13章 备份与恢复 208
13.1 备份与恢复概述 208
13.1.1 备份的类型 208
13.1.2 恢复模式 209
13.1.3 备份策略 210
13.1.4 备份设备 211
13.2 创建与删除备份设备 212
13.2.1 创建备份设备 212
13.2.2 删除备份设备 213
13.3 数据库的完整备份与恢复 213
13.3.1 数据库的完整备份 213
13.3.2 数据恢复前的准备工作 215
13.3.3 使用完整备份恢复数据库 216
13.4 数据库的差异备份与恢复 218
13.4.1 数据库的差异备份 218
13.4.2 使用差异备份恢复数据库 218
13.5 数据库的日志备份与恢复 219
13.5.1 数据库的日志备份 219
13.5.2 使用日志备份恢复数据库 220
13.6 数据的导入与导出 221
13.6.1 从Excel导入数据 221
13.6.2 将数据导出到Excel 223
小结 225
练习十三 225
第14章 自动执行 228
14.1 自动执行概述 228
14.2 配置数据库邮件 229
14.2.1 配置数据库邮件 229
14.2.2 配置SQL Server代理 232
14.3 创建与维护操作员 233
14.3.1 创建操作员 233
14.3.2 维护操作员 234
14.4 创建与维护警报 235
14.4.1 创建事件警报 235
14.4.2 维护警报 236
14.5 创建与维护作业 237
14.5.1 创建作业 237
14.5.2 测试作业 240
14.5.3 维护作业 240
14.6 维护计划 241
14.6.1 新建维护计划 241
14.6.2 维护计划向导 245
小结 247
练习十四 247
第15章 安全管理 248
15.1 安全管理概述 248
15.2 服务器的安全管理 249
15.2.1 身份验证模式 249
15.2.2 登录账号 250
15.2.3 服务器角色 253
15.3 数据库的安全管理 255
15.3.1 架构 255
15.3.2 数据库角色 257
15.3.3 数据库用户 258
15.4 数据对象的安全管理 260
15.4.1 权限的种类 260
15.4.2 权限的管理 261
小结 265
练习十五 266
第16章 与JSP集成开发Web应用项目 268
16.1 项目需求概述 268
16.1.1 开发技术概述 268
16.1.2 项目需求概述 270
16.1.3 项目流程控制概述 270
16.2 数据库连接类设计 270
16.2.1 数据库JDBC驱动包 270
16.2.2 数据库连接类设计 271
16.3 DTO类设计 272
16.3.1 班级DTO类 272
16.3.2 学生基本信息DTO类 272
16.4 DAO类设计 272
16.4.1 接口设计 272
16.4.2 DAO接口实现类 272
16.5 入口模块设计 273
16.5.1 入口页面设计 273
16.5.2 Servlet类设计 273
16.5.3 DAO类的方法设计 273
16.6 控制中心模块设计 274
16.6.1 页面设计 274
16.6.2 页面代码 275
16.7 增加记录模块设计 275
16.7.1 页面设计 275
16.7.2 数据校验脚本设计 275
16.7.3 Servlet类设计 276
16.7.4 DAO类方法设计 276
16.7.5 错误处理页面设计 278
16.8 删除记录模块设计 278
16.8.1 页面设计 278
16.8.2 Servlet类设计 278
16.8.3 DAO类方法设计 279
16.9 修改记录模块设计 279
16.9.1 页面设计 279
16.9.2 Servlet类设计 279
16.9.3 DAO类方法设计 280
16.10 查询记录模块设计 281
小结 281
参考文献 282