问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

ACCESS中表间建立"关系"有什么好处?

发布网友 发布时间:2022-04-29 05:01

我来回答

2个回答

热心网友 时间:2022-04-12 14:22

可以在数据库关系图中的表间创建关系以显示某个表中的列如何链接到另一表中的列。

在关系数据库中,关系能防止冗余的数据。例如,如果正在设计一个数据库来跟踪有关书的信息,而每本书的信息(如书名、出版日期和出版商)都保存在一个名为 titles 的表中。同时还有一些想保存的有关出版商的信息,例如出版商的电话号码、地址和邮政编码。如果将所有这些信息都保存在 titles 表中,则对于某个出版商出版的每本书,出版商的电话号码将是重复的。

一个更好的解决方案是,单独在一个名为 publishers 的表中只保存一次出版商信息。然后在 titles 表中设置指针,以引用 publishers 表中的项。

若要确保数据同步,可以在 titles 表和 publishers 表之间强制引用完整性。引用完整性关系能确保某个表中的信息与另一个表中的信息相匹配。例如,titles 表中的每个书名必须和 publishers 表的特定出版商相关联。不能在数据库中添加数据库中不存在的出版商的书名。

为更好地理解表关系,请参见:

表关系类型

引用完整性概述
表关系类型
关系是通过匹配键列中的数据而工作的,而键列通常是两个表中具有相同名称的列。在大多数情况下,关系将一个表中为每个行提供唯一标识符的主键与另一个表中外键内的项相匹配。例如,通过在 titles 表的 title_id 列(主键)和 sales 表的 title_id 列(外键)之间创建一个关系,可以使销售额与特定的销售书名相关联。

表与表之间存在三种类型的关系。所创建的关系类型取决于相关联的列是如何定义的。

一对多关系

多对多关系

一对一关系
一对多关系
一对多关系是最常见的关系类型。在这种关系类型中,表 A 中的行可以在表 B 中有许多匹配行,但是表 B 中的行只能在表 A 中有一个匹配行。例如,publishers 表和 titles 表是一对多的关系:每一个出版商可出版许多书,但每一本书只能有一个出版商。

如果在相关列中只有一列是主键或具有唯一约束,则创建的是一对多关系。

一对多关系中的主键方由一个键 符号表示。关系中的外键方由一个无穷大 符号表示。

多对多关系
在多对多关系中,表 A 中的一行可与表 B 中的多行相匹配,反之亦然。通过定义称为连接表的第三方表创建这样的关系,该连接表的主键包括表 A 和表 B 中的外键。例如,authors 表和 titles 表是多对多关系,该关系通过从这些表中的每个表与 titleauthors 表的一对多关系定义。titleauthors 表的主键由 au_id 列(authors 表的主键)和 title_id 列(titles 表的主键)组成。

一对一关系
在一对一关系中,表 A 中的一行最多只能与表 B 中的一行相匹配,反之亦然。如果两个相关列都是主键或具有唯一约束,则创建的是一对一关系。

这种关系不常见,因为这种方式的大部分相关信息都在一个表中。使用一对一关系可以是为了:

分割一个含有许多列的表。

出于安全考虑而隔离表的某一部分。

存储可以很容易删除的临时数据,只需删除表即可删除这些数据。

存储只应用于主表子集的信息。
一对一关系的主键方由键 符号表示。外键方也由键 符号表示。

引用完整性概述
引用完整性是一种规则系统,这些规则可确保相关表中各行间关系的有效性,并确保不会意外删除或更改相关的数据。

在强制引用完整性时必须遵循以下规则:

如果在相关表的主键中不存在某个值,则不能在相关表的外键列中输入该值。但是,可以在外键列中输入空值。例如,在 employee 表中没有包括某职员,则不能指明分配给该职员的工作,但是可在 employee 表的 job_id 列输入空值来指明没有给该职员分配工作。

如果在相关表中存在与某行匹配的行,则不能从主表中删除该行。例如,如果在 employee 表中给多个职员分配了由 jobs 表中某行所代表的工作时,则不能删除该行。

当主表的某行有相关行时,则不能更改主键值。例如,如果将 jobs 表中的一项工作分配给某职员,则不能从 employee 表中删除该职员。
当满足下述所有条件时,可以设置引用完整性:

主表中相匹配的列是主键或具有唯一约束 。

相关列具有相同的数据类型和长度。

两个表属于同一个数据库。
数据库关系图中的已强制关系和未强制关系
在数据库关系图中创建关系线将在相关表上创建外键约束,从而自动强制引用完整性。在数据库关系图中,已强制关系用实线表示。例如:

在关系图中,未强制关系用虚线表示,这种关系的外键约束被禁用。例如:

根据数据库的功能,对于某些情况(例如在 INSERT 和 UPDATE 事务处理过程中)可设置选项以禁用外键约束。

热心网友 时间:2022-04-12 15:57

建立表间关系主要是为了方便连接两个表或多个表,以便一次能查找到多个相关数据。
为什么将多个数据置于多个不同的表中呢?一是为了减少数据冗余,二是为了保证数据的完整和正确。
将数据分割成多个表的依据是什么呢?主要是数据库的第一(1NF)、第二(2NF)、第三(3NF)和BC范式(BCNF)。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
这种情况需要准备什么样的证据才能保证维权成功,关于个人知识产权方面... 侵犯著作权罪成立的条件是什么 网站被抄袭,怎么办?官网网页内容抄袭引发的法律问题 版权申请哪家性价比高? 著作权侵权损害如何赔偿 瓷砖划痕怎么处理方法 地板砖划痕怎么去除十种方法 关于梦幻西游转区的一些问题。懂的进。 茶叶泡水发苦的原因茶叶泡水发苦是什么原因 ...那又怎么样?从化学角度讲不也是那种分子起的作 得力订书机0371怎么安装订书钉- 问一问 access中表的关系: 在ACCESS 2007中,为什么要建立表间关系?表之间有哪几种关系? 糖醋小黄鱼的做法,糖醋小黄鱼怎么做好吃,糖醋 糖醋熘黄鱼怎么做? 询问糖醋小黄鱼的做法 怎么做油炸糖醋小黄鱼 糖醋小黄鱼怎么做如何做好吃 小黄鱼怎么做好吃,糖醋小黄鱼的家常做法 糖醋小黄鱼的做法 OPPO手机不显示本机号码 怎么隐藏号码。我手机信号起oppoa59 有没有像 越狱 和 超市特工 一样好看的美剧? OPPO手机怎么隐藏本机号 请网友推介10部最好看的美剧! 手一直抖是什么原因? oppo手机怎么隐藏自己的手机号、 关于美剧,特工之类的。推荐推荐,附带简介最好! 年轻人手总是抖是什么原因造成的? 最近看完了超市特工,觉得狠不错 哪个牌子的订书钉好 得力0314订书机弹簧软,推进不了订书钉怎么办? 晨光12号订书器用多少号的订书钉 各位大神,请问酱香白酒有微信交流群吗 求一个关于葡萄酒爱好类的微信群或者QQ群? 谁知道酒水窜货交流群 推荐一下酒商 酒业的微信群 更新的百度网盘订阅的人在哪里找? 什邡喝酒交友群的是? 有没有白酒(烟酒)行业的交流群或者其他的在线交流地址 谢谢 百度云盘里的订阅怎么没有了,以前加了30几个,找不到订阅的账号怎么回事 我建了一个微信交流群,全国各地辅警都有,有要进的吗 微信扫描酒水知价格 银行招聘人员,是以什么形式招收的? 百度云盘更新后看不见原来订阅的人 微信交流群分享生活乐趣,工作经验,有什么建议? 听说食材品牌观察有专门的微信开白交流群,不知道怎样加入? 怎么加本地的微信车友交流群- 问一问 内部招募的主要方法? 做梦梦到和死去的父亲让我给他剪指甲然后又拿了六块饼干一边吃一边喂我吃是什么意思?