设为首页 - 加入收藏
您的当前位置:主页 > 数据库 > ACCESS > 基础教程 > 正文

ACCESS数据库基础(八)定义表之间的关系方法

来源:网络收集 点击数: 时间:2018-01-31
 
“关系”简介

  在Access数据库中,不同表中的数据之间都存在1种关系,这类关系将数据库里各张表中的每条数据记载都和数据库中唯一的主题相联系,使得对1个数据的操作都成为数据库的全部操作,正所谓“牵1发而动全身”。

  就拿上几课建立的表来讲吧,“客户信息表”中的“公司称号”和“定单信息表”中的“定货单位”所包括的值有很多是相反的。由于签了定单的“定货单位”1定曾是公司的客户了,这些客户的称号也被记载在“客户信息表”的“公司称号”字段中。当我们已知1个客户的称号时,既可以经过“客户信息表”知道它的“客户信息”,也能够经过“定单信息表”理解它所签署的“定单信息”,所以说“公司称号”作为纽带将“客户材料表”和“定单信息表”中的相应字段信息衔接在了1同,为了把数据库中表之间的这类数据关系表现出来,Access提供1种建立表与表之间“关系”的办法。用这类办法建立了关系的数据只需求经过1个主题就能够调出来应用,10分方便。

  当我们在“客户信息表”和“定单信息表”中建立这样的关系当前,只需求看看“客户信息表”,在不添加表内容的状态下,就能够看到1切客户的信息及其1切“定单”的状态,使这些数据了如指掌。

 

ACCESS数据库基础(八)定义表之间的关系方法

 

 

表之间的3种关系

  在建立表之间的关系前,我们还是要提1下“关系”的3品种型“1对1”、“1对多”和“多对多”。在Access中,可以在两个表之间直接建立“1对1”和“1对多”关系,而“多对多”关系则要经过“1对多”关系来完成。我们辨别来讲说这3种“关系”。

  首先是“1对1”关系,比方上面的两个表:某学校先生月副食补助:

ACCESS数据库基础(八)定义表之间的关系方法

和某学校先生月助学金:

ACCESS数据库基础(八)定义表之间的关系方法

  我们降这两个表中的数据停止汇总生成新的表:“某学校先生月实发金额汇总”:

ACCESS数据库基础(八)定义表之间的关系方法

  由于姓名字段能够会显现反复的状态,所以只要经过不能够显现反复的值的字段“学号”,才华将这两个表唯一地联系起来,保证“副食补贴”和“助学金”不至于毛病地发放,这样“月副食补助表”中的1个学号就只对应“月助学金”中的1个学号,相对不会弄错。这样两个表的关系很分明就是“1对1”了。

  上面来看看“1对多”关系。在“客户信息表”和“定单信息表”中,“定单信息表”中的“定货单位”字段和“客户信息表”中的“公司称号”字段中的值都是1样的。其实只要那些定货了的单位才是公司的客户,所以这两个表之间是靠客户公司的名字联系在1同的。但是每一个客户都可以订很多份定单。所以在“客户信息表”中的1个“公司称号”就可以对应“定单信息表”中的几份“定单”。这样的关系就是“1对多”。

  最初使“多对多”关系,我们知道,书店中有很多书,同时1种书也能够在很多书店里找到。这时候“书”和“书店”的关系就是“多对多”关系了。

 

怎样在表之间建立关系

  如今我们就开端在表之间建立“关系”,首先单击“工具”菜单下的“关系”命令,弹出“关系”对话框,下面还有1个“显示表”对话框以下图,经过“显示表”对话框可以把需求建立关系的“表”或“查询”加到“关系”对话框中去。

ACCESS数据库基础(八)定义表之间的关系方法

  将两个表“客户信息表”和“定单信息表”都选中,单击“添加”按钮把它们都添加到“关系”对话框上,单击“封闭”按钮把“显示表”对话框封闭。当前再需求翻开它时,只需在“关系”对话框上单击鼠标右键,选择“显示表”命令就能够了。

ACCESS数据库基础(八)定义表之间的关系方法

  在“关系”对话框中只要“客户信息表”和“定单信息表”的字段列表。怎样建立关系呢?其实表都是由字段构成的,表之间的关系也由字段来联系。让不同表中的两个字段建立联系当前,表中的其他字段自然也就能够经过这两个字段之间的关系联系在1同了。也就是说在“客户信息表”中的“公司称号”和“定单信息表”中的“定货单位”两个字段之间建立关系就能够了。先在“客户信息表”字段列表当选中“公司称号”项,然后按住鼠标左键并拖动鼠标到“定单信息表”中的“定货单位”项上,松开鼠标左键,这时候在屏幕上显现“编辑关系”对话框。

ACCESS数据库基础(八)定义表之间的关系方法

  这个对话框可以协助我们编辑所建立的关系,经过左面的列表框可以改动建立关系的两个字段的来源。可以单击“新建...”按钮创建新的关系,也许单击“联接类型”为联接选择1种联接类型。单击“联接类型”按钮,在弹出的新对话框当选择第3项,然后单击“肯定”按钮就能够了。回到“编辑关系”对话框后单击“创建”按钮。

ACCESS数据库基础(八)定义表之间的关系方法

  如今在两个列表框间就显现了1条“折线”,将“定货公司”和“公司称号”两个选项联接在1同。封闭“关系”对话框,并保管对“关系”计划的修正。在表间建立关系就是这样的。

 

“关系”与“子数据表”

  翻开“客户信息表”,你会发现这个表中添加了1些新的表,它们是“客户信息表”的子表,也就是“定单信息表”。

ACCESS数据库基础(八)定义表之间的关系方法

  在这类“1对多”的状态下,完全可以经过“客户信息表”中的“公司称号”信息将这两个表的内容都串起来。在主表中的每个记载上面都会带着1个乃至几个子表中的“定单”记载。具有“1对1”关系的两个表之间互为对方的“子表”。

  通常在建立表之间的关系当前,Access会自动在主表中拔出子表。但这些子表1开端都是不显示出来的。在Access中,让子表显示出来叫做“展开”子数据表,让子表隐藏叫做将子数据表“折叠”。展开的时分方便查阅定单信息,而折叠起来当前有可以比拟方便的管理“客户信息表”。

  要“展开”子数据表,只需用鼠标单击主表第1个字段后面1格,对应记载的子记载就“展开”了,并且格中的小方框内“加号”变成了“减号”。假设再单击1次,就能够把这1格的子记载“折叠”起来了,小方框内的“减号”也变回“加号”。假设主表很大的话,这样1个1个地“展开”和“折叠”子数据表就显得太费事了,Access为我们提供了1种操作方式,它可以1下子“展开”或“折叠”以后数据表的1切子数据表。翻开1个带有子数据表的表时,在“格式”菜单“子数据表”项的子菜单中,有3个命令“全部展开”、“全部折叠”和“删除”,“全部展开”命令可以将主表中的1切子数据表都“展开”,“全部折叠”命令可以将主表中的1切子数据表都“折叠”起来。不需求在主表中显示子数据表的这类方式来反应两个表之间的“关系”时,就能够应用“删除”命令来把这类用子数据表显示的办法删除。但这时候两个表的“关系”并没有被删除。假设想恢复在主表上显示“子数据表”的方式,可以先翻开主表,比方“客户信息表”,单击“拔出”菜单下的“子数据表”命令,弹出“拔出子数据表”对话框以下图:

ACCESS数据库基础(八)定义表之间的关系方法

  在列表框当选取“表”----“定单信息表”,然后在“链接子字段”组合框当选取“定货单位”字段,并在“链接主字段”组合框当选取“公司称号”字段,单击“肯定”按钮就能够在主数据表“客户信息表”中重新拔出子数据表“定单信息表”了。必须要留意的是在任何1个数据表中拔出子数据表都需求在两个表之间建立“关系”,假设这两个表的“主链接字段”和“子链接字段”之间还没有建立联合的话,在单击“肯定”按钮拔出“子数据表”的时分就会询问能否要在这两个表之间建立相应的“关系”,只要建立“关系”当前,才华完成“拔出子数据表”进程。用这样的方式在表之间建立“关系”不像在“关系”对话框中建立的“关系”那样直观。所以我们提倡在关系对话框中建立好表与表之间的“关系”,由Access自动地创建子数据表。

  终了语:这1课经过“客户信息表”和“定单信息表”将表与表之间的“关系”展现在我们眼前,假设你曾掌握了表的操作,那就开端看下1课;假设你还没有完全掌握“表”,就将这4课再好美观1看,由于表是数据库中最重要的1个局部了。

 

实施参照完好性

  在我们建立表之间的关系时,窗口上有1个复选框“实施参照完好性”,单击它以后,“级联更新相干字段”和“级联删除相干字段”两个复选框就能够用了。

  假设选定“级联更新相干字段”复选框,则当更新父行(1对1、1对多关系中“左”表中的相干行)时,Access就会自动更新子行(1对1、1对多关系中的“右”表中的相干行),选定“级联删除相干字段”后,当删除父行时,子行也会随着被删除。而且当选择“实施参照完好性”后,在原来折线的两端会显现“1”或“OO”符号,在1对1关系中“1”符号在折线接近两个表端都会显现,而当1对多关系时“OO”符号则会显现在关系中的右表对应折线的1端上。

  设置了实施参照完好性就能够使我们在表中修正了1个记载的时分,不会影响到查询的操作。特别是在有很多表,而且各个表之间都有关系联接时,“实施参照完好性”会带来更多的方便。

 

ACCESS数据库基础(八)定义表之间的关系方法

相关推荐:

栏目分类

A3站长网 站长网 站长网技术网 站长教程网 织梦CMS教程 织梦模板 帝国CMS模板 联系QQ:26991496 邮箱:26991496@qq.com

A3站长网:欢迎您!谢谢您的访问...

Top