精华内容
下载资源
问答
  • Access和SQL server开启表间关系,并实现更新或删除母数据自动更新或删除子数据...
    2019-10-02 04:02:13

    1.Access开启表间关系,并实现删除母表数据自动删除子表数据:

    在Tables等界面 - > 右键 - > Relationships... -> 弹出Relationships窗口 -> 选择需要关联的表 -> 双击Relationships窗口空白位置 -> 弹出 Edit Relationships 窗口 -> 就可以看到Enforce Referential Integrity选项 -> 选中就可以继续选择 Cascade...了.

    2.SQL Server开启表间关系,并实现删除母表数据自动删除子表数据:

    创建外键 -> 在外键弹出窗口 Foreign Key Relationships窗口 -> 可以看到 INSERT AND UPDATE Secification -> 下边就是相应设置.(可用SQL语句设置)

    转载于:https://www.cnblogs.com/KenBlove/archive/2009/06/24/1510408.html

    更多相关内容
  • Access中表关系指南

    2020-12-24 17:42:10
    表关系指南良好数据库设计目标之一是消除数据冗余(重复数据)。...但是,要正确执行该步骤,必须首先了解之间的关系,然后 Office Access 2007 数据库指定这些关系。有关详细信息,请参阅数...

    表关系指南

    良好数据库设计目标之一是消除数据冗余(重复数据)。要实现该目标,可将数据拆分为多个基于主题的表,以使每个因素只显示一次。然后,通过在相关表中放置公共字段来为 Microsoft Office Access 2007 提供将拆分的信息组合到一起的方法。但是,要正确执行该步骤,必须首先了解表之间的关系,然后在 Office Access 2007 数据库中指定这些关系。

    有关详细信息,请参阅数据库设计基础一文。

    本文内容

    简介

    在数据库中为每个主题创建表后,必须为 Office Access 2007 提供在需要时将这些信息重新组合到一起的方法。具体方法是在相关的表中放置公共字段,并定义表之间的关系。然后,可以创建查询、窗体和报表,以同时显示几个表中的信息。例如,下面显示的窗体包含来自几个表的信息:

     此窗体中的信息来自“客户”表……

     ……“订单”表……

     ……“产品”表……

     ……和“订单明细”表。

    “受票方”框中的客户名称是从“客户”表中检索到的,“订单 ID”和“订单日期”值来自“订单”表,“产品名称”来自“产品”表,“单价”和“数量”值来自“订单明细”表。这些表以多种方式互相链接在一起,以便将各自的信息呈现到窗体中。

    在上述示例中,表中的各个字段必须互相协调,这样它们才能显示有关相同定单的信息。这种协调是使用表之间的关系来实现的。通过是通过匹配键字段中的数据来建立表关系,键字段通常是两个表中使用相同名称的字段。在大多数情况下,这些匹配字段是其中一个表的主键(它为每条记录提供唯一标识符),并且是另一个表的外键。例如,通过在“员工”和“订单”表的“员工 ID”字段之间创建表关系,可以将员工和他们负责的订单相关联。

     “员工 ID”出现在两个表中,一个是主键...

     ...一个是外键。

    表关系的类型

    有三种类型的表关系。

    一对多关系

    假设有一个订单跟踪数据库,其中包含“客户”表和“订单”表。客户可以签署任意数量的订单。“客户”表中显示的任何客户都是这样,“订单”表中可以显示很多订单。因此,“客户”表和“订单”表之间的关系就是一对多关系。

    要在数据库设计中表示一对多关系,请获取关系“一”方的主键,并将其作为额外字段添加到关系“多”方的表中。例如在本例中,可将一个新字段(即“客户”表中的 ID 字段)添加到“订单”表中,并将其命名为“客户 ID”。然后,Access 可以使用“订单”表中的“客户 ID”号来查找每个订单的正确客户。

    多对多关系

    考虑“产品”表和“订单”表之间的关系。单个订单中可以包含多个产品。另一方面,一个产品可能出现在多个订单中。因此,对于“订单”表中的每条记录,都可能与“产品”表中的多条记录对应。此外,对于“产品”表中的每条记录,都可以与“订单”表中的多条记录对应。这种关系称为多对多关系,因为对于任何产品,都可以有多个订单,而对于任何订单,都可以包含许多产品。请注意,为了检测到表之间的现有多对多关系,务必考虑关系的双方。

    要表示多对多关系,您必须创建第三个表,该表通常称为联接表,它将多对多关系划分为两个一对多关系。将这两个表的主键都插入到第三个表中。因此,第三个表记录关系的每个匹配项或实例。例如,“订单”表和“产品”表有一种多对多的关系,这种关系是通过与“订单明细”表建立两个一对多关系来定义的。一个订单可以有多个产品,每个产品可以出现在多个订单中。

    一对一关系

    在一对一关系中,第一个表中的每条记录在第二个表中只有一个匹配记录,而第二个表中的每条记录在第一个表中只有一个匹配记录。这种关系并不常见,因为多数以此方式相关的信息都存储在一个表中。可以使用一对一关系将一个表分成许多字段,或出于安全原因隔离表中的部分数据,或存储仅应用于主表的子集的信息。标识此类关系时,这两个表必须共享一个公共字段。

    为什么创建表关系?

    您可以使用“关系”窗口或从“字段列表”窗格中拖动字段来显式创建表关系。当需要在数据库对象中使用表时,Office Access 2007 使用确定如何联接表的表关系。应该在创建其他数据库(如窗体、查询和报表)对象之前创建表关系,这样做有以下几个原因:

    表关系可为查询设计提供信息

    要使用多个表中的记录,通常必须创建联接这些表的查询。查询的工作方式为将第一个表主键字段中的值与第二个表的外键字段进行匹配。例如,要返回列出每个客户所有订单的行,您需要构建一个查询,该查询基于“客户 ID”字段将“客户”表与“订单”表联接起来。在“关系”窗口中,可以手动指定要联接的字段。但是,如果已经定义了表间的关系,Office Access 2007 会基于现有表关系提供默认联接。此外,如果使用其中一个查询向导,Access 会使用从已定义的表关系中收集的信息为您提供正确的选择,并用适当的默认值预填充属性设置。

    表关系可为窗体和报表设计提供信息

    在设计窗体或报表时,Office Access 2007 会使用从已定义的表关系中收集的信息为您提供正确的选择,并用适当的默认值预填充属性设置。

    可以将表关系作为基础来实施参照完整性,这样有助于防止数据库中出现孤立记录。孤立记录指的是这样的一些记录:它所参照的其他记录根本不存在,例如参照不存在的客户记录的订单记录。

    在设计数据库时,您将信息拆分为表,每个表都有一个主键。然后,您向相关表中添加参照这些主键的外键。这些外键-主键对构成了表关系和多表查询的基础。因此,这些外键-主键参照保持同步非常重要。参照完整性帮助确保参照保持同步并且依赖于表关系。

    了解参照完整性

    在设计数据库时,您将信息拆分为许多基于主题的表,以最大限度地降低数据冗余。然后,您通过在相关表中放置公共字段来为 Office Access 2007 提供将数据重新组合到一起的方法。例如,为表示一对多关系,您从“一方”表中获得主键,将其作为额外字段添加到“多方”表。要将数据重新组合到一起,Access 获得“多方”表中的值,并在“一方”表中查阅相应的值。通过这种方法,“多方”表中的值参照“一方”表中相应的值。

    假设“运货商”和“订单”之间存在一对多关系,您希望删除一个运货商。如果要删除的运货商在“订单”表中具有订单,则删除该运货商记录后,这些订单将成为“孤立记录”。这些订单仍然包含运货商 ID,但该 ID 不再有效,因为它所参照的记录不再存在。

    参照完整性的目的是防止出现孤立记录并使参照保持同步,以使这种假设的情况永远不会发生。

    可以通过为表关系启用参照完整性来实施参照完整性(请参阅实施参照完整性,以了解详细步骤)。实施后,Access 将拒绝违反表关系参照完整性的任何操作。这意味着 Access 会拒绝更改参照目标的更新,也会拒绝删除参照目标的删除。但是,您可能确实需要更改某个运货商的主键,而该运货商在“订单”表中有订单。在此类情况下,您真正需要的是 Access 在一次操作中自动更新所有受影响的行。这样,Access 可以确保进行完整更新,以便数据库不会处于不一致状态(即更新某些行,不更新其他行)。因此,Access 支持“级联更新相关字段”选项。如果您实施了参照完整性并选择“级联更新相关字段”选项,在您更新主键时,Access 将自动更新参照主键的所有字段。

    您可能还会需要删除某一行及所有相关记录,例如,某个运货商记录以及其所有相关订单。因此,Access 支持“级联删除相关记录”选项。如果实施了参照完整性并选择“级联删除相关记录”选项,则当您删除关系主键方的记录时,Access 会自动删除参照该主键的所有记录。

    查看表关系

    要查看表关系,请单击“数据库工具”选项卡上的“关系”。将打开“关系”窗口,并显示任所有现存关系。如果尚未定义表关系,并且您是第一次打开“关系”窗口,则 Access 会提示您向窗口中添加表或查询。

    打开“关系”窗口

    单击“Office 按钮”

    ,然后单击“打开”。

    在“打开”对话框中,选择并打开数据库。

    在“数据库工具”选项卡上的“显示/隐藏”组中,单击“关系”。

    如果数据库包含关系,则会出现“关系”窗口。如果数据库不包含任何关系,并且您是第一次打开“关系”窗口,则会出现“显示表”对话框。单击“关闭”关闭该对话框。

    在“设计”选项卡上的“关系”组中,单击“所有关系”。

    此时会显示数据库中所有已定义的关系。请注意,除非在“导航选项”对话框中选中了“显示隐藏对象”复选框,否则不会显示隐藏的表(在表的“属性”对话框中选中“隐藏”复选框的表)及其关系。

    有关“显示隐藏对象”选项的详细信息,请参阅导航窗格指南一文。

     主键

     该线条代表关系

     外键

    表关系由“关系”窗口中表之间绘制的关系线表示。不实施参照完整性的关系在支持该关系的公共字段之间显示为细线。单击关系线选择关系时,该线变粗指示它被选中。如果对此关系实施参照完整性,则该线在两端都会变粗。此外,在关系一侧线条较粗部分上会显示数字“1”,而在另一侧线条较粗部分上会显示无限大符号 (∞)。

    在“关系”窗口处于活动状态时,可以选择功能区(功能区是 Microsoft Office Fluent 用户界面的一部分)中的以下命令:

    在“设计”选项卡上的“工具”组中:

    编辑关系  打开“编辑关系”对话框。在选择关系线时,可以单击“编辑关系”以更改表关系。也可以双击关系线。

    清除布局  从“关系”窗口中删除所有显示的表和关系。请注意,该命令只隐藏这些表和关系,而不会删除它们。

    关系报表  创建显示数据库中的表和关系的报表。该报表只显示“关系”窗口中未隐藏的表和关系。

    在“设计”选项卡上的“关系”组中:

    显示表  打开“显示表”对话框,使您可以选择表和查询以在“关系”窗口中进行查看。

    隐藏表  隐藏“关系”窗口中选定的表。

    直接关系  在“关系”窗口中显示所选表的所有关系和相关表(如果尚未显示)。

    所有关系  在“关系”窗口中显示数据库中所有关系和相关表。请注意,除非在“导航选项”对话框中选中“显示隐藏对象”,否则不会显示隐藏的表(在表的“属性”对话框中选中“隐藏”复选框的表)及其关系。

    有关“显示隐藏表”选项的详细信息,请参阅导航窗格指南一文。

    关闭  关闭“关系”窗口。如果对“关系”窗口的布局进行了任何更改,则会询问您是否保存这些更改。

    创建表关系

    可以使用“关系”窗口或从“字段列表”窗格向数据表拖动字段来创建表关系。在创建表之间的关系时,公共字段不一定具有相同的名称,但实际它们往往是相同的。但这些字段必须具有相同的数据类型。不过如果主键字段为“自动编号”字段,并且两个字段的“字段大小”属性相同,则外键字段可以为“数字”字段。例如,如果两个字段的FieldSize 属性都是长整型,则可以将“自动编号”字段与“数字”字段匹配。在两个公共字段都是“数字”字段时,它们必须具有相同的“字段大小”属性设置。

    使用“关系”窗口创建表关系

    单击“Office 按钮”

    ,然后单击“打开”。

    在“打开”对话框中,选择并打开数据库。

    在“数据库工具”选项卡上的“显示/隐藏”组中,单击“关系”。

    如果您尚未定义过任何关系,则会自动显示“显示表”对话框。如果未出现该对话框,请在“设计”选项卡上的“关系”组中单击“显示表”。

    “显示表”对话框会显示数据库中的所有表和查询。要只查看表,请单击“表”。要只查看查询,请单击“查询”。要同时查看表和查询,请单击“两者”。

    选择一个或多个表或查询,然后单击“添加”。将表和查询添加到“关系”窗口之后,请单击“关闭”。

    将字段(通常为主键)从一个表拖至另一个表中的公共字段(外键)。若要拖动多个字段,请按 Ctrl 键,单击每个字段,然后拖动这些字段。

    将显示“编辑关系”对话框。

    验证显示的字段名称是否是关系的公共字段。如果字段名称不正确,请单击该字段名称并从列表中选择新字段。

    要对此关系实施参照完整性,请选中“实施参照完整性”复选框。有关参照完整性的详细信息,请参阅了解参照完整性和实施参照完整性等小节。

    单击“创建”。

    关系线是在两个表之间绘制的。如果已选中“实施参照完整性”复选框,则该线两端都显示为较粗。此外,仅当再次选中“实施参照完整性”复选框后,在关系一侧线条较粗部分上会显示数字“1”,而在另一侧线条较粗部分上会显示无限大符号 (∞)。

    注释

    创建一对一关系  两个公共字段(通常为主键字段和外键字段)都必须具有唯一索引。这意味着应将这些字段的“索引”属性设置为“是(不允许重复)”。如果两个字段都具有唯一索引,Access 将创建一对一关系。

    创建一对多关系  在关系“一方”的字段(通常为主键)必须具有唯一索引。这意味着应将此字段的“索引”属性设置为“是(不允许重复)”。“多方”的字段不应具有唯一索引。它可以有索引,但必须允许重复。这意味着应将此字段的“索引”属性设置为“否”或“是(允许重复)”。当一个字段具有唯一索引,而其他字段不具有唯一索引时,Access 将创建一对多关系。

    使用“字段列表”窗格创建表关系

    在 Office Access 2007 中,可以向数据表视图中打开的现有表添加字段,方法是将该字段从“字段列表”窗格拖动到该表中。“字段列表”窗格显示相关表中可用的字段以及其他表中可用的字段。从其他(无关联)的表中拖动一个字段并完成“查阅向导”时,会在“字段列表”窗格中的表和当前正在将字段拖至其中的表之间自动创建新的一对多关系。默认情况下,由 Access 创建的这种关系不实施参照完整性。要实施参照完整性,必须对该关系进行编辑。有关详细信息,请参阅更改表关系一节。

    在数据表视图中打开表

    单击“Office 按钮”

    ,然后单击“打开”。

    在“打开”对话框中,选择并打开数据库。

    在导航窗格中,右键单击要向其添加字段并创建关系的表,然后单击快捷菜单上的“数据表视图”。

    打开“字段列表”窗格

    在“数据表”选项卡上的“字段和列”组中,单击“添加现有字段”。

    随即会显示“字段列表”窗格。

    “字段列表”窗格显示数据库中的所有其他表,它们分成几类。在数据表视图中处理表时,Access 在“字段列表”窗格中显示以下两个类别中任一类别的字段:“相关表中的可用字段”和“其他表中的可用字段”。第一个类别列出了与当前正在处理的表有关系的所有表。第二个类别列出了与您的表没有关系的所有表。

    在“字段列表”窗格中,单击表名旁边的加号 (+) 时,您会看到该表中所有可用字段的列表。要向您的表中添加一个字段,请将所需字段从“字段列表”窗格拖动到数据表视图中的表中。

    添加字段并从“字段列表”窗格中创建关系

    在“数据表”选项卡上的“字段和列”组中,单击“添加现有字段”。

    随即会显示“字段列表”窗格。

    在“其他表中的可用字段”下,单击表名称旁边的加号 (+),以显示该表中的字段列表。

    将所需字段从“字段列表”窗格拖动到数据表视图中打开的表中。

    当插入行出现时,将该字段放到适当位置。

    将启动“查阅向导”。

    按照说明完成“查阅向导”。

    该字段显示在数据表视图中的表中。

    从其他(无关联)的表中拖动一个字段并完成“查阅向导”时,会在“字段列表”中的表和当前正在将字段拖至其中的表之间自动创建新的一对多关系。默认情况下,由 Access 创建的这种关系不实施参照完整性。要实施参照完整性,必须对该关系进行编辑。有关详细信息,请参阅更改表关系一节。

    删除表关系

    要删除表关系,必须在“关系”窗口中删除关系线。小心放置光标,以使其指向关系线,然后单击该线。选中关系线时,它会显示得较粗。在选中关系线的情况下,按 Delete。请注意,删除关系时,如果启用了参照完整性支持,则同时会删除对该关系的参照完整性支持。因此,Access 将不再自动禁止在关系的“多”侧创建孤立记录。

    单击“Office 按钮”

    ,然后单击“打开”。

    在“打开”对话框中,选择并打开数据库。

    在“数据库工具”选项卡上的“显示/隐藏”组中,单击“关系”。

    将显示“关系”窗口。

    如果您尚未定义过任何关系,这是您第一次打开“关系”窗口,则会出现“显示表”对话框。如果出现该对话框,请单击“关闭”。

    在“设计”选项卡上的“关系”组中,单击“所有关系”。

    将显示具有关系的所有表,同时显示关系线。

    单击要删除的关系的关系线。选中关系线时,它会显示得较粗。

    按 Delete 键。

    - 或 -

    单击右键,然后单击“删除”。

    Access 可能会显示消息“确实要从数据库中永久删除选中的关系吗?”。如果出现此确认消息,请单击“是”。

    注释  如果表关系中涉及的任何一个表正被其他人或进程使用,或处于打开的窗体等数据库对象中,您将无法删除关系。必须首先将使用这些表的所有已打开对象全部关闭,才能删除关系。

    更改表关系

    更该表关系的方法是在“关系”窗口中选择表关系,然后对其进行编辑。小心放置光标,以使其指向关系线,然后单击该线以将其选中。选中关系线时,它会显示得较粗。选中关系线后,双击该线,或者单击“设计”选项卡上“工具”组中的“编辑关系”。将显示“编辑关系”对话框。

    在“编辑关系”对话框中进行更改

    单击“Office 按钮”

    ,然后单击“打开”。

    在“打开”对话框中,选择并打开数据库。

    在“数据库工具”选项卡上的“显示/隐藏”组中,单击“关系”。

    将显示“关系”窗口。

    如果您尚未定义过任何关系,这是您第一次打开“关系”窗口,则会出现“显示表”对话框。如果出现该对话框,请单击“关闭”。

    在“设计”选项卡上的“关系”组中,单击“所有关系”。

    将显示具有关系的所有表,同时显示关系线。请注意,除非在“导航选项”对话框中选中“显示隐藏对象”,否则不会显示隐藏的表(在表的“属性”对话框中选中“隐藏”复选框的表)及其关系。

    有关“显示隐藏对象”选项的详细信息,请参阅导航窗格指南一文。

    单击要更改的关系的关系线。选中关系线时,它会显示得较粗。

    双击该关系线。

    - 或 -

    在“设计”选项卡上的“工具”组中,单击“编辑关系”。

    将显示“编辑关系”对话框。

    进行更改,然后单击“确定”。

    通过“编辑关系”对话框可以更改表关系。特别需要指出的是,您可以更改关系任意一侧的表或查询,或任意一侧的字段。还可以设置联接类型,或实施参照完整性,以及选择级联选项。有关联接类型以及如何设置联接类型的详细信息,请参阅设置联接类型一节。有关如何实施参照完整性以及选择级联选项的详细信息,请参阅实施参照完整性一节。

    设置联接类型

    定义表关系时,有关关系的事实可以为查询设计提供信息。例如,如果在两个表之间定义关系,然后创建一个使用这些表的查询,Access 将根据关系中指定的字段来自动选择默认匹配字段。可在查询中覆盖这些初始默认值,但该关系提供的值经过验证通常是正确的。在除了最简单的数据库之外的所有数据库中,由于匹配和从多个表中汇聚数据是经常要执行的操作,因此通过创建关系来设置默认值可以节省时间,并且非常有用。

    多表查询通过匹配公共字段中的值来组合多个表中的信息。执行匹配和组合的操作称为联接。例如,假设您要显示客户订单。可以创建一个查询,以使“客户”表和“订单”表通过“客户 ID”字段联接起来。查询结果中只包含找到对应匹配的行的客户信息和订单信息。

    可为每个关系指定的一个值是联接类型。联接类型通知 Access 要在查询结果中包括哪些记录。例如,再次考虑这样一个查询,它将“客户”表和“订单”表通过代表“客户 ID”的公共字段联接起来。使用默认联接类型(称为内部联接)时,查询只返回公共字段(也称为联接字段)相等的“客户”行和“订单”行。

    但是,假设您要包括所有客户(甚至包括尚未下任何订单的客户)。要实现此功能,必须将联接类型由内部联接更改为左外部联接。左外部联接将返回关系左侧表中的所有行,以及关系右侧表中的匹配行。右外部联接则返回右侧的所有行,以及左侧的匹配行。

    注释  在这种情况下,“左”和“右”指的是表在“编辑关系”对话框中而不是在“关系”窗口中的位置。

    应该先考虑最希望通过在此关系中联接表的查询获取的结果,然后再相应设置联接类型。

    设置联接类型

    在“编辑关系”对话框中,单击“联接类型”。

    将显示“联接属性”对话框。

    单击您的选择,然后单击“确定”。

    下表(使用“客户”和“订单”表)显示“联接属性”对话框中显示的三种选项、它们使用的联接类型以及为每个表包括所有行还是匹配行。

    选项关系联接左表右表

    1. 只包括两个表中的联接字段相同的行。

    内部联接

    匹配行

    匹配行

    2. 包括“客户”表中的所有记录以及“订单”表中联接字段相等的记录。

    左外部联接

    所有行

    匹配行

    3. 包括“订单”表中的所有记录以及“客户”表中联接字段相等的记录。

    右外部联接

    匹配行

    所有行

    当您选择选项 2 或选项 3 时,会在关系线上显示一个箭头。此箭头指向只显示匹配行的关系一侧。

    在“联接属性”对话框中进行更改

    单击“Office 按钮”

    ,然后单击“打开”。

    在“打开”对话框中,选择并打开数据库。

    在“数据库工具”选项卡上的“显示/隐藏”组中,单击“关系”。

    将显示“关系”窗口。

    如果您尚未定义过任何关系,这是您第一次打开“关系”窗口,则会出现“显示表”对话框。如果出现该对话框,请单击“关闭”。

    在“设计”选项卡上的“关系”组中,单击“所有关系”。

    将显示具有关系的所有表,同时显示关系线。请注意,除非在“导航选项”对话框中选中“显示隐藏对象”,否则不会显示隐藏的表(在表的“属性”对话框中选中“隐藏”复选框的表)及其关系。

    有关“显示隐藏对象”选项的详细信息,请参阅导航窗格指南一文。

    单击要更改的关系的关系线。选中关系线时,它会显示得较粗。

    双击该关系线。

    - 或 -

    在“设计”选项卡上的“工具”组中,单击“编辑关系”。

    将显示“编辑关系”对话框。

    单击“联接类型”

    在“联接属性”对话框中,单击一个选项,然后单击“确定”。

    对关系进行任何其他更改,然后单击“确定”。

    实施参照完整性

    使用参照完整性的目的是防止出现孤立记录并保持参照同步,以便不会有任何记录参照已存在的其他记录。实施参照完整性的方法是为表关系启用参照完整性。实施后,Access 将拒绝违反表关系参照完整性的任何操作。Access 拒绝更改参照目标的更新,还拒绝删除参照目标的删除。要使 Access 传播参照更新和删除,以便所有相关行都进行相应更改,请参阅设置级联选项一节。

    打开或关闭参照完整性

    单击“Office 按钮”

    ,然后单击“打开”。

    在“打开”对话框中,选择并打开数据库。

    在“数据库工具”选项卡上的“显示/隐藏”组中,单击“关系”。

    将显示“关系”窗口。

    如果您尚未定义过任何关系,这是您第一次打开“关系”窗口,则会出现“显示表”对话框。如果出现该对话框,请单击“关闭”。

    在“设计”选项卡上的“关系”组中,单击“所有关系”。

    将显示具有关系的所有表,同时显示关系线。请注意,除非在“导航选项”对话框中选中“显示隐藏对象”,否则不会显示隐藏的表(在表的“属性”对话框中选中“隐藏”复选框的表)及其关系。

    有关“显示隐藏对象”选项的详细信息,请参阅导航窗格指南一文。

    单击要更改的关系的关系线。选中关系线时,它会显示得较粗。

    双击该关系线。

    - 或 -

    在“设计”选项卡上的“工具”组中,单击“编辑关系”。

    将显示“编辑关系”对话框。

    选中“实施参照完整性”复选框。

    对关系进行任何其他更改,然后单击“确定”。

    实施了参照完整性之后,以下规则将适用:

    如果值在主表的主键字段中不存在,则不能在相关表的外键字段中输入该值,否则会创建孤立记录。

    如果某记录在相关表中有匹配记录,则不能从主表中删除它。例如,如果在“订单”表中有分配给某雇员的订单,则不能从“雇员”表中删除该雇员的记录。但通过选中“级联删除相关记录”复选框可以选择在一次操作中删除主记录及所有相关记录。

    如果更改主表中的主键值会创建孤立记录,则不能执行此操作。例如,如果在“订单明细”表中为某一订单指定了行项目,则不能更改“订单”表中该订单的编号。但通过选中“级联更新相关字段”复选框可以选择在一次操作中更新主记录及所有相关记录。

    注释

    如果在启用参照完整性时遇到困难,请注意需要满足以下条件才能实施参照完整性:

    来自于主表的公共字段必须为主键或具有唯一索引。

    公共字段必须具有相同的数据类型。例外的是自动编号字段可与 FieldSize属性设置为长整型的数字字段相关。

    这两个表必须存在于同一个 Access 数据库中。不能对链接表实施参照完整性。但是,如果来源表为 Access 格式,则可打开存储这些表的数据库,并在该数据库中启用参照完整性。

    设置级联选项

    您可能会遇到这样的情况,即需要更改关系一侧的值。在这种情况下,您需要 Access 在一次操作中自动更新所有受影响的行。这样,便可进行完整更新,以便数据库不会处于不一致状态(即更新某些行,不更新其他行)。Access 通过支持“级联更新相关字段”选项避免了这一问题。如果您实施了参照完整性并选择“级联更新相关字段”选项,在您更新主键时,Access 将自动更新参照主键的所有字段。

    您可能还会需要删除一行及所有相关字段,例如,某个运货商记录及其所有相关订单。因此,Access 支持“级联删除相关记录”选项。如果实施了参照完整性并选择“级联删除相关记录”选项,则当您删除包含主键的记录时,Access 会自动删除参照该主键的所有记录。

    打开或关闭级联更新和/或级联删除

    单击“Office 按钮”

    ,然后单击“打开”。

    在“打开”对话框中,选择并打开数据库。

    在“数据库工具”选项卡上的“显示/隐藏”组中,单击“关系”。

    将显示“关系”窗口。

    如果您尚未定义过任何关系,这是您第一次打开“关系”窗口,则会出现“显示表”对话框。如果出现该对话框,请单击“关闭”。

    在“设计”选项卡上的“关系”组中,单击“所有关系”。

    将显示具有关系的所有表,同时显示关系线。请注意,除非在“导航选项”对话框中选中“显示隐藏对象”,否则不会显示隐藏的表(在表的“属性”对话框中选中“隐藏”复选框的表)及其关系。

    有关“显示隐藏对象”选项的详细信息,请参阅导航窗格指南。

    单击要更改的关系的关系线。选中关系线时,它会显示得较粗。

    双击该关系线。

    - 或 -

    在“设计”选项卡上的“工具”组中,单击“编辑关系”。

    将显示“编辑关系”对话框。

    选中“实施参照完整性”复选框。

    选中“级联更新相关字段”或“级联删除相关字段”复选框,或同时选中两者。

    对关系进行任何其他更改,然后单击“确定”。

    注释  如果主键是“自动编号”字段,则选中“级联更新相关字段”复选框将不起作用,因为您无法更改“自动编号”字段中的值。

    转自[OMicrosoftOffice Online]

    仅供本人学习之用

    展开全文
  • 展开全部access表之间e69da5e6ba9062616964757a686964616f31333431363561共有三种联系:一对一、一对多、多对多。示例:一对一:一个商店只能有一个店主,一个店主只能管理一个商店。一对多:一个商店能有多个店主,...

    展开全部

    access表之间e69da5e6ba9062616964757a686964616f31333431363561共有三种联系:一对一、一对多、多对多。

    示例:

    一对一:一个商店只能有一个店主,一个店主只能管理一个商店。

    一对多:一个商店能有多个店主,一个店主只能管理一个商店。

    多对多:一个商店能有多个店主,一个店主能管理多个商店。

    建立表之间的联系需要使用使用SQL语句。示例:

    1、拥有表spj和表s。spj中拥有属性sno(主码),表s中拥有属性sno(主码)。spj与s建立一对一联系。

    SQL语句:FOREIGN KEY (sno) REFERENCES s(sno);

    d804455e46caf1d7c04d4e8a717bc404.png

    2、拥有表spj、表s。spj中拥有属性sno(主码),表s中拥有属性sno(非主码,非唯一约束)。spj与s建立一对多联系。

    SQL语句:FOREIGN KEY (sno) REFERENCES s(sno);

    27afca7c6fdb573b07b50c900f5aee7b.png

    3、拥有表spj、表s。spj中拥有属性sno(非主码,非唯一约束),表s中拥有属性sno(非主码,非唯一约束)。spj与s建立多对多联系。

    SQL语句:FOREIGN KEY (sno) REFERENCES s(sno);

    11ef74e5e199aa6640604a4a4ba548f7.png

    扩展资料:

    表之间的联系:

    表之间的联系通过参考关系进行建立。参考关系则通过属性之间的关系进行建立。在进行ER图设计时,如果存在某一属性,存在于A实体中,且存在于B实体中。根据属性在A、B实体中的性质,去判断两个表的联系。

    建立联系的其他SQL语句:

    ADD CONSTRAINT fk_PerOrders

    FOREIGN KEY (Id_P)

    REFERENCES Persons(Id_P)

    展开全文
  • 摘 要:我们为什么要使用Access,而不用Excel,因为数据库可以大幅度地消除冗余数据,其方法就是将数据拆分到不同的表中,再通过“关系”建立表间联系。那么如何确定表间关系呢。之间的关系是通过主键和外键...

    摘 要:我们为什么要使用Access,而不用Excel,因为数据库可以大幅度地消除冗余数据,其方法就是将数据拆分到不同的表中,再通过“关系”建立表间的联系。那么如何确定表间的关系呢。表之间的关系是通过主键和外键实现的。主键所在的表示主表,使用外键作为主键的表是子表。为了看表数据显得直观易懂,有时就要插入子数据表功能来完成。下面以销售订单表,销售订单明细表举例。

    正 文:

    效果如下图

    方法:先建立两表关系,然后再插入子数据表,选择链接主子字段就完成了。如下图

    关系创建完成之后,就可以设置主子数据表了,首先打开你的主表,然后在“开始”--“记录”--“其他”--“子数据表”--“子数据表(S)...”,然后选择你对应当子表,如下图操作:

    选择“子数据表(S)...”后会弹出“插入子数据表”视图,如下图

    要点击主表中每行的记录前面的“+”按钮,则可以展开或折叠子表的记录,如下图:

    要删除子数据表的设置,见下图:

    删除关系。在选中的关系上(就是线上)右击,选择“删除”按钮,则可以删除这个关系。如下图:

    2003版本菜单位置见下图

    ================================================================================

    特别说明:

    在创建关系后一般会显示关系类型,有一对多,一对一,未定等,你可以右键点击每个线选择“编辑关系”,如下图:

       

    在主键和外键上建立关系,会显示:一对一或一对多的关系,而且必须勾选“实施参照完整性”才会在图上显示“1----∞”的图标;

    在两个表的非主键上建立关系,则会显示未定。你自己可以试试这几种关系。

    展开全文
  • 我们知道建筑一栋房子之前,首先必须要有一块地皮,然后才能地皮上按照设计好的图纸一层层的搭建房子,最后才...在Access中,所谓的建房材料就是数据库的主要对象,它包括“”、“查询”、“窗体”、“报表...
  • Access数据库与表在 组态王使用实训二 Access数据库和;主要内容:;1.1 创建数据库 ;A.创建空数据库;操作要点:;B.使用本机或者网络上的模板创建完整的数据库;操作要点:;碟龚辜际糠抱烟售坠囱屋栖匿尚徽熏钩压...
  • Access入门教程

    2018-10-16 16:23:55
    表间关系的修改与打印 37 五、修改数据库结构 38 1. 对表的操作 38 2. 对字段的操作 40 3. 数据的有效性 41 4. 对数据 的行与列的操作 42 六、使用与编辑数据 43 1. 更改数据的显示方式 43 2. 修改数据表中的...
  • access试题

    千次阅读 2020-12-30 20:07:21
    3.在Access数据库表中表中的每一行称为一个__记录_____,表中的每一列称为一个字段。4.数据库管理系统常见的数据模型有层次模型、网状模型和关系模型3种。5.在关系模型,把数据看成一个二维,每一个二...
  • 关系就是之间的联系在Access中,是的公共字段创建的联系性。关系通过匹配键字段的数据来完成,键字段通常是两个表中使用相同名称的字段
  • ACCESS数据表关系重置

    2019-02-22 14:17:56
    Function ClearRelations() Set Relations = CurrentDb().Relations Do While Relations.Count > 0 Relations.Delete Relations(0).Name Loop End Function
  • 【导语】2019年计算机二级考试备考正在进行,为了方便考生及时有效的备考,那么,无忧考网为您精心整理了2019年计算机二级ACCESS考试知识点:关系数据模型,欢迎大家的关注。如想获取更多计算机二级考试的备考资料...
  • 1,对象和组:access数据库由数据库对象和组两部分组成,其中对象分为,查询,窗体,报表,宏,模块,支持ODBC标准的SQL数据库的数据。 (:数据库的核心与基础 查询:数据库设计目的的体现 窗体:数据库与用户...
  • Access数据库—子 的建立

    万次阅读 2014-06-24 19:47:54
    Access数据库的“主-子”,这其实是数据关系的问题。
  • 实验目的: (1).掌握Access数据库的创建和打开 (2).掌握Access中数据表的设计和创建和表的完整性约束 (3).掌握Access中查询设计和创建 ...3.使用Access中查询设计器在表上查询(人机会话查询和手工录入查询命令)。 需
  • 在Access中数据视图下显示时,记录行左侧标记的黑色三角形表示该记录是( C )。A.首记录B.末尾记录C.当前记录D.新记录2.在Access中,对数据的结构进行操作,应( B)视图下进行。A.文件夹B.设计C....
  • 在Access中数据视图下显示时,记录行左侧标记的黑色三角形表示该记录是( C )。A.首记录 B.末尾记录C.当前记录 D.新记录2.在Access中,对数据的结构进行操作,应( B )视图下进行。A.文件夹...
  • SQL有四种基本的DML操作:INSERT,SELECT,UPDATE和DELETE。...例如,要将雇员John Smith的记录插入到本例的表中,可以使用如下语句:INSERT INTO EMPLOYEES VALUES('Smith','John','1980-06-10','Los Angle...
  • ACCess考试题

    2020-12-30 20:07:20
    ACCess考试题1....3.查询用于一个或多个内查找某些特定的_______,完成数据的检索、定位和计算的功能,供用户查看。4._______是数据库用户和应用程序之间的主要界面,用户对数据库的任何操作都可以通...
  • #资源达人分享计划##源码类#本资源包含《校园...设计说明PDF文档包含:ER图,关系模式,数据逻辑结构设计(数据字典),数据库表间关系,查询、窗体、宏、模块的设计视图和运行效果截图说明,各板块均附VBA代码源码。
  • 实验一 数据库及的操作 实验类型 验证性 实验课时 6 学时 指导教师 时 2013 年 月 日 课 次第 节 教学周次第 周 实验分室 实验台号 实验员 一实验目的 1掌握数据库的创建及其它简单操作 2熟练掌握数据建立...
  • 实验一 数据库及的操作 实验类型 验证性 实验课时 6 学时 指导教师 时 2013 年 月 日 课 次第 节 教学周次第 周 实验分室 实验台号 实 验 员 一实验目的 1掌握数据库的创建及其它简单操作 2 熟练掌握数据建立...
  • access各对象之间的关系

    千次阅读 2020-02-27 14:58:21
    access有六个对象,分别是: (Table) ——是数据库的基本对象,是创建其他5种对象的基础。由记录组成,记录由字段组成,用来存储数据库的数据,故又称数据。 查询(Query)——查询可以按索引快速查找到...
  • 数据库原理及应用主讲教师许燕青闽南理工学院实践教学中心计算机教研室实 验 目 录实验一 Access数据库及数据的建立实验二 创建表间关系管理实验三 数据库数据的操作实验四 查询的创建和使用实验五 窗体的...
  • 原因可能有:b外键字段数据 与 a主键字段数据不符。...红色圈画出b 有字段值“ab” 与“aa”不符,  当建立关系时候就会出现下的错误 将“ab”改成“aa”,先关闭数据,重新编辑关系即可
  • 微软的 Access 包含 Data Definition Language (DDL) 来建立删除以及关系,当然了,这也可以用 DAO 来解决。 以下就是示例: 用 DDL 的 Create Table 建立一个 Table1 ,主键是自动编号字段,另一个字段...
  • 下面关于数据库之间关联关系说法错误的是(B) A.一对一关联关系可以任意一方引入对方主键作为外键。B.一对多关联关系在“一”的一方,添加“多”的一方的主键作为外键。 C.多对多关联关系会产生中间关系表...
  • 实验二 创建表间关系管理 ? 实验三 数据库数据的操作 ? 实验四 查询的创建和使用 ? 实验五 窗体的创建和使用 ? 实验六 报表的创建和使用 ? 实验七 数据访问页的创建和使用 ? 实验八 宏的创建和使用 ? 综合...
  • 2016计算机二级《Access》知识点Access数据库程序设计是计算机二级考试科目之一,同学们复习时要熟悉考试的知识点,有针对性地进行备考。下面百分网小编为大家搜索整理了关于二级《Access》知识点,欢迎参考练习,...
  • access中在两个中分别根据字段“年”、“月”新建一个计算字段“开始日期”,然后在tableau中根据组织编码+开始日期建立表间连接,结果出现错误。   ACCESS中将“年”、“月”两字段,新建字段,数据类型“计算...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 76,414
精华内容 30,565
关键字:

在access中表间的关系