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);
在本章中,让我们了解多对多关系。要表示多对多关系,您必须创建第三个表(通常称为联结表),将多对多关系分解为两个一对多关系。为此,我们还需要添加一个联结表。让我们先添加另一个表tblAuthers。
现在,让我们创建一个多对多关系。我们有不止一个作者在不止一个项目上工作,反之亦然。正如你所知,我们在tblProjects中有一个作者字段,所以,我们为它创建了一个表。我们不再需要这个字段了。
选择作者字段,然后按删除按钮,您将看到以下消息。
单击“Yes”。我们现在必须创建一个联结表。此联结表中有两个外键,如下面的屏幕截图所示。
这些外键字段将是链接在一起的两个表中的主键 - tblAuthers和tblProjects。
要在Access中创建复合键,请选择这两个字段,然后从表工具设计选项卡中,直接单击该主键,即可标记这两个字段,而不会标记这两个字段。
这两个字段的组合是表的唯一标识符。现在让我们将此表保存为tblAuthorJunction。
将多对多关系放在一起的最后一步是返回到该关系视图,并通过单击显示表创建这些关系。
选择上面三个高亮显示的表,然后单击添加按钮,然后关闭此对话框。
单击并拖动来自tblAuthors的AuthorID字段,并将其放在tblAuthorJunction表AuthorID的顶部。
您创建的关系是Access将被视为一对多关系的关系。我们还将实施参照完整性。现在让我们打开Cascade Update并点击Create按钮,如上面的截图所示。
让我们现在保持ProjectID,将它拖放到ProjectID顶部的tblAuthorJunction。
我们将强制引用完整性和级联更新相关字段。
以下是多对多的关系。
以下资源包含有关MS Access的其他信息。请使用它们获得更多的深入的知识。MS Access 相关链接 MS Access 维基百科 -MS Access维...
在之前的讨论和示例中,我们检查了从单个表中检索,或从多个来源检索多个值。 大多数现实世界的数据操作要复杂得多,需要从多个...
索引是用于加速记录检索的工具。 索引为索引列中的每个值生成一个条目。 有四种类型的索引 -Primary(一条记录表示所有记录)Uni...
这是一个redis快速参考备忘单,其中列出了 redis 命令的示例 开始入门启动Redis$ redis-server连接到 redis(Redis CLI 客户端)...
OracleSelect语句的作用是在表单中查询数据,本文将为大家带来Select语句的详细用法介绍。SELECT语句使用方法在Oracle中,...
在Oracle中,使用Dump()函数可以返回一个varchar2值,这个值包含了数据类型代码、字节长度和表达式的内部表示形式。本文就为大家...
经过前几章的介绍,我们已经了解了什么是Oracle数据库以及其安装方法,那么本章节,将和大家说说如何使用SQL*plus和SQLDeveloper...