1.1 开发漫谈 1
1.2 简介 1
第1章 简介 1
1.3 数据库和应用开发 2
1.4 数据库管理系统的组成 3
1.4.1 数据库引擎 3
1.4.2 数据字典 4
1.4.3 查询处理器 5
1.4.4 报表编写器 6
1.4.5 表单生成器 6
1.4.7 通信与集成 8
1.4.6 应用生成器 8
1.4.8 安全性与其他工具 9
1.5 使用数据库管理系统的优势 9
1.5.1 集中精力于数据 10
1.5.2 数据独立性 10
1.5.3 数据独立性与客户/服务器系统 11
1.6 重要的商用数据库 11
1.7 数据库管理系统简史 12
1.7.1 层次数据库 12
1.7.2 网状数据库 12
1.7.3 关系数据库 13
1.7.4 面向对象数据库 14
1.8 应用开发 17
1.9 Sally的宠物商店 18
1.10 Rolling Thunder自行车 18
1.11 可行性研究 19
1.11.1 成本 19
1.11.2 效益 20
小结 20
关键词 21
复习题 21
练习 22
参考网站 23
补充读物 24
第一部分 系统设计 26
第2章 数据库设计 26
2.1 开发漫谈 26
2.2 简介 26
2.3 开始设计之前 28
2.4 设计数据库 28
2.4.1 确定用户需求 28
2.4.2 业务对象 29
2.4.3 表和关系 29
2.4.5 主码 30
2.4.4 定义 30
2.5 类图 31
2.5.1 类和实体 31
2.5.2 关联和关系 32
2.5.3 类图细节 32
2.6 Sally的宠物商店类图 38
2.7 数据类型(域) 40
2.7.1 文本 40
2.7.2 数值 41
2.7.3 日期和时间 42
2.7.6 自定义类型(域/对象) 43
2.7.5 计算值 43
2.7.4 二进制对象 43
2.8 事件 44
2.9 大型项目 45
2.10 Rolling Thunder自行车 46
2.11 应用设计 51
小结 51
关键词 52
复习题 52
练习 53
附录:数据库设计系统 57
补充读物 57
参考网站 57
第3章 数据规范化 65
3.1 开发漫谈 65
3.2 简介 65
3.3 表、类和码 66
3.3.1 复合码 66
3.3.2 代理码 67
3.3.3 标记 67
3.4 音像店的示例数据库 70
3.4.1 初始对象 71
3.4.2 初始表单评估 72
3.4.3 重复部分的问题 73
3.5 第一范式 75
3.5.1 重复组 75
3.5.2 嵌套重复组 76
3.6 第二范式 76
3.6.1 第一范式的问题 77
3.6.2 第二范式的定义 78
3.6.3 依赖 79
3.7 第三范式 80
3.7.1 第二范式的问题 80
3.7.2 第三范式的定义 81
3.7.3 检查你的工作 83
3.8 超越第三范式 84
3.8.1 Boyce-Codd范式 84
3.8.2 第四范式 85
3.8.3 域-码范式 85
3.9 数据规则和完整性 87
3.10 业务规则的影响 88
3.11 将类图转化为规范化的表 90
3.11.1 一对多关系 91
3.11.2 多对多关系 92
3.11.3 多重关联 93
3.11.4 概括或子类型 94
3.11.5 组合 94
3.11.6 自反关联 95
3.11.7 小结 95
3.11.8 Sally的宠物商店示例 96
3.12 视图集成 98
3.12.1 Sally的宠物商店示例 99
3.12.2 Rolling Thunder示例中的集成问题 100
3.13 数据字典 105
3.13.1 DBMS表定义 106
3.13.2 数据量与使用率 109
小结 111
关键词 112
复习题 112
练习 112
参考网站 119
补充读物 119
附录:规范化的形式化定义 120
4.1 开发漫谈 126
4.2 简介 126
第4章 数据查询 126
第二部分 查询 126
4.3 查询语言的三个任务 127
4.4 检索数据的四个问题 127
4.4.1 你想得到什么结果 128
4.4.2 已经知道什么 128
4.4.3 涉及哪些表 128
4.4.4 如何连接表 128
4.5 Sally的宠物商店 128
4.6 版本差异 129
4.7 基本查询 129
4.7.1 单表 130
4.7.2vSQL介绍 130
4.7.3 输出排序 131
4.7.4 关键字Distinct 132
4.7.5 条件 132
4.7.6 布尔代数 133
4.7.7 德摩根定律 134
4.7.8 有用的WHERE子句 137
4.8 计算 137
4.8.1 基本运算 137
4.8.2 聚集运算 138
4.8.3 函数 139
4.9 部分和与GROUP BY语句 140
4.9.1 求和条件(HAVING) 141
4.9.2 WHERE子句与HAVING子句 142
4.9.3 最好和最差 142
4.10 多表 143
4.10.1 连接表 143
4.10.2 标识不同表中的列 145
4.10.3 连接多张表 145
4.10.4 表连接提示 146
4.10.5 表的别名 148
4.10.6 创建视图 148
关键词 150
小结 150
复习题 151
练习 151
参考网站 154
补充读物 154
附录:SQL语法 154
第5章 高级查询和子查询 157
5.1 开发漫谈 157
5.2 简介 157
5.4 子查询 158
5.4.1 计算或简单查找 158
5.3 Sally的宠物商店 158
5.4.2 子查询和数据集合 159
5.4.3 带有ANY和ALL的子查询 160
5.5 差:NOTIN 161
5.6 外连接 162
5.7 关联子查询存在危险 164
5.8 SQL SELECT的更多特征和技巧 166
5.8.1 UNION、INTERSECT和EXCEPT 166
5.8.2 多JOIN列 167
5.8.3 自反连接 167
5.8.4 CASE函数 168
5.8.6 带有“每一个”的查询需要EXISTS子句 169
5.8.5 不等连接 169
5.8.7 SQL SELECT小结 170
5.9 SQL数据定义命令 171
5.10 SQL数据操纵命令 173
5.10.1 INSERT和DELETE 173
5.10.2 UPDATE 174
5.11 质量:查询检查 175
小结 176
关键词 177
复习题 177
练习 178
附录:编程简介 181
参考网站 181
补充读物 181
第三部分 应用 190
第6章 表单、报表和应用 190
6.1 开发漫谈 190
6.2 简介 190
6.3 报表和表单的有效设计 191
6.3.1 人性化设计 191
6.3.2 Windows控件 193
6.4 表单布局 195
6.3.4 用户界面——访问问题 195
6.3.3 用户界面——网络要点 195
6.4.1 表格表单 196
6.4.2 单行或单列表单 196
6.4.3 子表单 198
6.4.4 导航表单 199
6.5 建立表单 200
6.5.1 可更新的查询 200
6.5.2 连接表单 201
6.5.3 属性和控件 201
6.5.4 表单上的控件 202
6.5.5 多表单 205
6.5.6 国际属性 206
6.6 直接操作图形对象 207
6.6.1 Sally的宠物商店示例 207
6.6.2 因特网 208
6.6.3 图形方式的复杂性和局限性 208
6.7 报表 209
6.7.1 报表设计 209
6.7.2 术语 210
6.7.3 基本报表类型 211
6.7.4 图表 214
6.8 应用软件的功能 215
6.8.1 菜单和工具栏 216
6.8.2 定制帮助 217
小结 221
关键词 221
复习题 222
练习 222
参考网站 223
补充读物 224
7.2 简介 225
7.1 开发漫谈 225
第7章 数据库完整性和事务 225
7.3 过程语言 226
7.3.1 代码应该放在哪里 226
7.3.2 用户定义的函数 227
7.3.3 查找数据 228
7.4 数据触发器 228
7.4.1 语句与行触发器 229
7.4.2 利用触发器取消数据更新 230
7.4.3 级联触发器 230
7.5.2 事务的开始和结束 232
7.5.1 事务的例子 232
7.5 事务 232
7.4.4 INSTEAD OF触发器 232
7.5.3 保存点 233
7.6 多用户与并发访问 234
7.6.1 悲观锁:串行化 235
7.6.2 多用户数据库:并发访问与死锁 236
7.6.3 乐观锁 237
7.7 事务的ACID特征 238
7.8 码生成 240
7.9.2 可滚动的游标 241
7.9.1 游标基础 241
7.9 数据库游标 241
7.9.3 利用游标修改或删除数据 243
7.9.4 带参数的游标 244
7.10 Sally的宠物商店的存货清单 244
小结 247
关键词 248
复习题 248
练习 249
参考网站 251
补充读物 251
8.1 开发漫谈 252
8.2 简介 252
第8章 数据仓库和数据挖掘 252
8.3 索引 253
8.3.1 二分查找 253
8.3.2 指针和索引 254
8.3.3 位图索引和统计方法 254
8.3.4 索引的问题 255
8.4 数据仓库和联机分析处理 256
8.4.1 数据仓库的目标 256
8.4.2 数据仓库的问题 257
8.5 OLAP的概念 258
8.6 OLAP数据库设计 259
8.6.1 OLAP数据分析 261
8.6.2 SQL中的OLAP 263
8.6.3 SQL分析函数 266
8.6.4 SQL的OLAP窗口 266
8.7 数据挖掘 269
8.7.1 分类 269
8.7.2 关联规则/购物篮分析 270
8.7.3 聚类分析 272
8.7.4 地理分析 272
小结 273
复习题 274
关键词 274
练习 275
参考网站 276
补充读物 276
第四部分 数据库管理 278
第9章 数据库管理与安全 278
9.1 开发漫谈 278
9.2 简介 278
9.3 数据管理员 279
9.4 数据库管理员 280
9.5 数据库结构 281
9.7 开发阶段的数据库任务 282
9.6 元数据 282
9.7.1 数据库规划 283
9.7.2 数据库设计 283
9.7.3 数据库实现 283
9.7.4 数据库运行和维护 284
9.8 备份和恢复 284
9.9 安全和隐私 286
9.9.1 数据隐私 286
9.9.2 威胁 287
9.9.3 物理安全 287
9.9.5 逻辑安全 288
9.9.4 管理控制 288
9.9.6 职责分割 292
9.9.7 软件升级 293
9.10 加密 294
9.11 Sally的宠物商店 295
小结 296
关键词 297
复习题 297
练习 298
参考网站 300
补充读物 300
10.2 简介 301
第10章 分布式数据库和因特网 301
10.1 开发漫谈 301
10.3 Sally的宠物商店 302
10.4 分布式数据库 302
10.4.1 目标和规则 303
10.4.2 优点和应用 304
10.4.3 创建分布式数据库系统 305
10.4.4 分布式查询处理 306
10.4.5 数据复制 307
10.4.6 并发、锁和事务 308
10.4.7 独立的事务管理器 309
10.4.8 分布式设计问题 310
10.5 客户/服务器数据库 310
10.5.1 客户/服务器与文件服务器 311
10.5.2 三层客户/服务器模型 312
10.5.3 后端:服务器数据库 313
10.5.4 前端:Windows客户端 314
10.5.5 在客户端维护数据库的独立性 315
10.6 电子商务数据库 316
10.7 作为客户/服务器系统的Web 317
10.7.1 受限的HTML客户端 317
10.7.2 Web服务器数据库基础 319
10.8 应用中的数据传输问题 321
10.9 XML:将数据传输到不同的系统 323
10.10 Java语言和JDBC 326
小结 326
关键词 328
复习题 328
练习 328
参考网站 330
补充读物 330
词汇表 331