公务员期刊网 论文中心 正文

高职教育数据库理论授课方法探析

高职教育数据库理论授课方法探析

[摘要]针对高职院校数据库理论授课方法的研究,旨在探索计算机理论部分教学的方法。对比本科教育和高职教育对数据库人才需求的不同,结合教材和学生现状分析目前数据库理论教学的不足,利用案例和引导教学法逐一分析数据库理论课的重要知识点。通过教学效果进行验证,最后提出后续改进的方向。

[关键词]数据库理论;三级范式;参照完整性

无论在本科还是高职计算机应用专业课程体系中,数据库都是必不可少的一门核心课程。本文并不深入探讨学习数据库课程的重要性,而仅就高职教育中数据库理论部分的教学方法进行深入研究。上海很多本科院校数据库课程采用国外原版教材,课程内容偏理论和算法,重点是讲授创建关系数据库管理系统(例如MYSQL)所需要的算法以及关系型数据库的特点和规范。高职院校普遍采用的是基于任务驱动型的数据库教材,以某类管理系统(如图书管理系统或学生管理系统)为例,一步步从创建库到编辑查询数据,从而让学生掌握数据库知识尤其SQL语言的用法。可以看出,本科和高职计算机应用专业数据库的教学内容有很大的区别,造成这种区别的原因是培养目标的不同,本科计算机专业数据库课程希望能够培养出开发数据库管理系统的研究型人才,而高职计算机专业数据库课程希望培养出能够从事数据库技术应用的应用型人才。无论这两种培养目标有多么不同,针对关系型数据库的基本理论尤其是三级范式都是必讲的内容,这些理论知识有助于学生对关系数据库的全面认识,同时有利于教师数据库后续内容的讲授和学生自学。在高职数据库教材中,数据库理论这部分内容大多数用专业术语和概念进行描述,示例较少或基本没有,造成了学生对理论学习的畏惧,同时也不利于教师对这部分内容的讲解。为了改变这种情况,下文针对数据库重点理论知识逐一深入分析,如下图。

一、学生特点分析和教学思路研究

通过调研上海东海职业技术学院计算机专业学生情况,包括调研教师、辅导员和家长对学生的评价发现,高职院校的学生普遍理论基础薄弱,厌倦大段的理论知识,学习主动性不够,尽管知道计算机行业很有前途,但对自己信心不足。同时调研发现学生喜欢通过具体的示例来学习知识点,针对这种情况,笔者在数据库理论部分的教学主要采用案例和引导式教学法。具体而言就是针对部分高职学生主动性不足和缺乏自信的情况,让学生主动参与到课程中来,通过日常生活学习的例子让他们消除对理论学习的恐惧。通过不断抛出问题,解决问题的过程,让他们获得成就感和自信心。将数据库理论所使用的逻辑用日常生活中的逻辑进行讲解,可以提高学生的理解和记忆。

二、数据库理论授课内容深入分析

(一)数据库历史

让学生了解在数据库的发展历史中还存在过其他类型的数据库,例如层次数据库和网状数据库,这些数据库被淘汰的原因是因为不能适应日趋复杂的数据存储和查询的需求。同时告诉学生关系数据库也不是万能的,关系数据库的优点是数据一致和避免数据冗余。但在大数据应用中,关系数据库的优点恰恰就是它的缺点,在大数据应用环境中系统希望通过一定的数据冗余来提高查询和分析的速度。

(二)主键的理解

主键是可唯一标识一条记录的字段或字段集。通过举例让学生掌握主键对数据表的作用。这里通过引导式教学法进行讲解,第一步告诉学生,以表1为例,相同的记录不会给用户带来任何好处,反而会直接影响统计的准确性,因此关系数据库是不允许出现完全相同的记录,主键是避免出现相同记录的主要技术手段。第二步引导学生,针对表1哪个字段可以设置为主键,姓名字段还是地址字段?理论上会出现姓名重名和地址相同的情况,因此姓名和地址不能作主键。第三步告诉学生学号可以唯一标识一条记录,可以做主键。

(三)Null值的含义

Null英文单词是空的意思,但在数据库中表示不确定,如何让学生理解?可以举例:张三同学被A学校录取,他去学校报到,但由于种种原因,还没有给他分班,因此这个学生的班级字段值就是不确定的,是Null。

(四)参照完整性

关系数据库参照完整性(ReferentialIntegrity)是指如果关系R2的外部关系键X与关系R1的主键相符,则X的每个值或者等于R1中主键的某一个值,或者取空值。参照完整性是关系数据库中保证数据一致性的关键手段。为了理解参照完整性,举例:学生表是表R2,班级表是表R1,学生表的班级编号是外部关系键X,X的每个值或者等于班级表中的班级编号,或者为空。通过这个例子我们可以看出,为了避免数据冗余,学生表中的班级编号来源于班级表的班级编号,如果想查询某个学生的班级信息,可以通过班级编号进行查询。我们换种思路,将表2的班级编号字段删除,在表3中添加一个学号字段,可以吗?这种设计是使班级表中的学号来源于学生表,也可以达到查询学生班级信息的目的,这种设计理论上是可行的,但是不合理的,因为班级表会出现数据冗余,如何让学生理解这种设计的不合理?我们可以引导学生回答以下问题:让每个学生记住自己所在的班级容易还是让班级记住本班所有学生容易?答案是肯定的,让每个学生记住自己所在班级更加容易,因此表2和表3的设计是合理的。后面那种企图让班级记住所有学生的设计是不合理的。

(五)数据库范式

第一范式:数据行中每一个字段值都必须是不可分割的数据项,第一范式比较容易理解,这里就不展开了。第二范式:不仅满足第一范式,而且所有非主键字段完全依赖于主键,关键词是完全依赖。举例如下:我们来判断表4是否满足第二范式。表4的主键是学生编号和班级编号,通过主键可以确定一名学生,通过这个学生我们可以知道他(她)的性别和姓名,而单独通过学生编号或班级编号是无法确定一个学生的,因此我们说姓名和性别字段完全依赖于主键。但对班级地址字段而言,我们仅需通过班级编号就可以确定班级地址,而不需要学生编号信息,因此我们说班级地址部分依赖于主键。所以说表4不满足第二范式,如何进行修改而使它满足第二范式?解法方法是将表4的班级地址字段移到表5中,由此可以看出第二范式可以使数据表中描述的数据更加集中,例如表4是学生表,该表中的数据就应该与学生信息直接相关,不相关的班级地址数据要进行移除。第三范式:不仅满足第二范式,而且它的任何一个非主键字段都不传递任何主关键字,第三范式的定义很拗口,我们可以将它重新组织一下:满足第三范式,即不存在非主键字段A,依赖于非主键字段B,而B依赖于主键的情况。如何理解第三范式?我们通过一个例子来进行说明:我们来判断表6是否满足第三范式?其中教师编号是主键,姓名和性别字段完全依赖于主键,职称也完全依赖于主键,但是职称工资与教师编号没有直接关系,它只与职称有关,因此出现了职称工资依赖于职称,而职称依赖于教师编号的情况,所以表6不符合第三范式,如何对其进行修改使它满足第三范式?将表6的职称和职称工资字段删除,同时增加一列职称类别。然后新建一张职称工资表,将职称和职称工资增加到该表中,见表7。第二范式和第三范式比较相似,但在表现形式和解决办法上是不同的,要重点解释这两个范式的区别。

三、教学效果分析

本人在企业从事计算机开发工作10余年,在上海东海职业技术学院从教两年,主要教授《数据库原理及应用》和《动态语言设计与开发》,针对数据库理论分别采用本文所写内容和传统方式进行教学,明显感觉采用案例结合引导式的教学方式使课堂氛围更加活跃,学生提问的积极性更高,而采用传统式教学学生普遍兴趣不高。我们学校采用的数据库教材是基于微软公司MicrosoftSQLServer平台,但有学生通过社会招聘,应聘了Oracle数据库的开发岗位,充分说明教学内容改革后促进了学生的就业竞争力。

四、反思和总结

除了关系数据库外,数据库历史上还存在层次数据库和网状数据库,层次数据库还能找到一些资料,但网状数据库的相关资料较少,此部分内容无法更深入的展开,在后续的教学中还要加强这部分的内容。

参考文献:

[1]蔡艳.数据库原理及应用[M].上海:上海交通大学出版社,2015.

[2]AlanBeaulieu.SQL学习指南[M].2版.张伟超,林青松,译.人民邮电出版社,2015.

作者:瞿斌 单位:上海东海职业技术学院