admin 管理员组文章数量: 1086019
2024年5月18日发(作者:个人音乐网站)
计算机时代2013年第2期 ・ 55 ・
Access数据库中建立表间关系的教学探讨
李志辉
(湖北经济学院信息管理学院,湖北武汉430205)
摘要:针对学生在Access数据库中建立表间关系时出现的问题,探讨了建立表间关系所涉及到的主键、实施参照完整
性、连接类型等关键性知识点的教学方法及教学过程中应注意的事项,以达到引导学生深刻理解和正确运用这些知识点
的目的,从而提高课堂教学实效。实践证明,这些教学方法是行之有效的,取得了良好的教学效果。
关键词:Access数据库;表间关系;课堂教学;教学方法
中图分类号:G642.4 文献标志码:A 文章编号:1 006—8228(201 3)02—55—03
Discussion on teaching of establishing the relationship between the tables in Access database
Li Zhihui
(School of Information Management,Hubei University of 0∞m ,Wuhan,Hubei 430205,China)
Abstract:Aiming at the problems that the students confront when establishing the relationship between the tables,the teaching
methods of the key points of knowledge involved in primary key are discussed,together with referential integrity and connection
type.Some important items during the teaching process are given to guide the students to deeply understand and correctly apply
htis knowledge,to enhance the effectiveness of classroom teaching.The result shows that the teaching approach is effective.Its
application has obtained favorable teaching effects.
Key words:Access database;relationship between tables;classroom teaching;teaching method
0引言
(1)很多学生对主键概念认识模糊,不能为每个表设置正
Access数据库及其应用课程是我校面向非计算机专业学
确的主键,特别是对于一个表的主键由多个字段构成的情况,
生开设的公共基础课程,也是许多非计算机专业学生参加全国
由于在表设计视图中多字段主键中的每个字段前都有一个作
计算机等级考试(二级)所选择的科目。在Access数据库中,建
为主键标记的钥匙,有些学生错误地认为这个表有多个主键。
立表间关系是一个重要的知识点,同时也是教学的难点,因为
(2)有些学生错误地认为两个表只要有名称相同的字段就
它涉及到数据库中主外键、实施参照完整性、关系连接类型等
可以建立关联关系,忽略了建立表问关系的两个前提要求。
多个知识点,具有一定的知识综合性,学生只要有一个相关的
(3)由于关联字段数据类型不同,或数据录入错误等原因
知识点没有弄清楚,就无法正确建立表间关系,而表问关系建
导致对两个关联表不能实施参照完整性时,较多学生无法探究
立的正确与否,将直接关系到用户能否从Access数据库的多个
出原因。
表中提取出符合要求的数据。因此,探讨Access数据库中建立
(4)学生在Access 2003软件的“编辑关系”对话框(如图1
表间关系的教学方法,有助于提高教师对此知识点进行课堂教
所示)中勾选“实施参照完整性”后,习惯性地将“级联更新相关
学的实效,更好地帮助学生深入理解相关知识点,从而显著提
字段”和“级联删除相关记录”两个选项进行勾选,而对选中这
升学生正确运用此知识点解决实际问题的能力。
两个选项的意义并不十分清楚。
本文以学生在完成建立表间关系实验的过程中出现的问
题作为切入点,剖析了教师在讲授主键、关系建立前提条件、实
施参照完整性、关系连接类型等建立表间关系所涉及到的相关
知识点时应注意的事项,并基于笔者的教学实践阐述了实施参
照完整性、关系连接类型这两个知识点的具体教学实施过程。
1学生对知识点理解及运用上存在的问题
通过指导学生进行Access数据库实验以及批改实验报告,
笔者发现了一些问题,并对这些问题进行了归纳总结。 图l“编辑关系”对话框
收稿日期:2012—10—29
作者简介:李志辉(1976一),男,湖北红安人,硕士研究生,讲师,主要研究方向:信息系统,数据库技术。
・
56 ・ Computer Era No.2 201 3
(5)学生习惯于系统默认创建的涉及内连接的多表查询, 键标记的钥匙,因此有些学生容易将“多字段主键”错误地理解
对涉及到外连接的多表查询问题表现出束手无策,不知道通
为多个主键,教师必须对此向学生明确说明。
过Access 2003软件中的“联接属性”对话框(如图2所示)就 (3)应向学生强调系统对主键的取值要求。在Access数据
可以轻松解决,并且对这个对话框中三个选项的意义也缺乏
库中,主键用来保证实体的完整性。按照实体完整性的要求,
理解。
图2“联接属性”对话框
针对学生在建立表间关系知识点理解和运用上存在的这
些问题,笔者在教学中进行了一系列积极的探索,形成了一些
较为有效的教学方法。
2建立表间关系知识点的教学方法
通常,建立表间关系分为以下几个步骤:①为每个表设置
主键;②为两个表的公共字段创建表间关系连线;③实施参照
完整性;④根据需要设置两个表之间的连接类型。以下对这四
个步骤中涉及到的几个关键性知识点的教学方法以及教学过
程中应注意的事项分别进行介绍。
2.1主键
主键是表中惟一能够标识一条记录的字段或字段的组合,
用来保证实体的完整性n 。对于非计算机专业的学生,由于没
有学习利用函数依赖及推理规则求解主键的方法,因此应学会
利用主键的定义,并结合描述现实世界已知事实的数据语义来
确定表的主键的方法。这就要求教师在教学时应通过大量实
例让学生在反复演练中掌握此方法。具体来讲,教师应重点讲
解以下几点。
(1)通过将表中涉及的概念与信息世界中相关的概念进行
类比,帮助学生理解主键的概念。在Access中,用“表”表示同
一
类实体,即实体集,表的结构就是一个实体型,表中的每一条
记录表示的就是一个具体的实体,主键对应的就是实体的标识
码。主键的值确定了,它所代表的实体就确定了,该实体的相
关信息(其他字段的取值)当然也就确定了,就像身份证号可以
惟一确定我们每一个人的身份一样。可以借此引申来说明主
键的值可以惟一确定其他字段的取值。
(2)根据主键中包含的字段个数,可以将主键分为“单字段
主键”和“多字段主键”两类。如果某字段中包含的都是睢一的
值,可以将该字段指定为主键,这就是“单字段主键”;在不能保
证任何单个字段都包含眭一值时,可以将两个或更多的字段的
组合指定为主键,这就是“多字段主键”。教师必须向学生强调
每个表只能定义一个主键,多字段主键也只是一个主键,只不
过这个主键是由多个字段组合而成。前面已经提到过,由于在
表设计视图中“多字段主键”中的每个字段前都有一个作为主
主键不能取空值,也不能取重复值。为了强化学生对此的认
识,教师在为表设置主键后,可以在表的“数据表视图”中为主
键输入空值或重复值,从而让学生看到Access 2003软件给出
的错误提示。
(4)有必要区别一下主键和候选键的概念。表中能够惟一
标识一条记录的字段或字段的组合可能不是睢一的,凡在表中
能够睢一标识一条记录的字段或字段的组合都可成为候选键;
在候选键中可以选定一个作为表的主键。没有选定为主键的
其他候选键,由于它们的取值具有惟一性,所以应考虑给其建
立性一索引。
(5)在创建表的结构时如果没有指定主键,在对表进行保
存操作时,系统会询问是否需要创建主键,如果单击“是”按钮,
系统将会为表自动创建一个“自动编号(ID)”字段作为主键。
建议学生最好不要将这个“自动编号(ID)”字段作为主键,而应
根据数据的语义自己创建主键。
2_2创建表间关系的两个前提
为每个表设置正确的主键后,接下来就应该创建表间关系
连线。创建表间关系连线时,应使两个前提得到满足,一是要
保证建立关联关系的两个表具有公共字段,二是每个表都要以
该字段建立索引。如果不满足这两个前提,即使创建了表间关
系连线,也无法正确实施参照完整性。在教学中,对于这两个
前提,教师应向学生强调以下两点。
(1)两个表相关联的公共字段不一定要有相同的名称(名
称相同当然更容易识别),但它们的数据类型必须相同或者兼
容。对于“自动编号”类型与“数字”类型字段相关联、两个“数
字”字段相关联,还要求它们的“字段大小”属性相同,比如都是
“长整型”。对于公共字段,学生更容易关注“名称相同”这个非
必要的要求,而忽略对数据类型、字段大小等这些关键性要求,
教师对此应予以纠正。
(2)每个表都要为关联字段建立正确的索引,因为Access
会根据创建的索引类型来确定两个表是“一对一”的关系还是
“
一
对多”的关系。主表中的关联字段要建立主索引(主键)或
惟一索引(字段值无重复),如果为从表中的关联字段建立的
是主索引或惟一索引,则系统会确定两个表具有“一对一”的
关系;如果为从表中的关联字段建立的是普通索引(字段值有
重复)或没有建立索引,则系统会确定两个表具有“一对多”的
关系。
2.3实施参照完整性
创建表间关系连线时,必须设置“实施参照完整性”。参照
完整性用来建立表间的引用完整性,对外键的取值进行了明确
的限制。特别强调,教师在给学生讲授完参照完整性的定义及
作用后,应通过演示法向学生重点展示可能破坏参照完整性的
各种情况以及系统采取的违约处理方法,学生只有亲眼看到
了,才会对此有更深刻的认识和理解。
下面以“学生”表和“成绩”表为例,介绍笔者具体的做法。
计算机时代2013年第2期
两个示例表的结构如图3、图4所示。
・ 57 ・
作。针对这种情况,笔者认为教师要明确告知学生正确的做法
是先建立表间关系实施参照完整性,再去录入数据,这样违反
参照完整性规则的错误数据就无法保存在表中。
2.4关系连接类型
在“编辑关系”对话框(如图1所示)中单击“联接类型”按
图3“学生”表 图4“成绩”表
钮,会弹出“联接属性”对话框,其中有三个单选按钮,它们定义
了表间关系的三种连接类型:内连接、左外连接和右外连接(在
Access数据库中不支持全外连接)。在表对象中,我们无法向
学生演示这三种连接类型处理数据的具体方法,因此笔者考虑
分两种情况向学生演示Access 2003软件系统对破坏参照
完整性的处理方法,一是不选择“编辑关系”对话框中的“级联
更新相关字段”和“级联删除相关字段”这两个选项,二是选中
这两个选项。
(1)当没有选中这两个选项时,分别对主表和从表进行增
删改操作,让学生观察系统对操作所做出的反应。当要在“成
绩”表(从表)中插入一个“学生”表(主表)中不存在的学号,或
要将“成绩”表中的某个学号更改为“学生”表中不存在的学号
时,系统都会给出错误提示,原因就是这样的插入和修改操作
违反了参照完整性规则,系统采取的应对措施是拒绝执行;如
果对“成绩”表进行删除操作,显然不会破坏参照完整性,系统
可以正确执行。当要在“学生”表中插入一条记录时,显然也不
会破坏参照完整性,系统可以正确执行;如果在“学生”表中修
改某个已选课学生的学号或删除该选课学生的信息时,系统同
样会给出错误提示,因为对主表的这两个操作同样违反了参照
完整性规则,系统通过拒绝执行的方式进行应对。
(2)当选中这两个选项后,同样分别对主表和从表进行增
删改操作,让学生观察系统对这一操作所做出的反应。当对
“成绩”表进行增删改操作时,可以发现系统做出的反应没有
什么变化。当在“学生”表中修改了某个已选课学生的学号
时,系统并没有给出错误提示,而是将“成绩”表中相关的学号
一
并修改,这就是所谓的“级联更新”;当在“学生”表中删除了
某个已选课学生的信息时,系统同样没有给出错误提示,而是
将“成绩”表中学号相同的记录进行同步删除,这就是所谓的
“级联删除”。
演示完成后,先请学生对可能破坏参照完整性的各种情况
以及系统相应的违约处理方法进行归纳,然后再通过表格的形
式将结果反馈给学生,如表1所示。
表1 可能破坏参照完整性的情况及违约处理
主表 从表 违约处理
可能破坏参照完整性一 一插入记录 拒绝执行
可能破坏参照完整性一 一修改外键值 拒绝执行
删除记录 一 一可能破坏参照完整性 拒绝执行,级联删除
修改主键值 ~ 一可能破坏参照完整性 拒绝执行像联更新
为了与课堂教学内容衔接,我校设置的实验内容顺序是先
让学生分别建立各个表的结构,紧接着录入实验指导书上事先
给定的大量数据,然后再去建立表间关系。这种做法存在一个
问题:如果学生录入的数据有错误,违反了参照完整性规则的
要求,在创建表间关系时就无法实施参照完整性,学生只有修
改或删除不符合要求的数据,才能实施参照完整性。要让学生
从大量数据中找出不符合要求的数据,是一个较为繁琐的工
新建一个多表查询对象来进行验证。
具体讲授时,先使用查询的设计视图新建一个查询,将“学
生”表和“成绩”表分别添加到查询“设计视图”窗口中,作为新
建查询的数据源。由于在前面已经建立了表间关系,所以在查
询“设计视图”窗口中会显示出系统自动创建的表示表间关系
的连线。在连线上单击右键,会弹出一个快捷菜单,选择其中
的“联接属性”菜单项,也可以调出其中的“联接属性”对话框
(如图2所示)。为了给随后的提问做好铺垫,笔者先让学生分
别查看一下“学生”表和“成绩”表中的记录数(假设这两个表中
都有l0条记录),然后从以下几个方面进行讲授。
(1)通过设计好的查询题目,导入内连接和外连接知识点。
例如,给出查询题目l:创建一个查询,查找并显示所有选
课学生的“姓名”、“课程号”和“成绩”三个字段的内容。这个查
询需要通过内连接来完成。由于建立表间关系后系统默认的
连接类型就是内连接(即对话框中的第一个选项),因此学生不
需要更改“联接属性”对话框中的连接类型,只要分别双击“学
生”表和“成绩”表中的“姓名”、“课程号”和“成绩”三个字段,然
后运行查询就可以得到所需要的查询结果。
给出查询题目2:创建一个查询,查找并显示所有学生的
“姓名”、“课程号”和“成绩”三个字段的内容。由于这个查询涉
及到选课和没选课的所有学生信息,如果不更改“联接属性”对
话框中的连接类型,那查询结果里面就不包括没有选课的学生
信息,显然不合题意 。因此根据题目要求,这个查询应使用左
外连接(应选中对话框中的第二个选项),才能把选课和没选课
的所有学生的信息都查找出来。
(2)通过对不同查询结果中记录数目变化原因的提问,引
发学生对连接类型知识点探究的兴趣。
“学生”表和“成绩”表中都有l0条记录,在前面内连接的查
询结果中出现了l0条记录;将连接类型更改为左外连接,查询
结果中出现了14条记录,相对内连接多出了4条记录,提问要
求学生思考为什么多出了4条记录;将连接类型再更改为右外
连接(应选中对话框中的第三个选项),查询结果又变成了lO条
记录,和内连接完全一样,提问并要求学生思考为什么在此处
右外连接和内连接的查询结果会是一样的;然后再将两个表的
表间关系连线删除,这时发现查询结果中有100条记录,提问要
求学生思考如何解释查询结果中会出现100条记录。
(3)切换到查询的“SQL视图”,让学生观察系统自动生成
的SQL语句有什么不同,以达到对前面所讲知识点进行佐证
的目的。
(下转第59页)
计算机时代2013年第2期
验,有助于学生深刻全面的理解子程序的相关知识。
(2)实验内容“片面”。对于汇编语言子程序实验,大多数
院校的实验内容只涉及到两方面的知识:①子程序的类型(近
子程序和远子程序);②三种参数传递方式(寄存器传递、内存
单元传递、堆栈传递) 。这并不全面,与子程序密切相关的知
识应该还包含宏和中断服务程序,所以有必要在实验中安排
相应的内容让学生理解子程序与宏的区别,以及如何把一个
子程序“注册”为中断服务程序,然后通过软中断指令(INT n)
量,具体如表2所示。
・ 59 ・
表2 DOS系统功能调用的35H号和25H号功能说明
该实验设计实例特点鲜明,首先实验所要求完成的功能都
中断是学习汇编语言的重点、难点部分,能否真正掌握汇编语
是汇编语言中简单而又常用的功能,这一方面可以使学生不必
而把主要精力集中在子程序本身的
言对中断的理解和掌握至关重要,中断也是汇编语言的魅力
花太多功夫在算法实现上,
语法上,另一方面实验中所完成的程序在后续的实验中可以直
所在 。
调用该程序的过程,这样做有助于后面对中断系统的学习。
2实验设计的一个实例
接调用,减轻了学生在后续实验中的负担,同时加强了各实验
之间的有机联系。我们的实验内容涵盖了与子程序相关的各
针对前面提到的问题,在此给出一个汇编语言子程序实验
种知识,特别是子程序与中断服务程序的关系,这也是本实验
设计实例,主要内容如下:
设计的创新之处。
(1)实验学时:4学时。
(2)实验目的:
3结束语
①掌握子程序的编写及调用方法;
②掌握近子程序和远子程序的区别;
③掌握三种参数传递方式的差别;
④掌握子程序与宏的区别;
⑤掌握编写中断服务程序的方法以及通过软中断指令。
(3J实验内容:
汇编语言与微机原理课程中汇编语言子程序这部分内容
占有很重要的地位。本文首先分析了其实验设计普遍存在的
问题,随后给出了相应的对策,最后根据作者多年的教学经验
给出了一个实验设计实例,该实例简单实用,又不乏创新之
处。该实验设计已应用于实际教学中,取得了满意的效果。学
生对汇编语言子程序有了更全面的了解,尤其是后续学习中断
系统及8259芯片时,对中断服务程序的概念理解掌握得更迅
速。本实验设计的不足之处是在培养学生模块化程序设计思
①编写一个近子程序实现将一个字节的数据以十六进制
的形式输出,采用寄存器参数传递方式;
方式;
②编写一个远子程序,功能与①相同,采用堆栈参数传递
想方面有所欠缺,这是下一步需要思考并改进的。
参考文献:
【1】张学,陆庆,廖建明.汇编语言实验教学的思考【J】.计算机教育,
2009.15:81-82
③变量STR中存有一个以’¥’作为结束符的字符串,编写
一
个子程序实现将STR中所有的大写字母全部改为小写字母,
采用内存单元参数传递方式;
④用宏实现①中的功能;
⑤编写一中断服务程序实现①中功能。提示:利用DOS
系统功能调用的35H号功能和25H号功能提取和设置中断向
【2】孙德文.微型计算机技术(第3版)【M】.高等教育出版社,2010.
【3】刘辉.汇编语验教学探索【J】.计算机教育,2008.4:15—16
【4】蔡启先,蓝红莉,阳树洪.计算机组成与汇编语言[M】.清华大学出版社,
2011.豳
(上接第57页)
对于内连接,SQL语句指定的表示连接类型的关键字是 利于提高学生学习的积极性,有利于学生对所学知识的掌握和
“INNER JOIN”;对于左外连接,SQL语句指定的关键字是
运用,有助于学生思维能力的培养,有助于提高学习效率和课
“LEFT JOIN”;对于右外连接,SQL语句指定的关键字是
堂效率。教学实践表明,对于建立表问关系这一重要知识点的
“RIGHT JOIN”。这三种连接类型的连接条件都是“学生.学号
教学,采用上述教学方法是有效且得当的,在较短的授课学时
=
成绩.学号”。而如果删除了两个表的表间关系连线,在SQL 内,学生不仅能够理解建立表间关系的相关知识,而且能熟练
取得了良好的教学效果。
【1】孙宝林,崔洪芳.Access数据库应用技术【M】.清华大学出版社,2010.
语句中就看不到连接条件,说明如果没有指定两个表的连接条
运用这些知识去解决实际问题,确实达成了教学目标和要求,
件,这时候两个表进行的就是笛卡尔积运算。SQL语句中使用
上可以强化学生对连接类型知识点的记忆。
的关键字很多都是学生比较熟悉的英文单词,因而在一定程度
参考文献:
【2】王珊,萨师煊.数据库系统概论(第四版)【M】.高等教育出版社,2006.
【3】段玉春,朱长江.几个ACCESS疑难问题的探析[J】.电脑知识与技术,
3结束语
教学有法,教无定法,追求教学得法。恰当的教学方法,有
2011.7(33):8113—8114
版权声明:本文标题:Access数据库中建立表间关系的教学探讨 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://roclinux.cn/b/1715980653a690471.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论