第1章 如何开发数据库的应用 1
1.1 如何开发一个数据库的应用——本书的内容 2
1.1.1 数据库应用系统的生存周期 2
1.1.2 创建和规范化实体模型 3
1.1.3 Access数据库设计 4
1.1.4 Access查询设计 4
1.1.5 Access窗体、宏和报表 5
1.1.6 Visual Basic数据库程序设计 6
1.2 Visal Basic和Access 7
1.4 Access和Visual Basic版本间的兼容性 8
1.3 Visual Basic和Access的版本 8
1.5 练习 9
第2章 实体模型化与规范化 11
2.1 概述 12
2.2 实体模型化 14
2.2.1 实体类型和关系 14
2.2.2 用新实体替代M:N关系 17
2.2.3 用新实体类型替代两个以上的关系 20
2.2.4 并行关系 21
2.2.5 相斥关系 21
2.3.1 初步选择一组属性集 22
2.2.6 多余关系 22
2.3 关系模型 22
2.3.2 术语 23
2.3.3 主关键字 24
2.3.4 外部关键字 25
2.4 规范化 27
2.4.1 第一范式 27
2.4.2 第二范式 28
2.4.3 第三范式 30
2.4.4 第四范式 31
2.4.5 第五范式 32
2.5 练习 33
第3章 Access数据库设计 39
3.1 概述 40
3.2 组织一个应用 40
3.3 Access对象组成 42
3.4 建立一个数据库 43
3.5 建立表 43
3.6 建立关系 52
3.7 练习 65
第4章 使用Access Query Design View设计查询 67
4.1 概述 68
4.2 使用Access Query Design View开发查询 68
4.3 练习 89
第5章 使用SQL-DDL和DML语句设计Access查询 91
5.1 SQL概述 92
5.2 SQL的版本:Jet与ANSI 93
5.3 SQL语句分类 93
5.4 SQL语句的语法 94
5.5 CREATE TABLE 96
5.6 ALTER TABLE 101
5.7 DROP TABLE 104
5.8 CREATE INDEX 107
5.9 DROP INDEX 115
5.10 INSERT INTO 116
5.11 UPDATE 128
5.12 DELETE 138
5.13 练习 147
第6章 使用SQL-Select的单个表和连接设计Access查询 149
6.1 简介 150
6.2 单个表Select语句 150
6.2.1 选择列 151
6.2.2 DISTINCT 153
6.2.3 WHERE 156
6.2.4 LIKE 159
6.2.5 BETWEEN 161
6.2.6 IN 162
6.2.7 AND,OR和NOT 164
6.2.8 GROUP BY 170
6.2.9 HAVING 176
6.2.10 ORDER BY 179
6.2.11 TOP 183
6.3 多个表的SELECT 187
6.3.1 连接表的SELECT 189
6.3.2 内部连接 189
6.3.3 不等连接 193
6.3.4 自身连接 194
6.3.5 两个表以上的连接 195
6.3.6 LEFT JOIN和RIGHT JOIN 198
6.3.7 INNER JOIN和LEFT JOIN组合 204
6.3.8 Jet的连接嵌套规则 207
6.4 练习 210
第7章 使用SQL-Select语句-更多的功能-设计Access查询 213
7.2 具有子查询的SELECT 214
7.1 概述 214
7.2.1 简单的子查询和与其等价的连接 216
7.2.2 Subqurey with Join in the Outer SELECT 222
7.2.3 必须用子查询代替Join的查询 223
7.2.4 子查询中的连接 223
7.2.5 返回多列的子查询 225
7.2.6 ANY和ALL 226
7.2.7 替代ANY和ALL 229
7.2.8 子查询是基本的操作 230
7.2.9 有相互关系的子查询 230
7.2.10 EXISTS和NOT EXISTS 238
7.3 UNION查询 247
7.3.1 简单的UNION实例 248
7.3.2 列同构性 252
7.3.3 不同的字段名 254
7.3.4 列数不同记录集的UNION 256
7.3.5 模拟INTERSECT操作 259
7.3.6 UNION和(模仿的)INTERSECT的联合 262
7.3.7 模仿MINUS操作 263
7.4 建立在查询上的查询——视图 267
7.4.1 简单视图 267
7.4.2 汇总视图 273
7.4.3 基于连接的视图 274
7.4.4 连接视图 276
7.4.5 可以包含重复的视图 278
7.4.6更新和视图 279
7.4.7 将视图看作阶梯 283
7.5 SELECT INTO 286
7.6 CROSSTAB查询 289
7.7 练习 293
第8章 Access窗体、宏和报表 295
8.2.1 自动窗体 296
8.2 Access自动窗体 296
8.1 概述 296
8.2.2 过滤、排序和查找 300
8.2.3 Form Wizard:创建一个1:N窗体 302
8.2.4 为Access窗体添加一个组合框 306
8.2.5 Design View:人工建立窗体 311
8.3 Access宏 314
8.3.1 通过宏代码链接Access窗体 314
8.3.2 在Access宏中使用条件表达式 316
8.4 Access Report 325
8.4.1 显示链接两个窗体数据的报表 325
8.4.2 具有图表的报表 331
8.5 练习 341
第9章 使用数据控件的Visual Basic数据库程序 345
9.1 概述 346
9.2 使用Data Control链接Access数据库与Visual Basic 347
9.3 添加,删除和修改记录 349
9.4 错误处理 352
9.5 错误预防 354
9.6 FindFirst按钮 361
9.7 添加一个菜单 362
9.8 带有一个简单表的DBGrid 365
9.9 在1:N窗体中具有链接表的DBGrid 367
9.10 使用ADO数据控件——更新单个表 370
9.11 使用ADO Data Control——在1:N窗体中链接多个表 372
9.12 练习 375
第10章 使用数据访问对象(DAO)的Visual Basic数据库编程 377
10.1 简介 378
10.2 DAO命令(Jet2.5/3.0及更高版本) 378
10.3在VB网格中显示数据 380
10.4在VB网格中编辑CUS表的数据 384
10.5使用两个窗体在VB网格中编辑数据 389
10.6使用VB网格从1:N关系中显示数据 398
10.7生成报表 404
10.8打印从一个表中显示数据的报表(使用Print#) 407
10.9打印从三个相关表中显示数据的报表(使用Print#) 408
10.10打印从三个相关表中显示数据的报表(使用Printer对象) 413
10.11列表有效的打印机 415
10.12练习 416
第11章 使用ActiveX数据对象(ADO)的Visual Basic数据库程序设计 417
11.1 ADO方法 418
11.2在List Box(列表框)中显示数据:比较ADO与DAO 418
11.3创立和使用Data Source Name 421
11.4练习 426
第12章 使用Access模块的Visual Basic数据库程序设计 427
12.1简介 428
12.2 Access模块 428
12.3窗体模块与标准模块 429
12.4多个条件的Database过滤器实例 433
12.5事务处理实例 441
12.6练习 445
附录A 数据库示例 449
附录B 一些不同VB版本中数据库程序命令的区别 467
附录C术语表 471
附录D参考资料 475