第一部分 理论基础 1
第1章 数据库基础 1
1.1 认识数据库 1
1.1.1 数据库存在的必要性 1
1.1.2 数据库的发展史 2
1.2 数据库的基本概念 3
1.2.1 数据和信息 3
1.2.2 数据库 3
1.2.3 关系数据库 3
1.2.4 实体、记录和表 3
1.2.5 数据冗余和数据完整性 4
1.3 SQL Server 2008简介 4
1.3.1 SQL Server 2008系统 4
1.3.2 SQL Server 2008的新增功能 4
1.3.3 SQL Server 2008的体系结构 5
1.4 安装SQL Server 2008 6
1.4.1 SQL Server 2008的版本 6
1.4.2 SQL Server 2008的安装 7
1.5 SQL Server 2008后台服务 9
1.5.1 服务器上的后台服务 9
1.5.2 客户端管理工具 10
1.6 SQL Server 2008的工作模式 14
1.6.1 数据库服务器的工作模式 14
1.6.2 连接与断开数据库服务器 14
1.6.3 SQL Server Management Studio介绍 17
1.6.4 创建数据库登录账户 19
课后练习 20
第2章 SQL Server数据库管理 22
2.1 数据库的建立 22
2.1.1 文件和文件组 22
2.1.2 系统数据库 23
2.1.3 创建数据库 23
2.2 数据库的管理与维护 28
2.2.1 数据库的选项和设置 28
2.2.2 数据库的修改和删除 28
2.2.3 数据库的分离和附加 29
2.3 帮助文档的使用 31
2.3.1 如何使用帮助文档 31
2.3.2 示例数据库 32
课后练习 33
第3章 SQL Server表和数据类型 35
3.1 数据库表的相关概念 35
3.1.1 什么是数据表 35
3.1.2 数据完整性 35
3.1.3 主键和外键 37
3.2 建立数据库表 38
3.2.1 认识列 38
3.2.2 数据类型 38
3.2.3 创建表 41
3.3 约束 44
3.3.1 约束的应用 44
3.3.2 约束的维护 47
3.3.3 建立数据库关系图 48
3.3.4 SQL Server中的特殊表类型 49
3.4 修改表结构和删除表 50
3.4.1 修改表结构 50
3.4.2 删除表 50
课后练习 51
第4章 SQL Server数据管理 53
4.1 SQL与T-SQL 53
4.1.1 SQL简介 53
4.1.2 T-SQL简介 54
4.1.3 T-SQL的语法约定 54
4.2 插入数据 54
4.2.1 使用INSERT语句插入数据 54
4.2.2 标识列字段数据的插入 56
4.2.3 一次插入多行数据 58
4.2.4 使用SELECT INTO语句拷贝表 59
4.3 更新数据 59
4.4 删除数据 60
4.4.1 使用DELETE语句 60
4.4.2 使用TRUNCATE TABLE语句 61
课后练习 62
第5章 简单查询和函数 64
5.1 查询基础 64
5.1.1 查询和记录集 64
5.1.2 使用SELECT语句进行查询 65
5.2 T-SQL常用函数 67
5.2.1 字符串函数 68
5.2.2 日期函数 70
5.2.3 数学函数 71
5.2.4 系统函数 71
课后练习 72
第6章 检索数据 74
6.1 在WHERE子句中使用运算符 74
6.1.1 使用比较运算符和逻辑运算符 74
6.1.2 使用IS NULL条件 75
6.1.3 使用函数 75
6.2 设置结果集格式 76
6.2.1 使用ORDER BY排序数据 76
6.2.2 使用TOP关键字 77
6.2.3 使用Distinct消除重复行 77
6.2.4 计算值的使用 78
6.3 模糊查询 78
6.3.1 使用LIKE关键字进行模糊查询 78
6.3.2 BETWEEN关键字范围查询 79
6.3.3 使用IN关键字 80
课后练习 81
第7章 高级查询 82
7.1 聚合函数 82
7.2 分组查询 84
7.2.1 使用分组GROUP BY 84
7.2.2 使用HAVING 86
7.3 多表联接查询 86
7.3.1 基本的联接操作 86
7.3.2 内部联接 88
7.3.3 外部联接 91
7.3.4 自联接 93
课后练习 94
第8章 子查询 96
8.1 子查询概述 96
8.2 子查询的分类与使用 97
8.2.1 返回单个值的子查询 97
8.2.2 返回值列表的子查询 98
8.2.3 EXISTS存在性测试子查询 100
8.3 集合操作 102
8.3.1 并集(UNION) 102
8.3.2 交集(INTERSECT) 103
8.3.3 差(EXCEPT) 104
课后练习 104
第9章 数据库设计 106
9.1 数据库设计的必要性 106
9.2 数据库设计步骤 107
9.2.1 数据库设计方法——E-R模型 108
9.2.2 E-R模型图示 108
9.2.3 将E-R图转换为表 109
9.3 数据规范化 111
9.3.1 非规范化数据库 112
9.3.2 使用三范式规范数据 112
课后练习 116
第10章 T-SQL编程 118
10.1 使用变量 118
10.1.1 局部变量 118
10.1.2 全局变量 120
10.2 输出语句 120
10.3 转换函数CAST和CONVERT 122
10.4 逻辑控制语句 123
10.4.1 顺序结构BEGIN...END 123
10.4.2 分支结构IF...ELSE 123
10.4.3 多分支CASE...END 125
10.4.4 循环结构WHILE 127
10.5 批处理命令 128
课后练习 129
第11章 事务 131
11.1 事务的概念和特性 131
11.2 事务的分类 132
11.3 控制事务处理 132
11.4 事务的并发性 134
11.5 事务的隔离级别 135
11.6 数据库死锁 139
课后练习 140
第12章 视图和索引 142
12.1 视图 142
12.1.1 为什么需要视图 142
12.1.2 什么是视图 143
12.1.3 视图的创建 143
12.1.4 视图的限制 145
12.2 索引 145
12.2.1 什么是索引 146
12.2.2 索引分类 146
12.2.3 创建索引 146
12.2.4 删除索引 147
12.2.5 查看索引 148
课后练习 148
第13章 存储过程 150
13.1 存储过程概述 150
13.1.1 为什么需要存储过程 150
13.1.2 什么是存储过程 150
13.2 系统存储过程 151
13.3 用户自定义存储过程 152
13.4 调用存储过程 156
13.5 处理存储过程中的错误 156
课后练习 158
第14章 触发器 160
14.1 触发器的定义 160
14.2 触发器的类型 160
14.3 DML触发器的优点 161
14.4 DML触发器的类型 161
14.5 创建触发器 162
14.6 触发器执行原理 162
14.7 管理触发器 166
课后练习 167
第15章 应用程序访问SQL Server 169
15.1 Java语言概述 169
15.2 Java访问数据库 169
15.2.1 JDBC的原理 169
15.2.2 JDBC访问数据库的方式 170
15.2.3 Java访问数据库的步骤 170
15.2.4 JDBC访问SQL Server 171
课后练习 176
第16章 数据库维护 177
16.1 数据库备份 177
16.1.1 备份前的计划 177
16.1.2 执行备份操作 178
16.2 数据库还原 184
16.2.1 数据库还原方式 184
16.2.2 执行数据库还原 185
课后练习 187
第二部分 上机实验 188
实验一 启动和登录数据库 188
实验二 创建和维护数据库 192
实验三 SQL Server表管理 196
实验四 SQL Server数据管理 201
实验五 简单查询和函数 205
实验六 检索数据 209
实验七 高级查询 212
实验八 子查询 217
实验九 数据库设计 221
实验十 T-SQL编程 223
实验十一 事务 226
实验十二 视图和索引 228
实验十三 存储过程 232
实验十四 触发器 235
实验十五 应用程序访问SQL Server 237
实验十六 数据库维护 241
参考文献 247