codecamp

MS Access多对多关系

在本章中,让我们了解多对多关系。要表示多对多关系,您必须创建第三个表(通常称为联结表),将多对多关系分解为两个一对多关系。为此,我们还需要添加一个联结表。让我们先添加另一个表tblAuthers

TblAuthers

现在让我们创建一个多对多关系。我们有不止一个作者在不止一个项目上工作,反之亦然。正如你所知,我们在tblProjects中有一个作者字段,所以,我们为它创建了一个表。我们不再需要这个字段了。

TblAuthers Description

选择作者字段,然后按删除按钮,您将看到以下消息。

Dialog Box

单击“Yes”。我们现在必须创建一个联结表。此联结表中有两个外键,如下面的屏幕截图所示。

Foreign Keys

这些外键字段将是链接在一起的两个表中的主键 - tblAutherstblProjects

要在Access中创建复合键,请选择这两个字段,然后从表工具设计选项卡中,直接单击该主键,即可标记这两个字段,而不会标记这两个字段。

Table Tools Design

这两个字段的组合是表的唯一标识符。现在让我们将此表保存为tblAuthorJunction

将多对多关系放在一起的最后一步是返回到该关系视图,并通过单击显示表创建这些关系。

选择上面三个高亮显示的表,然后单击添加按钮,然后关闭此对话框。

Highlighted Tables

单击并拖动来自tblAuthorsAuthorID字段,并将其放在tblAuthorJunctionAuthorID的顶部。

TblAuthers Junction

您创建的关系是Access将被视为一对多关系的关系。我们还将实施参照完整性。现在让我们打开Ca​​scade Update并点击Create按钮,如上面的截图所示。

Cascade

让我们现在保持ProjectID,将它拖放到ProjectID顶部的tblAuthorJunction

Referential Key

我们将强制引用完整性级联更新相关字段

Cascade Update

以下是多对多的关系。

Many to Many
MS Access一对多关系
MS Access通配符
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }