




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、Access数据库教程-表关系指南良好数据库设计LI标之一是消除数据冗余(重复数据)。要实现该L1标,可 将数据拆分为多个基于主题的表,以使每个因素只显示一次。然后,通过在相关表 中放置公共字段来为Microsoft Office Access 2007提供将拆分的信息组合到一 起的方法。但是,要正确执行该步骤,必须首先了解表之间的关系,然后在Office Access 2007数据库中指定这些关系。有关详细信息,请参阅数据库设计基础一文。本文内容简介表关系类型为什么创建表关系? 了解参照完整性查看表关系创建表关系删除表关系更改表关系实施参照完整性简介在数据库中为每个主题创建表后,必须为Off
2、ice Access 2007提供在需要 时将这些信息重新组合到一起的方法。具体方法是在相关的表中放置公共字段,并 定义表之间的关系。然后,可以创建查询、窗体和报表,以同时显示儿个表中的信 息。例如,下面显示的窗体包含来自儿个表的信息:* E 24-:-:E d$ 12.5C * 2tGC1L/ r-3r-此窗体中的信息来自“客户”表1“订单”表2“产品”表4和“订单明细”表。“受票方”框中的客户名称是从“客户”表中检索到的, “订单ID”和“订 单日期”值来自“订单”表, “产品名称”来自“产品”表, “单价”和“数量” 值来自“订单明细”表。这些表以多种方式互相链接在一起,以便将各自的信息
3、呈 现到窗体中。在上述示例中,表中的各个字段必须互相协调,这样它们才能显示有关相同 定单的信息。这种协调是使用表之间的关系来实现的。通过是通过匹配键字段中的 数据来建立表关系,键字段通常是两个表中使用相同名称的字段。在大多数情况 下,这些匹配字段:::105 23 =-1:匚a-6-7是其中一个表的主键(它为每条记录提供唯一标识符),并且是21“员工ID”出现在两个表中,一个是主键.2.一个是外键。表关系的类型有三种类型的表关系。 一对多关系假设有一个订单跟踪数据库, 其中包含“客户”表和“订单”表。 客户可以 签署任意数量的订单。“客户”表中显示的任何客户都是这样,“订单”表中可以 显示很多
4、订单。因此,客户”表和订单”表之间的关系就是一对多关系。要在数据库设计中表示一对多关系, 请获取关系“一”方的主键, 并将其作 为额外字段添加到关系“多”方的表中。例如在本例中,可将一个新字段(即“客 户”表中的ID字段) 添加到“订单”表中, 并将其命名为“客户ID”。 然后,Access可以使用“订单”表中的“客户ID”号来查找每个订单的正确客户。多对多关系考虑“产品”表和“订单”表之间的关系。 单个订单中可以包含多个产品。另一方面,一个产品可能出现在多个订单中。因此,对于“订单”表中的每条记 录,都可能与“产品”表中的多条记录对应。 此外, 对于“产品”表中的每条记 录, 都可以与“订单
5、”表中的多条记录对应。这种关系称为多对多关系,因为对于 任何产品,都可以有多个订单,而对于任何订单,都可以包含许多产品。请注意, 为了检测到表之间的现有多对多关系,务必考虑关系的双方。要表示多对多关系,您必须创建第三个表,该表通常称为联接表,它将多对 多关系划分为两个一对多关系。将这两个表的主键都插入到第三个表中。因此,第 三个表记录关系的每个匹配项或实例。例如,“订单”表和“产品”表有一种多对 多的关系,这种关系是通过与“订单明细”表建立两个一对多关系来定义的。 一个 订单可以有多个产品,每个产品可以出现在多个订单中。 一对一关系在一对一关系中,第一个表中的每条记录在第二个表中只有一个匹配记
6、录,而第二个表中的每条记录在第一个表中只有一个匹配记录。这种关系并不常见,因 为多数以此方式相关的信息都存储在一个表中。可以使用一对一关系将一个表分成 许多字段,或出于安全原因隔离表中的部分数据,或存储仅应用于主表的子集的信 息。标识此类关系时,这两个表必须共享一个公共字段。为什么创建表关系?您可以使用“关系”窗口或从“字段列表”窗格中拖动字段来显式创建表关 系。 当需要在数据库对象中使用表时,Office Access 2007使用确定如何联接表 的表关系。应该在创建其他数据库(如窗体、查询和报表)对象之前创建表关系, 这样做有以下儿个原因:表关系可为查询设计提供信息要使用多个表中的记录,通
7、常必须创建联接这些表的查询。查询的工作方式 为将第一个表主键字段中的值与笫二个表的外键字段进行匹配。例如,要返回列出 每个客户所有订单的行,您需要构建一个查询,该查询基于“客户ID”字段将“客户”表与“订单”表联接起来。在“关系”窗口中,可以手动指定要联接的字 段。但是,如果已经定义了表间的关系,Office Access 2007会基于现有表关系 提供默认联接。此外,如果使用其中一个查询向导,Access会使用从已定义的表 关系中收集的信息为您提供正确的选择,并用适当的默认值预填充属性设置。表关系可为窗体和报表设计提供信息在设计窗体或报表时,Office Access 2007会使用从已定义
8、的表关系中收集 的信息为您提供正确的选择,并用适当的默认值预填充属性设置。可以将表关系作为基础来实施参照完整性,这样有助于防止数据库中出现 孤立记录。孤立记录指的是这样的一些记录:它所参照的其他记录根本不存在,例 如参照不存在的客户记录的订单记录。在设计数据库时,您将信息拆分为表,每个表都有一个主键。然后,您向相 关表中添加参照这些主键的外键。这些外键-主键对构成了表关系和多表查询的基 础。因此,这些外键-主键参照保持同步非常重要。 参照完整性帮助确保参照保持 同步并且依赖于表关系。了解参照完整性在设计数据库时, 您将信息拆分为许多基于主题的表, 以最大限度地降低数 据兀余。然后,您通过在相关
9、表中放置公共字段来为Office Access 2007提供将 数据重新组合到一起的方法。例如,为表示一对多关系,您从“一方”表中获得主 键,将其作为额外字段添加到“多方”表。要将数据重新组合到一起,Access获 得“多方”表中的值,并在“一方”表中查阅相应的值。通过这种方法,“多方” 表中的值参照“一方”表中相应的值。假设“运货商”和“订单”之间存在一对多关系,您希望删除一个运货商。如果要删除的运货商在“订单”表中具有订单,则删除该运货商记录后,这些订单 将成为“孤立记录”。这些订单仍然包含运货商ID,但该ID不再有效,因为它 所参照的记录不再存在。参照完整性的LI的是防止出现孤立记录并使
10、参照保持同步,以使这种假设的 情况永远不会发生。可以通过为表关系启用参照完整性来实施参照完整性 (请参阅实施参照完整 性, 以了解详细步骤)。实施后,Access将拒绝违反表关系参照完整性的任何操 作。这意味着Access会拒绝更改参照LI标的更新,也会拒绝删除参照LI标的删 除。但是,您可能确实需要更改某个运货商的主键,而该运货商在“订单”表中有 订单。在此类情况下,您真正需要的是Access在一次操作中自动更新所有受影响 的行。这样,Access可以确保进行完整更新,以便数据库不会处于不一致状态(即更新某些行,不更新其他行)。因此,Access支持“级联更新相关字段”选 项。如果您实施了参
11、照完整性并选择“级联更新相关字段”选项,在您更新主键 时,Access将自动更新参照主键的所有字段。您可能还会需要删除某一行及所有相关记录, 例如, 某个运货商记录以及其 所有相关订单。因此,Access支持“级联删除相关记录”选项。如果实施了参照 完整性并选择“级联删除相关记录”选项,则当您删除关系主键方的记录时,Access会自动删除参照该主键的所有记录。査看表关系要査看表关系, 请单击“数据库工具”选项卡上的“关系”。 将打开“关 系”窗口,并显示任所有现存关系。如果尚未定义表关系,并且您是第一次打开“关系”窗口,则Access会提示您向窗口中添加表或查询。打开“关系”窗口1.单击“Of
12、fice按钮”,然后单击“打开”。2.在“打开”对话框中,选择并打开数据库。3.在“数据库工具”选项卡上的“显示/隐藏”组中,单击“关系”o行;i性表 癲对隸相关性V消息栏4.如果数据库包含关系,则会出现“关系”窗口。如果数据库不包含任何关 系,并且您是第一次打开“关系”窗口,则会出现“显示表”对话框。单击“关 闭”关闭该对话框。5.在“设计”选项卡上的“关系”组中,单击“所有关系”o此时会显示数据库中所有已定义的关系。请注意,除非在“导航选项”对话 框中选中了 “显示隐藏对象”复选框,否则不会显示隐藏的表(在表的“属性”对 话框中选中“隐藏”复选框的表)及其关系。有关“显示隐藏对象”选项的详
13、细信息,请参阅导航窗格指南一文。主键12该线条代表关系外键表关系山“关系”窗口中表之间绘制的关系线表示。不实施参照完整性的关 系在支持该关系的公共字段之间显示为细线。单击关系线选择关系时,该线变粗指 示它被选中。如果对此关系实施参照完整性,则该线在两端都会变粗。此外,在关 系一侧线条较粗部分上会显示数字“1”,而在另一侧线条较粗部分上会显示无限 大符号(8)。在“关系”窗口处于活动状态时,可以选择功能区(功能区是Microsoft OfficeFluent用户界面的一部分)中的以下命令:在“设计”选项卡上的“工具”组中:编辑关系打开“编辑关系”对话框。在选择关系线时,可以单击“编辑关系”以更改表关系。也可以双击关系线。清除布局从“关系”窗口中删除所有显示的表和关系。请注意,该命令只隐藏这些表和关系,而不会删除它们。关系报表创建显示数据库中的表和关系的报表。该报表只显示“关系”窗口中未隐藏的表
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论