第1章 数据库系统概述 1
1.1 数据库系统的基本概念 1
1.1.1 信息的定义与特征 1
1.1.2 数据的定义与特征 2
1.1.3 数据类型 3
1.1.4 数据库及其特点 3
1.1.5 数据库管理系统 5
1.1.6 数据库系统 5
1.2 数据库技术的发展历程 10
1.2.1 人工管理阶段 10
1.2.2 文件系统阶段 11
1.2.3 数据库系统阶段 12
1.3 数据库应用系统的生存期模型 14
1.3.1 数据库应用系统的生存期 14
1.3.2 瀑布模型 14
1.4 数据库技术的发展趋势 15
习题 20
第2章 数据库需求分析 22
2.1 概述 22
2.1.1 数据库需求分析的定义 22
2.1.2 数据库需求分析的内容 23
2.1.3 数据库需求分析的原则 23
2.1.4 数据库需求分析的步骤 25
2.1.5 数据库系统需求分析的方法和工具 26
2.2 数据库需求调查 28
2.2.1 数据库需求调查的内容 28
2.2.2 数据库需求调查的原则 29
2.2.3 数据库需求调查的方法 29
2.3 数据字典 30
2.3.1 数据字典的基本概念 30
2.3.2 数据项 31
2.3.3 数据结构 32
2.3.4 外部实体 33
2.3.5 数据流 33
2.3.6 数据存储 34
2.3.7 处理逻辑 35
2.3.8 数据字典编制的结构化方法 36
2.4 信息分类与编码 37
2.4.1 信息分类 38
2.4.2 信息编码 39
2.5 数据定义分析 42
2.6 数据操纵分析 42
2.6.1 数据更新分析 42
2.6.2 数据查询分析 43
2.6.3 数据统计和排序分析 43
2.7 数据完整性分析 43
2.7.1 数据项取值范围 44
2.7.2 关键字 44
2.7.3 数据关联 44
2.8 数据安全性分析 45
2.8.1 数据安全的概念 45
2.8.2 数据访问权限 45
2.8.3 数据加密 48
2.9 并发处理分析 49
2.10 数据库性能分析 49
2.11 E-R图 50
2.11.1 E-R图的基本概念 51
2.11.2 E-R图的设计原则 53
2.11.3 E-R图的设计方法 54
2.11.4 E-R图的设计步骤 54
习题 57
第3章 数据库设计 59
3.1 概述 59
3.1.1 数据库设计的定义 59
3.1.2 数据库设计的任务 60
3.1.3 数据库设计的原则 60
3.1.4 数据库设计的方法 61
3.1.5 数据库设计的步骤 61
3.2 关系数据库的基本概念 62
3.2.1 数据模型概述 62
3.2.2 关系模型 63
3.3 关系操作 67
3.3.1 关系操作概述 67
3.3.2 关系代数 67
3.3.3 存储过程 73
3.4 完整性设计 74
3.4.1 完整性约束 74
3.4.2 完整性设计中应注意的问题 75
3.4.3 完整性设计的原则 76
3.4.4 触发器 77
3.5 安全性设计 78
3.5.1 数据库安全控制措施 78
3.5.2 访问权限设计 80
3.5.3 加密算法设计 81
3.6 索引设计 82
3.6.1 索引的概念 82
3.6.2 索引的作用 83
3.6.3 索引的设计原则 83
3.7 事务与并发控制 84
3.7.1 事务 84
3.7.2 并发控制 85
3.8 E-R图转换 90
3.8.1 实体集向关系模式的转换 90
3.8.2 联系集向关系模式的转换 90
3.8.3 应用实例 93
3.9 层次数据库与网状数据库 94
3.9.1 层次数据库 94
3.9.2 网状数据库 96
习题 98
第4章 数据库标准语言SQL 100
4.1 SQL概述 100
4.1.1 SQL简介 100
4.1.2 SQL的主要功能 100
4.1.3 SQL的主要特点 101
4.1.4 SQL语法 102
4.2 数据定义 103
4.2.1 数据库 104
4.2.2 基本表 105
4.2.3 索引 110
4.3 数据查询 110
4.3.1 概述 111
4.3.2 简单查询 112
4.3.3 连接查询 116
4.3.4 使用SQL函数查询 120
4.3.5 分组查询 121
4.3.6 嵌套查询 122
4.3.7 集合查询 126
4.4 数据更新 127
4.4.1 插入数据 127
4.4.2 修改数据 128
4.4.3 删除数据 129
4.5 视图 130
4.5.1 定义视图 130
4.5.2 删除视图 131
4.5.3 查询视图 131
4.5.4 更新视图 132
4.6 数据控制 133
4.6.1 授权 133
4.6.2 收权 134
4.6.3 拒绝访问 134
4.7 嵌入式SQL 134
4.7.1 嵌入式SQL概述 135
4.7.2 不用游标的SQL 136
4.7.3 使用游标的SQL 139
4.8 存储过程的创建与维护 140
4.9 触发器的创建与维护 142
4.9.1 定义触发器 142
4.9.2 修改触发器 144
4.9.3 删除触发器 144
习题 145
第5章 数据库实现 147
5.1 概述 147
5.2 主流DBMS 148
5.2.1 Microsoft SQL Server 148
5.2.2 MySQL 149
5.2.3 SQLite 149
5.2.4 Oracle 150
5.2.5 Sybase 150
5.2.6 DB2 151
5.2.7 Informix 151
5.2.8 Access 151
5.3 Microsoft SQL Server 2012 152
5.3.1 Microsoft SQL Server 2012的安装与使用 152
5.3.2 SQL Server Management Studio 156
习题 158
第6章 数据库测试 159
6.1 概述 159
6.1.1 数据库测试的定义 159
6.1.2 数据库测试的原则 160
6.1.3 数据库测试的方法与工具 160
6.1.4 数据库测试的步骤 161
6.1.5 数据库测试输出结果的展现 162
6.2 测试用例设计 162
6.2.1 白盒测试的测试用例设计 163
6.2.2 黑盒测试的测试用例设计 166
6.3 数据库模式测试 169
6.3.1 基本表数据结构测试 170
6.3.2 数据库完整性测试 170
6.3.3 视图测试 170
6.4 数据库功能测试 170
6.4.1 数据定义功能测试 170
6.4.2 数据操纵功能测试 171
6.4.3 数据库安全性测试 172
6.4.4 并发处理测试 172
6.5 数据库性能测试 173
6.5.1 数据库性能测试的概念 173
6.5.2 影响数据库性能的因素 173
6.6 数据库调试 174
6.6.1 数据库调试的原则 174
6.6.2 数据库调试的步骤 175
6.6.3 数据库调试的方法 176
习题 176
第7章 数据库维护 178
7.1 概述 178
7.1.1 数据库维护的定义 178
7.1.2 数据库维护的任务 178
7.1.3 数据库维护的原则 179
7.1.4 数据库维护的方法 179
7.1.5 数据库维护的步骤 179
7.2 运行日志 180
7.2.1 日志文件的格式和内容 180
7.2.2 日志文件的作用 180
7.2.3 日志文件的使用 180
7.2.4 日志文件的维护 181
7.3 数据库故障及其排除 181
7.3.1 故障的种类 181
7.3.2 故障的排除方法 182
7.4 数据库备份与恢复 182
7.4.1 数据库备份的原则和方式 182
7.4.2 数据库恢复策略 183
7.4.3 具有检查点的数据库恢复技术 185
7.4.4 数据库的镜像功能 186
习题 186
第8章 数据库应用系统开发 188
8.1 概述 188
8.1.1 数据库应用系统的基本结构 188
8.1.2 数据库应用系统开发的要求 189
8.1.3 主流的数据库应用系统开发工具 190
8.2 数据库接口技术 196
8.2.1 ODBC 196
8.2.2 ADO 196
8.2.3 JDBC 197
8.3 Java数据库应用系统开发 198
8.3.1 概述 198
8.3.2 需求分析 198
8.3.3 模块层次结构 198
8.3.4 数据库设计 199
8.3.5 系统实现 200
8.3.6 主要界面 204
8.4 C++数据库应用开发 206
8.4.1 概述 206
8.4.2 需求分析 206
8.4.3 模块层次结构 206
8.4.4 数据库设计 206
8.4.5 系统实现 208
8.4.6 主要界面 214
8.5 Android数据库应用系统开发 216
8.5.1 概述 216
8.5.2 需求分析 216
8.5.3 模块层次结构 216
8.5.4 数据库设计 217
8.5.5 系统实现 217
8.5.6 主要界面 221
习题 221
第9章 关系数据库理论 223
9.1 关系模式的规范化理论概述 223
9.1.1 关系模式规范化的必要性 223
9.1.2 关系模式规范化的概念 225
9.2 函数依赖及范式 225
9.2.1 属性间的联系 225
9.2.2 函数依赖 226
9.2.3 第一范式 227
9.2.4 第二范式 227
9.2.5 第三范式 228
9.2.6 Boyee Codd范式 228
9.3 多值依赖及范式 229
9.3.1 多值依赖的定义和性质 229
9.3.2 第四范式 230
9.4 连接依赖及范式 230
9.4.1 连接依赖的定义 230
9.4.2 第五范式 231
9.4.3 小结 231
9.5 模式分解 232
9.5.1 模式分解的概念 232
9.5.2 模式分解的算法 235
9.6 查询优化 237
9.6.1 查询优化的必要性 238
9.6.2 查询优化的一般准则 239
9.6.3 关系代数等价变换规则 240
9.6.4 关系代数表达式的优化算法 241
9.6.5 优化的一般步骤 242
习题 246
第10章 实验方案 248
10.1 实验目的与实验要求 248
10.2 实验条件 248
10.3 实验内容 248
10.3.1 实验1 数据库需求分析 248
10.3.2 实验2 关系数据库设计 250
10.3.3 实验3 数据定义 250
10.3.4 实验4 数据更新 252
10.3.5 实验5 简单查询和连接查询 252
10.3.6 实验6 嵌套查询 253
10.3.7 实验7 集合查询、分组查询、函数查询 254
10.3.8 实验8 存储过程 254
10.3.9 实验9 触发器 255
第11章 课程设计指导 256
11.1 概述 256
11.1.1 课程设计的目标 256
11.1.2 课程设计的要求 256
11.1.3 课程设计的步骤 257
11.1.4 开发运行环境与开发工具 257
11.1.5 系统架构 258
11.2 成绩管理系统 258
11.2.1 背景简介 258
11.2.2 系统目标 258
11.2.3 功能要求 259
11.3 图书管理系统 260
11.3.1 背景简介 260
11.3.2 系统目标 260
11.3.3 功能要求 260
11.4 采购管理系统 261
11.4.1 背景简介 261
11.4.2 系统目标 261
11.4.3 功能要求 261
11.5 库存管理系统 262
11.5.1 背景简介 262
11.5.2 系统目标 262
11.5.3 功能要求 262
11.6 银行储蓄卡管理系统 263
11.6.1 背景简介 263
11.6.2 系统目标 263
11.6.3 功能要求 263
11.7 通信录管理系统 264
11.7.1 背景简介 264
11.7.2 系统目标 264
11.7.3 功能要求 264
11.8 移动电子商务系统 265
11.8.1 背景简介 265
11.8.2 系统目标 265
11.8.3 功能要求 265
11.9 移动考勤管理系统 267
11.9.1 背景简介 267
11.9.2 系统目标 267
11.9.3 功能要求 267
11.10 移动社交平台 268
11.10.1 背景简介 268
11.10.2 系统目标 268
11.10.3 功能要求 268
参考文献 270