您的位置:58编程 > access如何解决多对多关系 MS Access多对多关系

access如何解决多对多关系 MS Access多对多关系

2023-03-23 11:33 MSAccess教程

access如何解决多对多关系 MS Access多对多关系

access如何解决多对多关系

Access 是一款功能强大的数据库管理系统,它可以帮助用户解决多对多关系的问题。在 Access 中,用户可以使用“多对多关系”来表达两个表之间的关系。

要实现多对多关系,首先需要创建一个新的表,该表将包含两个表之间的关联字段。然后,在这两个表中分别添加一个字段,该字段将作为新表中的外键。最后,在 Access 中创建一个“多对多”关系,将这三张表连接起来。

CREATE TABLE Table1 (
    ID INT PRIMARY KEY, 
    Name VARCHAR(50) NOT NULL, 
    Table2_ID INT NOT NULL, 
    FOREIGN KEY (Table2_ID) REFERENCES Table2(ID) 
); 

 CREATE TABLE Table2 ( 
    ID INT PRIMARY KEY, 
    Name VARCHAR(50) NOT NULL, 
    Table1_ID INT NOT NULL, 
    FOREIGN KEY (Table1_ID) REFERENCES Table1(ID)  
);  

 CREATE TABLE Table3 (  
    ID INT PRIMARY KEY,  
    Table1_ID INT NOT NULL,  
    Table2_ID INT NOT NULL,  

     FOREIGN KEY (Table1_ID) REFERENCES Table1(ID),  

     FOREIGN KEY (Table2_ID) REFERENCES Table2(ID)  

 );  

 ALTER TABLE Table3 ADD CONSTRAINT UniqueConstraint UNIQUE (Table1_Id,Table2_Id);  

 ALTER TABLE Table3 ADD CONSTRAINT PKConstraint PRIMARY KEY (Id);  

 ALTER TABLE Table3 ADD CONSTRAINT FKConstraint FOREIGN KEY (Table1_Id) REFERENCES table1(Id);  

 ALTER TABLE table3 ADD CONSTRAINT FKConstraint FOREIGN KEY (Table2_Id) REFERENCES table2(Id);  

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
阅读全文
以上是58编程为你收集整理的access如何解决多对多关系 MS Access多对多关系全部内容。
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。
相关文章
© 2024 58编程 58biancheng.com 版权所有 联系我们
桂ICP备12005667号-32 Powered by CMS