Access 2003完整教程:使用过其他数据库或电子表格应用程序的用户的入门方式

如果熟悉其他数据库或电子表格应用程序,则可能已经对这些应用程序的工作方式及适用于哪些数据库有了一些基本的了解。Microsoft Access 与很多其他的数据库应用程序有所不同,它允许用户创建关系数据库。Access 还提供了多个选项,供使用其他数据库程序,如 Microsoft SQL Server 时使用。

数据库中的关系

在Microsoft Access 数据库中为每个主题都设置了不同的表后,必须告诉 Microsoft Access 如何再将这些信息组合到一起。该过程的第一步是定义表间的关系,然后可以创建查询、窗体及报表,以同时显示来自多个表中的信息。例如,下面的窗体包含了来自四个表的信息:

在“订单”窗体中同时显示从四个表中获得的相关信息

标注 1“客户”表

标注 2“订单”表

标注 3“产品”表

标注 4“订单明细”表

关系的工作方式

在前一个示例中,四个表中的字段必须是互相协调的,这样它们才能显示有关相同定单的信息。这种协调是通过表之间的关系来实现的。关系通过匹配键字段中的数据来建立,键字段通常是两个表中使用相同名称的字段。在大多数情况下,两个匹配的字段中一个是所在表的主键,对每一记录提供唯一的标识符,而另一个是所在表的外键。例如,通过创建“雇员ID”字段之间的关系,以使雇员和他们负责的订单之间发生相应的关系。

在“雇员”表中将“雇员ID”用作主键,而在“订单”表中用作外键。

标注 1雇员ID 出现在两个表中,一个是主键...

标注 2...一个是外键。

一对多关系

一对多关系是关系中最常用的类型。在一对多关系中,A 表中的一个记录能与 B 表中的许多记录匹配,但是在 B 表中的一个记录仅能与 A 表中的一个记录匹配。

“供应商”表中的一条记录在“产品”表中有多条相关的记录

标注 1一个供应商...

标注 2...可以提供多种产品...

标注 3...但每种产品只由一个供应商提供。

多对多关系

在多对多关系中,A 表中的记录能与 B 表中的许多记录匹配,并且在 B 表中的记录也能与 A 表中的许多记录匹配。此类型的关系仅能通过定义第三个表(称作联结表)来达成,它的主键包含二个字段,即来源于 A 和 B 两个表的外键。多对多关系实际上是和第三个表的两个一对多关系。例如,“订单”表和“产品”表有一个多对多的关系,它是通过建立与“订单明细”表中两个一对多关系来创建的。一份订单可以有多种产品,每种产品可以出现在多份订单中。

“订单明细”表中的外键及“订单”表和“产品”表中的相匹配的主键

标注 1“订单”表中的主键

标注 2“产品”表中的主键

标注 3一份订单可以有多个产品...

标注 4...每个产品可以出现在多份订单中。

一对一关系

在一对一关系中,A 表中的每一记录仅能在 B 表中有一个匹配的记录,并且 B 表中的每一记录仅能在 A 表中有一个匹配记录。此关系类型并不常用,因为大多数以此方式相关的信息都在一个表中。可以使用一对一关系将一个表分成许多字段,或因安全原因隔离表中部分数据,或存储仅应用在主表中的子集的信息。例如,可以创建一个表来追踪参加募捐足球赛的雇员。“足球队员”表中的每个足球队员在“雇员”表中都有一个相匹配的记录。

“雇员”表中的每个记录在“足球队员”表中都只有一个相匹配的记录。

标注 1每个足球队员在“雇员”表中都有一个相匹配的记录。

标注 2该值集是“雇员ID”字段和“雇员”表的子集。

关于定义关系

Microsoft Access 中创建关系的种类取决于相关字段是如何定义的:

另外,还可以创建某个表与其自身之间的关系。这对于在同一个表内执行查阅查询是很有用的。例如在“雇员”表中,可以定义“雇员ID”字段和“上级”字段之间的关系,因此,“上级”字段可以显示相匹配的“雇员ID”字段的雇员数据。

注释如果将某字段拖动到另一字段,而该字段不是一个主键也没有唯一索引,而另一字段也不是主键也没有唯一索引,那么将创建一个不确定的关系。如果在查询中包含不确定关系的表时,Microsoft Access 将在两个表间显示一条默认的联接线,但是将不强制实施参照完整性,并且也不保证这些记录在任何一个表中是唯一的。

参照完整性

参照完整性是一个规则系统,Microsoft Access 使用这个系统用来确保相关表中记录之间关系的有效性,并且不会意外地删除或更改相关数据。在符合下列所有条件时,可以设置参照完整性:

使用参照完整性时要遵循下列规则:

级联更新和级联删除

对实行参照完整性的关系,可以指定是否允许 Microsoft Access 自动对相关记录进行级联更新和级联删除。如果设置了这些选项,通常为参照完整性所禁止的删除及更新操作就会获准进行。在删除记录或更改主表中的主键的值时,Microsoft Access 将对相关表做必要的更改以保留参照完整性。

当定义一个关系时,如果选择了“级联更新相关字段”复选框,则不管何时更改主表中记录的主键,Microsoft Access 都会自动在所有相关的记录中将主键更新为新值。例如,如果在“客户”表中更改某个客户ID,则在“订单”表中每个有该客户订单的记录中,“客户ID”字段都会自动更新,这样它们之间的关系将不会破坏。Microsoft Access 的级联更新将不显示任何消息。

注释如果主表中的主键是“自动编号”字段,设置“级联更新相关字段”复选框将没有任何效果,因为“自动编号”字段中的值是不能更改的。

当定义一个关系时,如果选中了“级联更新相关字段”复选框,则不管何时删除主表中的记录,Microsoft Access 都会自动删除相关表中的相关记录。例如,如果在“客户”表中删除某个客户记录,在“订单”表中此客户的所有订单都会自动删除(包括和“订单”记录相关的“订单明细”表中的记录)。当使选中“级联删除相关记录”复选框来删除窗体或数据表中的记录时,Microsoft Access 将发出相关记录也将删除的警告消息。但是,当使用删除查询来删除记录时,Microsoft Access 将自动删除相关表中的记录,而不显示任何警告消息。

使用其他应用程序

Microsoft Access 2002 或更高版本提供用于与其他程序配合工作的新功能。

上页:Access 2003完整教程:在窗体中验证或限制数据 下页:Access 2003完整教程:首次使用数据库的用户的入门方式

Access 2003完整教程:使用过其他数据库或电子表格应用程序的用户的入门方式

Access 2003完整教程:首次使用数据库的用户的入门方式Access 2003完整教程:更改控件类型的默认属性
Access 2003完整教程:在“数据库”窗口中使用快捷键Access 2003完整教程:使用命令按钮
Access 2003完整教程:处理子窗体Access 2003完整教程:对交叉表查询数据表执行操作
Access 2003完整教程:编辑数据透视表窗体Access 2003完整教程:打开或关闭文本和数据的自动更正
Access 2003完整教程:在页面视图中处理数据Access 2003完整教程:处理查询“数据表”视图中的重复记录
Access 2003完整教程:使用 FTPAccess 2003完整教程:创建和自定义滚动文字控件
Access 2003完整教程:处理子报表Access 2003完整教程:处理查询“数据表”视图中的不匹配记录
Access 2003完整教程:管理用户帐户和组帐户 (MDB)Access 2003完整教程:创建、加入或修复工作组信息文件 (MDB)
Access 2003完整教程:在数据访问页中使用从右到左功能Access 2003完整教程:关于图表
Access 2003完整教程:有关处理并发更新 (ADP)Access 2003完整教程:关于表分析器的查询 (MDB)
版权所有 © 中山市飞娥软件工作室 证书:粤ICP备09170368号