操作窗口和对话框其两者之间的关系为是什么

第八讲 定义表之间的关系前面定義了主键以及相应的表后,就可以制定各表部的关系从而建立起一个关系数据库。的应用与管理关系数据库中文Access2000具有很强的能力,這正是中文Visual FoxPro 6与中文Excel 2000所不及的为了建立关系数据库,首先要建立好各相关表接着将它们全部关闭,即可按下列步骤进行操作

注意:中攵Access 2000不能在已打开的表之间创建或修改关系,所以要关闭所有打开的表这与中文Visual FoxPro6有些不一样。

步骤一、按下键盘上的F11功能键将当前操作窗口切换到“数据库”窗口。

步骤二、单击“数据库”工具栏中的“关系”按钮参见图39。

此后如果当前数据库中已经存在着关系表,屏幕上就将显示如图40所示的“关系”对话框如果当前数据库没有定义任何关系,中文Access 2000将会自动显示“显示表”对话框让您从中选择加叺要建立关系的表,如图41所示


图40从此快捷菜单中选择该命令

如果需要添加的关系表没有在“关系”对话框中列出,那么就需要进入“显礻表”对话框为此可以右击“关系”对话框中任意处,然后从一份快捷菜单中选择“显示表”命令参图41。接下来就可以在这个对话框嘚“表”选项卡中选择要加入的表然后单击“添加”按钮。下面的操作将使用“雇员和任务”、“客户与销售量”、“客户与合同金额”这三张数据表它们全都是在此之前建立的,所输入的数据记录也很简单各字段如图42所示,您可以自己建立好

图41进入“显示表”对話框


图42为这三张表建立关系

注:为几张表建立关系的目的就是要让它们组成关系数据库,也就是成为“相关表”

步骤三、从某张表中将楿关字段拖动到另一张表中的相关字段上。

若要拖动多个字段可在拖动之前按下键盘上的Ctrl键并单击每一个要拖动的字段,这样即可选它們在大多数的情况下,中文Access 2000要求将表中的主键字段(以粗体文本显示)拖动到其他表中的名为外部键的相似字段(经常具有相同的名称)如图42中就显示出各表中那个都有的ID字段。相关字段不需要有相同的名称但它们必须有相同的数据类型(只有两种例外的情况),以忣包含相同种类的内容此外,当匹配的字段是“数字”字段时它们必须有相同的“字段大小”属性设置。匹配数据类型的两种例外情況是:

图43进入“编辑关系”对话框

1.“自动数字”字段与“字段大小”属性设置为“长整型”数据类型的“数字”字段能匹配

2.“自动数字”字段与“字段大小”属性设置为“同步复制 ID”数据类型的“数字”字段能匹配。

步骤四、在图43所示的“编辑关系”对话框中检查显示茬两个列中的字段名称是否相同。以确保正确性必要时可以在此更改。若需要还可以设置关系选项。最后单击“创建”按钮

接下来,您可以参照这几步操作对每一张要建立关联的表进行操作本章例所使用的主键是ID字段,所以操作的结果将如图44所示在该插图中,各表中的ID字段使用了一条折线与另一张的相同字段相连接这是Access2000关联关系的方法。此后关闭“关系”窗口时,屏幕上还将显示提示询问是否要保存此布局配置不论是否保存此配置,所创建的关系都已保存在当前数据库中

注意:如果要查看数据库中定义的所有关系,可单擊“数据库”工具栏中的“显示所有关系”按钮如果只要查看某一张表中所定义的关系,则请单击此表然后单击“数据库”工具栏中嘚“显示直接关系”按钮。若要更改表的设计可右击它后通过快捷菜单中的“表设计”命令进行操作。

本部分所介绍的中文Access 2000这个软件茬数据处理方面的功能非常强大,突出的特点是它那可视化的操作方式若您在已经清楚地掌握了数据库与表的建立和应用方法,以及相關概念那么在这里学习起来就不会感到吃力,本教程中所提供的示例也没有使用较多的字段数据记录也只有几行,您能很容易的建立恏它们接下来,本教程将应用所建立的索引与关系来应用中文Access 2000您将会看到与中文Visual FoxPro6不同的操作方法,而它们的功能其实都差不多

1.在中攵Access 2000可建立数据库与表的操作方法是什么?

2.本章中所用的“窗体”、“窗口”、“对话框”大致有哪些各自的特点是什么?

3.什么是“主键”为什么要用它?

4.创建索引与定义表之间的关系各自是如何操作的

}

如何定义一对多或一对一关系

 要創建一对多或一对一关系请按照下列步骤操作: 1.关闭已打开的所有表。无法创建或修改打开的表之间的关系

2.Access 2003 中,按照下列步骤操作:a.在“工具”菜单上单击“关系”。

Access 2007 中(2010与之类似这里我就不提了),单击“数据库工具”选项卡上的“显示/隐藏”组中的“关系”

3.如果尚未在数据库中定义任何关系,则“显示表”对话框自动显示如果要添加想要相关的表,但“显示表”对话框未显示请单击“关系”菜单上的“显示表”。

4.双击想要相关的表的名称然后关闭“显示表”对话框。要在表与其自身之间创建关系请将该表添加两佽。

5.将想要相关的字段从一个表中拖至另一个表中的相关字段要拖动多个字段,请按住 Ctrl 并单击每个字段然后拖动它们。

 大多数情况下您将主键字段(以粗体文本显示)从一个表中拖至另一个表中称为外键的类似字段(通常具有相同名称)。

6.“编辑关系”对话框将出现确保显示在两列中的字段名称是正确的。必要时可以更改它们

 如果需要,可以设置关系选项如果需要有关“编辑关系”对话框中的某个特定项的信息,请单击问号按钮然后单击该项。这些选项将在本文的后面部分详细介绍

7.单击“创建”创建关系。(在2003里是确定)

8.對想要相关的每一对表重复步骤 5 到步骤 8

2003操作界面如下:

 关闭“编辑关系”对话框时,Microsoft Access 将询问您是否要保存布局不管是否保存布局,您創建的关系都会保存在数据库中

注意:可以在查询以及表中创建关系。然而引用完整性对查询不是强制执行的。

 要创建多对多关系請按照下列步骤操作: 1.创建两个将具有多对多关系的表。

2.创建称为联接表的第三个表然后向联接表中添加与其他两个表中的每个表内的主键字段具有相同定义的新字段。在联接表内主键字段作为外键。与其他任何表一样您可以向联接表中添加其他字段。

3.在联接表中設置主键以包括其他两个表中的主键字段。例如在联接表“书籍作者”中,主键将由“订单 ID”和“产品 ID”字段组成

注意:要创建一个主键,请按照下列步骤操作: a.在“设计”视图中打开一个表

b.选择要定义为主键的一个或多个字段。要选择一个字段请单击所需字段的荇选择器。

 要选择多个字段请按住 Ctrl 键,然后单击每个字段的行选择器

Access 2007 中,单击“设计”选项卡上“工具”组中的“主键”

注意:洳果希望多字段主键中字段的顺序与表中这些字段的顺序不同,请单击工具栏上的“索引”以显示“索引”对话框然后对名为 PrimaryKey 的索引的芓段名称重新排序。

4.在两个主表中的每一个主表与联接表之间定义一个一对多关系

 引用完整性是一套规则,Microsoft Access 使用它确保相关表中的记录の间的关系有效并保证您不会无意间删除或更改相关的数据。当符合下列所有条件时您可以设置引用完整性: ?主表中的匹配字段是主键或者具有唯一索引。

?相关字段具有相同数据类型但有两种例外情况。自动编号字段可以和 FieldSize 属性设置为长整型的数字字段相关并苴 FieldSize 属性设置为 Replication ID 的自动编号字段可以和

?两个表属于同一 Microsoft Access 数据库。如果表是链接表则它们必须为 Microsoft Access 格式,并且您必须打开存储表的数据库以便设置引用完整性无法为其他格式的数据库中的链接表强制执行引用完整性。

当您使用引用完整性时以下规则适用:

?不可以在主表嘚主键中不存在的相关表外键字段中输入值。不过您可以在外键中输入一个 Null 值以指定这些记录不相关。例如不能有一个分配给不存在愙户的订单,但是通过在“客户 ID”字段中输入一个 Null 值可以有未分配给任何人的订单

?如果一个记录在相关的表中存在匹配的记录,则不能够从主表中删除该记录例如,如果在“订单”表中有分配给某个员工的订单则您不能够从“员工”表中删除该员工记录。

?如果一個记录有相关的记录则您不能在主表中更改其主键值。例如如果在“订单”表中有分配给某一员工的订单,则您不能够在“员工”表Φ更改此员工的 ID

 对于强制执行了引用完整性的关系,您可以指定是否希望 Microsoft Access 自动级联更新或级联删除相关的记录如果设置了这些选项,則通常由引用完整性规则阻止的删除和更新操作将能够进行当您在主表中删除记录或更改主键值时,Microsoft Access 将对相关表进行必要的更改以保持引用完整性

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

注意:如果主表中的主键是一个自动编号字段,则选中“级联更新相关字段”复選框将不起作用因为不能更改自动编号字段中的值。

 如果您在定义关系时选中了“级联删除相关记录”复选框则每当您删除主表中的記录时,Microsoft Access 就会自动删除相关表中的相关记录例如,如果您从“客户”表中删除一个客户记录则该客户的所有订单会自动从“订单”表(包括与“订单”记录相关的“订单明细”表中的记录)中删除。当您在选中“级联删除相关记录”复选框的情况下从窗体或数据表中删除记录时Microsoft Access 会警告您相关记录也可能会被删除。然而当您使用删除查询删除记录时,Microsoft Access 将自动删除相关表中的记录而不显示警告

 有三种聯接类型,如下所示:

选项 1 定义一个内部联接内部联接是一种联接,其中仅当联接字段中的值满足指定条件时才将两个表中的记录合并箌查询结果中在查询中,默认联接是内部联接仅当联接字段中的值匹配时该内部联接才选择记录。

选项 2 定义一个左外部联接左外部聯接是一种联接,其中查询的 SQL 语句中 LEFT JOIN 操作左侧的所有记录被添加到查询结果中即使右侧表中联接字段内没有匹配值也会如此。

选项 3 定义┅个右外部联接右外部联接是一种联接,其中查询的 SQL 语句中 RIGHT JOIN 操作右侧的所有记录被添加到查询结果中即使左侧表中联接字段内没有匹配值也会如此。


}

我要回帖

更多关于 其两者之间的关系为 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信