ACCESS:定义表之间的关系
摘要:ACCESS:定义表之间的关系
ACCESS:定义表之间的关系
“关系”简介
在Access数据库中,不同表中的数据之间都存在一种关系,这种关系将数据库里各张表中的每条数据记载都和数据库中惟一的主题相联络,使得对一个数据的操作都成为数据库的全体操作,正所谓“牵一发而动全身”。
就拿上几课建设的表来说吧,“客户信息表”中的“公司称号”和“订单信息表”中的“订货单位”所蕴含的值有很多是相反的。由于签了订单的“订货单位”一定已经是公司的客户了,这些客户的称号也被记录在“客户信息表”的“公司称号”字段中。当咱们已知一个客户的称号时,既可能经过“客户信息表”知道它的“客户信息”,也可能经过“订单信息表”了解它所签署的“订单信息”,所以说“公司称号”作为纽带将“客户材料表”和“订单信息表”中的相应字段信息衔接在了一同,为了把数据库中表之间的这种数据关系表现进去,Access提供一种建设表与表之间“关系”的方法。用这种方法建设了关系的数据只有要经过一个主题就可能调进去利用,十分方便。
当咱们在“客户信息表”和“订单信息表”中建设这样的关系当前,只有要看看“客户信息表”,在不添加表内容的情况下,就可能看到一切客户的信息及其一切“订单”的情况,使这些数据了如指掌。
表之间的三种关系
在建设表之间的关系前,咱们还是要提一下“关系”的三种类型“一对一”、“一对多”和“多对多”。在Access中,可能在两个表之间间接建设“一对一”和“一对多”关系,而“多对多”关系则要经过“一对多”关系来完成。咱们分别来说说这三种“关系”。
首先是“一对一”关系,比如下面的两个表:某学校先生月副食贴补:
和某学校先生月助学金:
咱们降这两个表中的数据停止汇总生成新的表:“某学校先生月实发金额汇总”:
因为姓名字段能够会出现反复的情况,所以只要经过不能够出现反复的值的字段“学号”,能力将这两个表惟一地联络起来,保证“副食补贴”和“助学金”不至于谬误地发放,这样“月副食贴补表”中的一个学号就只对应“月助学金”中的一个学号,绝对不会弄错。这样两个表的关系很显著就是“一对一”了。
下面来看看“一对多”关系。在“客户信息表”和“订单信息表”中,“订单信息表”中的“订货单位”字段和“客户信息表”中的“公司称号”字段中的值都是一样的。其实只要那些订货了的单位才是公司的客户,所以这两个表之间是靠客户公司的名字联络在一同的。然而每个客户都可能订很多份订单。所以在“客户信息表”中的一个“公司称号”就能对应“订单信息表”中的几份“订单”。这样的关系就是“一对多”。
最后使“多对多”关系,咱们知道,书店中有很多书,同时一种书也可能在很多书店里找到。这时“书”和“书店”的关系就是“多对多”关系了。
怎么在表之间建设关系
如今咱们就末尾在表之间建设“关系”,首先单击“工具”菜单下的“关系”命令,弹出“关系”对话框,上面还有一个“显示表”对话框如下图,经过“显示表”对话框可能把需求建设关系的“表”或“查询”加到“关系”对话框中去。
将两个表“客户信息表”和“订单信息表”都选中,单击“减少”按钮把它们都减少到“关系”对话框上,单击“关闭”按钮把“显示表”对话框关闭。当前再需求打开它时,只需在“关系”对话框上单击鼠标右键,抉择“显示表”命令就可能了。
在“关系”对话框中只要“客户信息表”和“订单信息表”的字段列表。怎样建设关系呢?其实表都是由字段造成的,表之间的关系也由字段来联络。让不同表中的两个字段建设联络当前,表中的其余字段人造也就可能经过这两个字段之间的关系联络在一同了。也就是说在“客户信息表”中的“公司称号”和“订单信息表”中的“订货单位”两个字段之间建设关系就可能了。先在“客户信息表”字段列表中选中“公司称号”项,然后按住鼠标左键并拖动鼠标到“订单信息表”中的“订货单位”项上,松开鼠标左键,这时在屏幕上出现“编辑关系”对话框。
这个对话框可能协助咱们编辑所建设的关系,经过右面的列表框可能扭转建设关系的两个字段的起源。可能单击“新建...”按钮创建新的关系,或许单击“联接类型”为联接抉择一种联接类型。单击“联接类型”按钮,在弹出的新对话框中抉择第三项,然后单击“确定”按钮就可能了。回到“编辑关系”对话框后单击“创建”按钮。
如今在两个列表框间就出现了一条“折线”,将“订货公司”和“公司称号”两个选项联接在一同。关闭“关系”对话框,并保存对“关系”规划的修正。在表间建设关系就是这样的。
“关系”与“子数据表”
打开“客户信息表”,你会发现这个表中添加了一些新的表,它们是“客户信息表”的子表,也就是“订单信息表”。
在这种“一对多”的情况下,齐全可能经过“客户信息表”中的“公司称号”信息将这两个表的内容都串起来。在主表中的每一个记载下面都会带着一个甚至几个子表中的“订单”记载。具备“一对一”关系的两个表之间互为对方的“子表”。
通常在建设表之间的关系当前,Access会主动在主表中插入子表。但这些子表一末尾都是不显示进去的。在Access中,让子表显示进去叫做“开展”子数据表,让子表隐藏叫做将子数据表“折叠”。开展的时分方便查阅订单信息,而折叠起来当前有可能比较方便的治理“客户信息表”。
要“开展”子数据表,只需用鼠标单击主表第一个字段后面一格,对应记载的子记载就“开展”了,并且格中的小方框内“加号”变成了“减号”。假设再单击一次,就可能把这一格的子记载“折叠”起来了,小方框内的“减号”也变回“加号”。假设主表很大的话,这样一个一个地“开展”和“折叠”子数据表就显得太费事了,Access为咱们提供了一种操作模式,它可能一下子“开展”或“折叠”以后数据表的一切子数据表。打开一个带有子数据表的表时,在“格式”菜单“子数据表”项的子菜单中,有三个命令“全副开展”、“全副折叠”和“删除”,“全副开展”命令可能将主表中的一切子数据表都“开展”,“全副折叠”命令可能将主表中的一切子数据表都“折叠”起来。不需求在主表中显示子数据表的这种模式来反映两个表之间的“关系”时,就可能利用“删除”命令来把这种用子数据表显示的方法删除。但这时两个表的“关系”并没有被删除。假设想恢复在主表上显示“子数据表”的方式,可能先打开主表,比如“客户信息表”,单击“插入”菜单下的“子数据表”命令,弹出“插入子数据表”对话框如下图:
在列表框中选取“表”----“订单信息表”,然后在“链接子字段”组合框中选取“订货单位”字段,并在“链接主字段”组合框中选取“公司称号”字段,单击“确定”按钮就可能在主数据表“客户信息表”中重新插入子数据表“订单信息表”了。必需要留意的是在任何一个数据表中插入子数据表都需求在两个表之间建设“关系”,假设这两个表的“主链接字段”和“子链接字段”之间还没有建设结合的话,在单击“确定”按钮插入“子数据表”的时分就会讯问能否要在这两个表之间建设相应的“关系”,只要建设“关系”当前,能力实现“插入子数据表”过程。用这样的模式在表之间建设“关系”不像在“关系”对话框中建设的“关系”那样直观。所以咱们倡导在关系对话框中建设好表与表之间的“关系”,由Access主动地创建子数据表。
完结语:这一课经过“客户信息表”和“订单信息表”将表与表之间的“关系”展如今咱们面前,假设你已经掌握了表的操作,那就末尾看下一课;假设你还没有齐全掌握“表”,就将这四课再好难看一看,由于表是数据库中最重要的一个局部了。
实施参照残缺性
在咱们建设表之间的关系时,窗口上有一个复选框“实施参照残缺性”,单击它之后,“级联更新相干字段”和“级联删除相干字段”两个复选框就可能用了。
假设选定“级联更新相干字段”复选框,则当更新父行(一对一、一对多关系中“左”表中的相干行)时,Access就会主动更新子行(一对一、一对多关系中的“右”表中的相干行),选定“级联删除相干字段”后,当删除父行时,子行也会跟着被删除。而且入抉择“实施参照残缺性”后,在原来折线的两端会出现“1”或“OO”符号,在一对一关系中“1”符号在折线接近两个表端都会出现,而当一对多关系时“OO”符号则会出如今关系中的右表对应折线的一端上。
设置了实施参照残缺性就可能使咱们在表中修正了一个记载的时分,不会影响到查询的操作。顺便是在有很多表,而且各个表之间都无关系联接时,“实施参照残缺性”会带来更多的方便。
在Access数据库中,不同表中的数据之间都存在一种关系,这种关系将数据库里各张表中的每条数据记载都和数据库中惟一的主题相联络,使得对一个数据的操作都成为数据库的全体操作,正所谓“牵一发而动全身”。
就拿上几课建设的表来说吧,“客户信息表”中的“公司称号”和“订单信息表”中的“订货单位”所蕴含的值有很多是相反的。由于签了订单的“订货单位”一定已经是公司的客户了,这些客户的称号也被记录在“客户信息表”的“公司称号”字段中。当咱们已知一个客户的称号时,既可能经过“客户信息表”知道它的“客户信息”,也可能经过“订单信息表”了解它所签署的“订单信息”,所以说“公司称号”作为纽带将“客户材料表”和“订单信息表”中的相应字段信息衔接在了一同,为了把数据库中表之间的这种数据关系表现进去,Access提供一种建设表与表之间“关系”的方法。用这种方法建设了关系的数据只有要经过一个主题就可能调进去利用,十分方便。
当咱们在“客户信息表”和“订单信息表”中建设这样的关系当前,只有要看看“客户信息表”,在不添加表内容的情况下,就可能看到一切客户的信息及其一切“订单”的情况,使这些数据了如指掌。
表之间的三种关系
在建设表之间的关系前,咱们还是要提一下“关系”的三种类型“一对一”、“一对多”和“多对多”。在Access中,可能在两个表之间间接建设“一对一”和“一对多”关系,而“多对多”关系则要经过“一对多”关系来完成。咱们分别来说说这三种“关系”。
首先是“一对一”关系,比如下面的两个表:某学校先生月副食贴补:
和某学校先生月助学金:
咱们降这两个表中的数据停止汇总生成新的表:“某学校先生月实发金额汇总”:
因为姓名字段能够会出现反复的情况,所以只要经过不能够出现反复的值的字段“学号”,能力将这两个表惟一地联络起来,保证“副食补贴”和“助学金”不至于谬误地发放,这样“月副食贴补表”中的一个学号就只对应“月助学金”中的一个学号,绝对不会弄错。这样两个表的关系很显著就是“一对一”了。
下面来看看“一对多”关系。在“客户信息表”和“订单信息表”中,“订单信息表”中的“订货单位”字段和“客户信息表”中的“公司称号”字段中的值都是一样的。其实只要那些订货了的单位才是公司的客户,所以这两个表之间是靠客户公司的名字联络在一同的。然而每个客户都可能订很多份订单。所以在“客户信息表”中的一个“公司称号”就能对应“订单信息表”中的几份“订单”。这样的关系就是“一对多”。
最后使“多对多”关系,咱们知道,书店中有很多书,同时一种书也可能在很多书店里找到。这时“书”和“书店”的关系就是“多对多”关系了。
怎么在表之间建设关系
如今咱们就末尾在表之间建设“关系”,首先单击“工具”菜单下的“关系”命令,弹出“关系”对话框,上面还有一个“显示表”对话框如下图,经过“显示表”对话框可能把需求建设关系的“表”或“查询”加到“关系”对话框中去。
将两个表“客户信息表”和“订单信息表”都选中,单击“减少”按钮把它们都减少到“关系”对话框上,单击“关闭”按钮把“显示表”对话框关闭。当前再需求打开它时,只需在“关系”对话框上单击鼠标右键,抉择“显示表”命令就可能了。
在“关系”对话框中只要“客户信息表”和“订单信息表”的字段列表。怎样建设关系呢?其实表都是由字段造成的,表之间的关系也由字段来联络。让不同表中的两个字段建设联络当前,表中的其余字段人造也就可能经过这两个字段之间的关系联络在一同了。也就是说在“客户信息表”中的“公司称号”和“订单信息表”中的“订货单位”两个字段之间建设关系就可能了。先在“客户信息表”字段列表中选中“公司称号”项,然后按住鼠标左键并拖动鼠标到“订单信息表”中的“订货单位”项上,松开鼠标左键,这时在屏幕上出现“编辑关系”对话框。
这个对话框可能协助咱们编辑所建设的关系,经过右面的列表框可能扭转建设关系的两个字段的起源。可能单击“新建...”按钮创建新的关系,或许单击“联接类型”为联接抉择一种联接类型。单击“联接类型”按钮,在弹出的新对话框中抉择第三项,然后单击“确定”按钮就可能了。回到“编辑关系”对话框后单击“创建”按钮。
如今在两个列表框间就出现了一条“折线”,将“订货公司”和“公司称号”两个选项联接在一同。关闭“关系”对话框,并保存对“关系”规划的修正。在表间建设关系就是这样的。
“关系”与“子数据表”
打开“客户信息表”,你会发现这个表中添加了一些新的表,它们是“客户信息表”的子表,也就是“订单信息表”。
在这种“一对多”的情况下,齐全可能经过“客户信息表”中的“公司称号”信息将这两个表的内容都串起来。在主表中的每一个记载下面都会带着一个甚至几个子表中的“订单”记载。具备“一对一”关系的两个表之间互为对方的“子表”。
通常在建设表之间的关系当前,Access会主动在主表中插入子表。但这些子表一末尾都是不显示进去的。在Access中,让子表显示进去叫做“开展”子数据表,让子表隐藏叫做将子数据表“折叠”。开展的时分方便查阅订单信息,而折叠起来当前有可能比较方便的治理“客户信息表”。
要“开展”子数据表,只需用鼠标单击主表第一个字段后面一格,对应记载的子记载就“开展”了,并且格中的小方框内“加号”变成了“减号”。假设再单击一次,就可能把这一格的子记载“折叠”起来了,小方框内的“减号”也变回“加号”。假设主表很大的话,这样一个一个地“开展”和“折叠”子数据表就显得太费事了,Access为咱们提供了一种操作模式,它可能一下子“开展”或“折叠”以后数据表的一切子数据表。打开一个带有子数据表的表时,在“格式”菜单“子数据表”项的子菜单中,有三个命令“全副开展”、“全副折叠”和“删除”,“全副开展”命令可能将主表中的一切子数据表都“开展”,“全副折叠”命令可能将主表中的一切子数据表都“折叠”起来。不需求在主表中显示子数据表的这种模式来反映两个表之间的“关系”时,就可能利用“删除”命令来把这种用子数据表显示的方法删除。但这时两个表的“关系”并没有被删除。假设想恢复在主表上显示“子数据表”的方式,可能先打开主表,比如“客户信息表”,单击“插入”菜单下的“子数据表”命令,弹出“插入子数据表”对话框如下图:
在列表框中选取“表”----“订单信息表”,然后在“链接子字段”组合框中选取“订货单位”字段,并在“链接主字段”组合框中选取“公司称号”字段,单击“确定”按钮就可能在主数据表“客户信息表”中重新插入子数据表“订单信息表”了。必需要留意的是在任何一个数据表中插入子数据表都需求在两个表之间建设“关系”,假设这两个表的“主链接字段”和“子链接字段”之间还没有建设结合的话,在单击“确定”按钮插入“子数据表”的时分就会讯问能否要在这两个表之间建设相应的“关系”,只要建设“关系”当前,能力实现“插入子数据表”过程。用这样的模式在表之间建设“关系”不像在“关系”对话框中建设的“关系”那样直观。所以咱们倡导在关系对话框中建设好表与表之间的“关系”,由Access主动地创建子数据表。
完结语:这一课经过“客户信息表”和“订单信息表”将表与表之间的“关系”展如今咱们面前,假设你已经掌握了表的操作,那就末尾看下一课;假设你还没有齐全掌握“表”,就将这四课再好难看一看,由于表是数据库中最重要的一个局部了。
实施参照残缺性
在咱们建设表之间的关系时,窗口上有一个复选框“实施参照残缺性”,单击它之后,“级联更新相干字段”和“级联删除相干字段”两个复选框就可能用了。
假设选定“级联更新相干字段”复选框,则当更新父行(一对一、一对多关系中“左”表中的相干行)时,Access就会主动更新子行(一对一、一对多关系中的“右”表中的相干行),选定“级联删除相干字段”后,当删除父行时,子行也会跟着被删除。而且入抉择“实施参照残缺性”后,在原来折线的两端会出现“1”或“OO”符号,在一对一关系中“1”符号在折线接近两个表端都会出现,而当一对多关系时“OO”符号则会出如今关系中的右表对应折线的一端上。
设置了实施参照残缺性就可能使咱们在表中修正了一个记载的时分,不会影响到查询的操作。顺便是在有很多表,而且各个表之间都无关系联接时,“实施参照残缺性”会带来更多的方便。