第1篇 数据库基础 2
第1小时 什么是数据库 2
1.1 什么是数据 3
1.2 什么是数据库 4
1.3 现代数据库的常规特征 5
1.4 什么是数据库管理系统 6
1.5 为什么数据库得以广泛使用 6
1.6 总结 7
1.7 讨论 7
1.7.1 测验 7
1.7.2 练习 7
1.7.3 测验答案 8
第2小时 数据库环境的历史和发展 9
2.1.1 什么是数据库环境 10
2.1 现代数据库环境探讨 10
2.1.2 主机环境简介 11
2.2 客户机/服务器环境 11
2.3 多层环境 14
2.4 Web环境 15
2.5 总结 17
2.6 问与答 17
2.7 讨论 18
2.7.1 测验 18
2.7.2 练习 18
2.7.3 测验答案 18
第3小时 现代数据库 20
3.1 使用Internet 21
3.1.1 网上购书 21
3.1.2 从Internet上下载信息 24
3.2.1 获得一张处方单 26
3.2 日常事务处理 26
3.2.2 使用银行自动柜员机 29
3.3 非技术性数据库 30
3.4 总结 30
3.5 讨论 31
3.5.1 测验 31
3.5.2 练习 31
3.5.3 测验答案与解析 32
3.5.4 练习答案 32
第4小时 现代数据库的相关用户 33
4.1 技术人员——从构思到实现和管理 34
4.1.1 业务分析员 34
4.1.2 数据分析员 35
4.1.3 数据设计员 36
4.1.5 系统分析员 37
4.1.4 数据库管理员 37
4.1.6 程序设计分析员 38
4.1.7 应用数据库管理员 39
4.1.8 操作 40
4.2 内部数据库用户 40
4.3 总结 41
4.4 讨论 41
4.4.1 测验 41
4.4.2 练习 42
4.4.3 测验答案 42
4.4.4 练习答案 43
第2篇 数据库体系结构和存储 46
第5小时 现代数据库的体系结构与环境 46
5.1.1 平面文件数据库的基本知识 47
5.1 “传统”数据库体系结构 47
5.1.2 分级数据库 49
5.1.3 网络数据库 50
5.2 现代数据库体系结构 51
5.2.1 关系数据库体系结构概述 51
5.2.2 面向对象数据库体系结构 55
5.2.3 对象-关系数据库的体系结构 57
5.3 多媒体数据库 58
5.4 分布式数据库 59
5.5 总结 60
5.6 问与答 60
5.7 讨论 60
5.7.1 测验 60
5.7.2 练习 60
5.7.4 练习答案 61
5.7.3 测验答案 61
第6小时 关系数据库体系结构 62
6.1 为什么需要关系数据库 63
6.1.1 关系数据库之前数据库的问题 63
6.1.2 关系数据库是怎样提出解决方案的 63
6.2 关系数据库是如何解决当今数据存储需求的 63
6.3 关系数据库的基本元素 64
6.3.1 表格 64
6.3.2 关键字 67
6.3.3 索引 67
6.4 数据之间的关系 68
6.4.1 实体、属性和关系 69
6.4.2 实体之间如何进行关联 69
6.5.1 结构化查询语言 70
6.5 如何与关系数据进行交流 70
6.5.2 使用SQL生成应用程序 71
6.6 总结 72
6.7 问与答 72
6.8 讨论 72
6.8.1 测验 72
6.8.2 练习 73
6.8.3 测验答案 74
6.8.4 练习答案 74
第7小时 用表格和关键字存储基本数据 75
7.1 表格的类型 76
7.2 定义表格 76
7.3 使用关键字定义关系 77
7.3.1 主关键字 77
7.3.3 使用外部关键字表示一对多的关系 78
7.3.2 “人工”关键字的值 78
7.3.4 多对多关系的表示 79
7.3.5 关联表格、子实体和复合关键字 80
7.3.6 复合关键字的问题 81
7.4 规范化表格 81
7.4.1 数据库规范化的意义 81
7.4.2 非规范化 83
7.5 管理表格 84
7.6 总结 84
7.7 问与答 84
7.8 讨论 84
7.8.1 测验 84
7.8.2 练习 85
7.8.3 测验答案 86
7.8.4 练习答案 86
第8小时 用索引优化数据存储 87
8.2 索引的分类 88
8.1 为什么要使用索引 88
8.3 索引的类型 89
8.3.1 二叉树索引 90
8.3.2 位图索引 91
8.3.3 反转关键字索引 92
8.4 优化存储的其他对象 92
8.4.1 索引组织表格 92
8.4.2 成群表格 93
8.4.3 表格分区 94
8.5 如何使用索引 95
8.6 基于代价的优化程序和提示 96
8.7 总结 97
8.8 问与答 97
8.9.2 练习 98
8.9 讨论 98
8.9.1 测验 98
8.9.3 测验答案 99
第9小时 在数据库和模式中正确地组织数据 100
9.1 数据库和模式术语 101
9.2 数据库级别的数据库组织 101
9.3 模式级别的数据库组织 102
9.3.1 表格 102
9.3.2 视图 102
9.3.3 索引 103
9.3.4 函数 103
9.3.5 过程 103
9.3.6 软件包 103
9.3.7 触发器 103
9.3.10 其他对象 104
9.3.8 同义词 104
9.3.9 约束 104
9.3.11 单模式应用程序 105
9.3.12 多模式应用程序 105
9.3.13 共享数据应用程序 105
9.4 分布式数据库 106
9.5 所讨论的概念在数据库中的应用 106
9.6 总结 108
9.7 问与答 108
9.8 讨论 108
9.8.1 测验 108
9.8.2 练习 109
9.8.3 测验答案 109
第10小时 面向对象数据库 110
10.1.1 什么是对象 111
10.1 面向对象数据库概述 111
10.1.2 什么是面向对象数据库 114
10.2 为什么需要面向对象数据库 114
10.2.1 面向对象数据库之前的数据库存在的问题 114
10.2.2 面向对象数据库提供的解决方法 116
10.3 面向对象数据库的基本原理 116
10.3.1 面向对象数据库的基本元素 116
10.3.2 理解数据间的关系 119
10.4 现实中的面向对象数据库 119
10.5 总结 120
10.6 问与答 120
10.7 讨论 120
10.7.1 测验 120
10.7.3 测验答案 121
10.7.2 练习 121
第11小时 数据库设计基础 124
第3篇 设计、实现及管理 124
11.1 数据库设计的定义 125
11.2 规划数据库设计 125
11.2.1 企业需求的收集 126
11.2.2 系统需求的收集 126
11.3 实体与关系建模 127
11.3.1 逻辑建模 127
11.3.2 物理建模 127
11.3.3 实体建模 127
11.3.4 ERD示例 128
11.4 设计表格 129
11.4.2 连接表 130
11.4.1 数据表 130
11.4.3 子集表 131
11.4.4 检验表 132
11.4.5 数据规范化 133
11.5 设计后的任务 133
11.6 数据库设计方法 133
11.7 总结 135
11.8 讨论 135
11.8.1 测验 135
11.8.2 练习 135
11.8.3 测验答案 135
第12小时 基本的数据库管理 136
12.1.2 DBA任务 137
12.2 创建数据库环境 137
12.1.1 关于DBA 137
12.1 数据库管理的概念 137
12.2.1 安装数据库软件 138
12.2.2 数据库的创建与配置 138
12.2.3 对数据库可用性的控制 139
12.3 数据库安全性的管理 139
12.3.1 管理用户账号 140
12.3.2 口令验证 140
12.3.3 数据库级别的安全性集成 141
12.3.4 应用程序级别的安全性集成 141
12.3.5 系统级别的安全性集成 141
12.3.6 网络级别的安全性集成 142
12.4 监控数据库 143
12.4.1 审查用户 143
12.5 备份和恢复的管理 144
12.4.2 监控资源利用 144
12.5.1 执行冷备份 145
12.5.2 执行热备份 145
12.5.3 执行逻辑备份 145
12.5.4 数据库恢复 146
12.5.5 灾难恢复的计划 146
12.6 空间利用与系统资源的管理 147
12.6.1 管理基本的数据存储(预测、定量和分配) 148
12.6.2 管理数据的增加(预测、调整大小和清除) 148
12.7 调整数据库至最优的性能 148
12.7.1 数据库级别的性能调整 149
12.7.2 应用程序级别的性能调整 150
12.7.3 系统级别的性能调整 150
12.7.4 网络级别的性能调整 150
12.8 总结 150
12.9.3 测验答案 151
12.9.2 练习 151
12.9 讨论 151
12.9.1 测验 151
第13小时 数据库生命周期的管理 153
13.1 软件生命周期 154
13.1.1 软件和数据库生命周期 154
13.1.2 需求管理 155
13.1.3 配置管理 156
13.1.4 版本管理 156
13.1.5 更改控制 157
13.1.6 质保证 158
13.2 贯穿数据库生命的更改管理 159
13.2.1 开发管理 160
13.2.2 测试管理 160
13.2.3 把更改应用到产品中 160
13.4 更改对数据库组件的影响 161
13.3 重新设计数据库 161
13.4.1 执行环境 162
13.4.2 SQL引擎 162
13.4.3 应用程序界面 162
13.5 总结 163
13.6 讨论 163
13.6.1 测验 163
13.6.2 练习 163
13.6.3 测验答案 164
13.6.4 练习答案 164
第4篇 访问数据库 166
第14小时 基本的数据库连接方法 166
14.1 数据库连接方法概述 167
14.1.1 远程数据库连接 167
14.1.3 直接数据库连接 169
14.1.2 Web数据库连接 169
14.2 数据库连接软件概述 170
14.2.1 厂商提供的连接软件 170
14.2.2 其他具有数据库连接性能的软件 170
14.2.3 ODBC 171
14.2.4 建立ODBC连接 172
14.2.5 JDBC 177
14.3 总结 177
14.4 讨论 178
14.4.1 测验 178
14.4.2 练习 178
14.4.3 测验答案 178
第15小时 标准数据库查询语言:SQL 179
15.1.2 ANSI SQL和厂商实现间的不同 180
15.1.1 ANSI SQL 180
15.1 SQL概述 180
15.2 基本的SQL组件 181
15.2.1 使用DDL定义数据库结构 181
15.2.2 使用DML处理数据 182
15.2.3 使用DQL检索数据 183
15.2.4 使用DCL控制数据存取 183
15.2.5 事务处理的控制 183
15.3 将SQL应用于数据库和应用程序中 184
15.4 探讨一个公开源代码的解决方案:MySQL 184
15.4.1 使用MySQL学习 185
15.4.2 在现实中使用MySQL 185
15.4.3 为微软Windows下载并安装MySQL 186
15.4.4 为Linux下载并安装MySQL 186
15.6.1 测验 187
15.6 讨论 187
15.5 总结 187
15.6.2 练习 188
15.6.3 测验答案 188
第16小时 创建数据库和数据库对象 189
16.1 创建数据库 190
16.1.1 创建数据库环境 190
16.1.2 创建组成数据库的对象 190
16.2 数据的定义 191
16.2.1 数据类型 191
16.2.2 创建和管理表格 195
16.2.3 创建和管理索引 197
16.3 创建MySQL数据库 197
16.4 使用MySQL创建数据库和对象 200
16.6 讨论 201
16.5 总结 201
16.6.1 测验 202
16.6.2 练习 202
16.6.3 测验答案 203
第17小时 通过与数据库交互来管理和查询数据 204
17.1 数据处理概述 205
17.1.1 使用INSERT命令插入数据 205
17.1.2 使用UPDATE命令更新数据 206
17.1.3 使用DELETE命令删除数据 207
17.2 数据查询概述 208
17.2.1 使用SELECT命令实现基本的数据查询 208
17.2.2 根据条件查询数据 209
17.2.3 从多个表格中选择数据 210
17.2.4 使用函数修改所查询的数据 211
17.3 总结 212
17.4.2 练习 213
17.4 讨论 213
17.4.1 测验 213
17.4.3 测验答案 214
第18小时 有效的报告和数据使用 215
18.1 什么是数据库报告 216
18.1.1 在这一小时所使用的表和插入语句 216
18.1.2 有效地使用数据 219
18.1.3 报告需求 220
18.1.4 和请求者的交流 221
18.1.5 报告方法 223
18.1.6 验证报告完整性 224
18.1.7 格式化报告 227
18.3 问与答 228
18.4 讨论 228
18.2 总结 228
18.1.8 发布报告 228
18.4.1 测验 229
18.4.2 练习 229
18.4.3 测验答案 229
18.4.4 练习答案 229
第5篇 数据库的实际应用 232
第19小时 使用数据库处理和管理数据 232
19.1 数据处理概述 233
19.1.1 批处理 234
19.1.2 交互处理 234
19.2 OLTP数据库 235
19.2.1 OLAP 236
19.2.2 OLTP 236
19.3 OLTP数据库的相关问题 237
19.4.1 主机数据库 238
19.4 OLTP数据库的变化 238
19.4.2 客户机/服务器数据库 239
19.4.3 基于Web的数据库 239
19.5 总结 240
19.6 讨论 241
19.6.1 测验 241
19.6.2 练习 241
19.6.3 测验答案 241
19.6.4 练习答案 242
第20小时 使用数据库进行营业分析 243
20.1 数据分析概述 244
20.1.1 如何存储数据 244
20.1.2 如何查询数据 246
20.1.3 创建基于表单应用程序的工具 246
序的工具 247
20.1.4 创建基于Web的应用程 247
20.1.5 创建报告的工具 248
20.2 如何使用数据 249
20.2.1 最优方法 250
20.2.2 数据挖掘 250
20.2.3 决策支持系统,aka商业智能 251
20.2.4 OLAP(在线分析处理) 251
20.2.5 数据仓库 251
20.3 使用数据进行营业分析的例子 251
20.4 总结 252
20.5 讨论 252
20.5.1 测验 252
20.5.2 练习 252
20.5.3 测验答案 253
第21小时 建立使用数据库的应用程序 254
21.2 数据库实现的应用程序概述 255
21.1 传统的数据存储方法 255
21.2.1 固定式查询 256
21.2.2 多层系统 257
21.2.3 Web应用程序 257
21.3 创建数据库应用程序 257
21.3.1 数据库应用程序的生命周期:阶段1——需求 258
21.3.2 数据库应用程序的生命周期:阶段2——说明 258
21.3.3 数据库应用程序的生命周期:阶段3——设计 258
21.3.4 数据库应用程序的生命周期:阶段4——实现 259
21.3.5 数据库应用程序的生命周期:阶段5——集成 259
21.3.6 数据库应用程序的生命周期:阶段6——维护 259
21.4 从应用程序连接到数据库 260
21.4.1 JDBC连接要求 260
21.4.2 使用JDBC 261
21.7 讨论 263
21.7.1 测验 263
21.5 总结 263
21.6 问与答 263
21.7.2 练习 264
21.7.3 测验答案 264
第22小时 流行的数据库软件和第三方工具 265
22.1 商业数据库服务器 266
22.1.1 Oracle 9i 266
22.1.2 Sybase ASE 267
22.1.3 Informix Dynamix Server 269
22.1.4 DB2 UDB 269
22.1.5 SQL Server 2000 270
22.2 开放源代码数据库服务器 271
22.2.3 SAP DB 272
22.2.1 MySQL 272
22.2.2 PostgreSQL 272
22.3 桌面数据库 273
22.3.1 Microsoft Access 2002(XP) 273
22.3.2 FileMaker Pro 6 274
22.4 第三方数据库管理软件 274
22.4.1 Quest Central 274
22.4.2 DBArtisan 275
22.5 第三方数据挖掘软件 276
22.5.1 Cognos PowerPlay 276
22.5.2 Clementine 276
22.6 数据库开发软件 277
22.6.1 TOAD 277
22.6.2 Rapid SQL 278
22.8.2 练习 279
22.8.3 测验答案 279
22.8 讨论 279
22.8.1 测验 279
22.7 总结 279
第6篇 数据库的前景 282
第23小时 新兴数据库发展趋势展望 282
23.1 现代数据库技术 283
23.1.1 面向对象数据库的概念 283
23.1.2 Java与数据库的集成 285
23.1.3 嵌入式、手持式和可移动式数据库 286
23.2 数据存储和移动 289
23.2.1 大规模数据存储 289
23.2.2 数据移动 291
23.2.3 数据库技术和企业 293
23.4.3 测验答案 295
23.4.2 练习 295
23.3 总结 295
23.4 讨论 295
23.4.1 测验 295
第24小时 接下来做什么 297
24.1 选择一个数据库厂商 298
24.2 选择职业道路 298
24.3 数据库技术领域的职业 298
24.4 培训 298
24.4.1 教师引导的课程 299
24.4.2 在线课程 299
24.4.3 计算机辅助训练 299
24.4.4 自学课程 299
24.4.5 强化训练课程 300
24.4.6 证书 300
24.4.8 动手上机练习 302
24.4.7 测试软件 302
24.5 跟上技术发展的潮流 303
24.5.1 出版物 303
24.5.2 每月一本书 303
24.5.3 学习新技术 303
24.6 制定职业方案 304
24.7 总结 304
24.8 讨论 305
24.8.1 测验 305
24.8.2 练习 305
24.8.3 测验答案 305
附录A SQL命令速查 306
附录B 词汇 312