第1篇 原理篇——数据库原理 3
第1章 数据库系统概述 3
知识结构图 3
学习目标 3
1.1 引言 4
1.1.1 计算机是人类计算工具发展的产物 4
1.1.2 数据库是计算机技术发展的产物 5
1.1.3 SQLServer的优越性 5
1.2 数据库技术的发展 6
1.2.1 信息与数据 6
1.2.2 数据处理 6
1.2.3 人工管理阶段 6
1.2.4 文件系统阶段 7
1.2.5 数据库系统阶段 8
1.2.6 高级数据库阶段 8
1.3 数据模型 9
1.3.1 数据模型的分类 9
1.3.2 概念模型 10
1.3.3 层次模型 11
1.3.4 网状模型 12
1.3.5 关系模型 13
1.4 数据库系统 14
1.4.1 数据库系统的定义 14
1.4.2 数据库系统的组成 14
1.4.3 数据库系统的特点 15
1.4.4 数据库系统的模式 16
1.4.5 DBMS管理功能 17
1.4.6 数据库系统的不同视图 19
小结 21
课后题 21
第2章 关系数据库数学模型 23
知识结构图 23
学习目标 23
2.1 关系数据模型 24
2.1.1 关系数据模型概述 24
2.1.2 关系数据结构及形式化定义 24
2.1.3 关系的完整性 26
2.2 EER模型到关系模式的转换 26
2.2.1 实体类型的转换 26
2.2.2 一对多二元关系的转换 26
2.2.3 多对多二元关系的转换 28
2.2.4 实体内部之间联系的转换 28
2.2.5 三元关系的转换 29
2.3 关系代数 29
2.3.1 关系代数概述 29
2.3.2 传统的集合运算 30
2.3.3 专门的关系运算 30
2.4 关系演算 33
2.4.1 元组关系演算 33
2.4.2 域关系演算 34
小结 35
课后题 35
第3章 关系数据库设计理论 37
知识结构图 37
学习目标 37
3.1 数据库设计中存在的问题 37
3.2 函数依赖 38
3.3 范式 40
3.4 范式之间的关系 45
小结 45
课后题 46
第2篇 应用篇——数据库应用技术SQLServer2012 51
第4章 使用SQLServer设计数据库 51
知识结构图 51
学习目标 51
4.1 SQLServer2012的安装 52
4.2 创建数据库 56
4.2.1 建立注册 56
4.2.2 创建登录用户 57
4.2.3 SQLServer中的数据库 64
4.2.4 数据库文件和事务日志文件 64
4.2.5 一个创建数据库的例子 65
4.2.6 管理和维护数据库 67
4.3 创建数据表 73
4.3.1 创建表 74
4.3.2 在SQLServer2012中实现完整性约束 76
4.3.3 导入与导出数据 98
小结 103
课后题 104
第5章 使用SQL语言管理和设计数据库 107
知识结构图 107
学习目标 107
5.1 SQLServer数据管理 108
5.1.1 T-SQL与SQL 108
5.1.2 插入数据 109
5.1.3 更新数据行 111
5.1.4 删除数据行 112
5.1.5 MERGE语法 112
小结1 113
5.2 基本数据查询 113
5.2.1 基本查询 113
5.2.2 基本函数 115
5.2.3 基本数据查询的综合应用 117
小结2 118
5.3 复杂数据查询 118
5.3.1 模糊查询 118
5.3.2 聚合函数 119
5.3.3 分组汇总 120
5.3.4 GROUPINGSETS 120
5.3.5 多表连接查询 123
5.3.6 复杂数据查询的综合应用 124
小结3 126
5.4 使用SQL语句设计和管理数据库 127
5.4.1 使用SQL语句创建数据库 127
5.4.2 使用SQL语句删除数据库 129
5.4.3 使用SQL语句创建表 129
5.4.4 使用SQL语句删除表 131
5.4.5 为表添加约束 131
5.4.6 删除约束 133
5.4.7 安全管理 133
小结4 135
课后题 135
第6章 T-SQL程序设计 138
知识结构图 138
学习目标 138
6.1 变量 139
6.1.1 全局变量 139
6.1.2 局部变量 140
6.2 逻辑控制语句 141
6.2.1 IF…ELSE语句 142
6.2.2 CASE…END语句 145
6.3 循环语句 146
6.4 批处理语句 147
小结 148
课后题 149
第7章 高级查询 150
知识结构图 150
学习目标 150
7.1 什么是高级查询 150
7.2 IN子查询 152
7.3 EXISTS子查询 153
7.4 T-SQL语句的综合应用 154
小结 156
课后题 156
第8章 事务和并发控制 158
知识结构图 158
学习目标 158
8.1 事务 159
8.1.1 为什么使用事务 159
8.1.2 什么是事务 160
8.1.3 使用事务 161
8.2 并发控制 162
8.2.1 为什么要并发控制 162
8.2.2 封锁协议 163
8.2.3 基本的锁类型 163
8.2.4 锁的相容性 164
8.2.5 锁的应用 164
小结 167
课后题 167
第9章 索引 169
知识结构图 169
学习目标 169
9.1 索引简介 170
9.2 索引的类型 170
9.2.1 聚集索引 170
9.2.2 非聚集索引 171
9.2.3 聚集索引与非聚集索引 171
9.3 创建索引 172
9.3.1 使用索引设计器创建索引 172
9.3.2 使用SQL语句创建索引 176
9.4 如何使用索引 177
9.4.1 使用索引 177
9.4.2 创建和使用索引的原则 177
小结 178
课后题 178
第10章 视图 179
知识结构图 179
学习目标 179
10.1 视图简介 179
10.1.1 为什么创建视图 180
10.1.2 视图的分类 180
10.2 创建视图 181
10.2.1 使用视图设计器创建视图 181
10.2.2 使用SQL语句创建视图 183
10.3 维护视图 185
10.3.1 修改视图 185
10.3.2 删除视图 187
10.4 视图的使用 189
小结 192
课后题 192
第11章 存储过程 193
知识结构图 193
学习目标 193
11.1 存储过程概述 193
11.2 系统存储过程 194
11.3 用户自定义存储过程 195
11.3.1 创建不带参数的存储过程 196
11.3.2 创建带参数的存储过程 196
小结 198
课后题 198
第12章 触发器 200
知识结构图 200
学习目标 200
12.1 触发器概述 200
12.2 创建触发器 202
12.2.1 INSERT触发器 202
12.2.2 DELETE触发器 203
12.2.3 UPDATE触发器 204
小结 205
课后题 206
第13章 复杂数据库的设计与实现 207
知识结构图 207
学习目标 207
13.1 复杂数据库的设计方法 207
13.2 模拟设计ATM系统数据库 208
小结 217
第3篇 开发篇——数据库系统软件开发 221
第14章 数据访问技术 221
知识结构图 221
学习目标 221
14.1 数据访问技术简介 222
14.2 基于C#的人事管理系统的开发 222
14.2.1 需求分析 222
14.2.2 数据库设计 224
14.2.3 系统功能设计 229
14.2.4 系统功能的实现 244
14.3 基于Java的公交网站的开发 250
14.3.1 需求分析 251
14.3.2 数据库设计 252
14.3.3 系统功能设计 253
14.3.4 系统功能的实现 258
14.3.5 系统的测试 264
14.4 基于PHP的物流管理系统的开发 265
14.4.1 需求分析 265
14.4.2 数据库设计 266
14.4.3 系统功能的设计与实现 268
14.4.4 系统的测试 281
小结 283
参考文献 284