实例教学在数据库原理教学中的应用

时间:2022-10-26 08:05:19

实例教学在数据库原理教学中的应用

摘要:在《数据库系统概论》这门课程传统教学内容研究的基础上,结合学生学习特点,将国外教材从实例入手讲概念的方法引入到该课程中,将难于理解的概念定义变为分析后得出的结论,同时提高了学生分析、解决实际工程问题的能力。并在文中具体说明了使用这种方法的前提、目的和达到的效果。

关键词:高校;计算机专业;实例;数据库应用

中图分类号:G642 文献标识码:A文章编号:1009-3044(2007)05-11454-03

1 引言

《数据库原理及应用》这门课的主要任务是通过课堂教学和实践指导,使学生较全面地掌握数据库系统的基本概念、基本原理和基本方法,初步具备使用数据库技术解决实际问题的能力。当前国内高校计算机专业教育教学普遍存在以下基本情况:1、学生人数众多,实验室开放时间有限,条件不足。2、教师和学生的比例差距较大,指导并不充分。3、存在“重视理论大于实践;重视课本大于动脑”的现象,常常表现在SQL语句写的非常好的同学但是数据库设计却很茫然。然而在很多时候即使重视理论也很难将理论讲授深入,同时学生的课程任务繁重,自己动脑动手的时间不多,应试教育的因素又使得学生对于知识的渴望大于对实践的需求。针对这些,教师无形中不得不加强对理论的深入,于是教学进入了不良循环的一个怪圈:成绩好的学生在毕业设计阶段也可能表现出对数据库设计无从下手,甚至ER图都不会画或画错,学生成绩的优良并不能如实反映他们对于这门课知识的掌握程度。

我国信息技术发展时间较短,从业人员较少,专业教材的建设正在逐步完善,在这样的现状下,美国等发达国家在其计算机科学发展的几十年间沉淀的经典教材仍有许多值得借鉴之处。但是国内高校对于双语教学的尝试,进展比较缓慢效果并不明显,特别是采用英文原版教材对教学的实施难度较大。在这种情况下适当的引用英文原版教材中的实例甚至是国外高校教学中的实例,对《数据库原理及应用》课程极为重要。

2 实例教学的作用

(1)实例教学是一种生动、灵活、多样化的教学方法。实例教学打破传统的课堂教学概念,进行全方位,多层次的探索。学生由传统的以讲授法为代表的教学中的被动变为主动,并获得了模拟解决实际问题的各种练习机会;

(2)归纳和演绎恰当的结合,有利于学生创造能力的开发。采用实例教学,课堂气氛较为活跃,学生积极参与,各自提出解决问题的方案,再比较不同方案的利弊,最后找出一个比较可行的设计流程。当完成基本原理方法的讲解之后,都会安排一次大作业,这更加体现了实例教学的特点;

(3)以实例促教学,理论联系实际。通过实例,可以启发学生将理论与实践结合起来,从获得现成的知识到探索未知的领域飞跃。

3 实例在数据库教学中的运用

3.1 实例分析

实例分析一般采用课堂随机发言的方式展开讨论。教师将一些比较常见的或者相对比较容易理解的问题在课堂上提出,学生对此自由发言,最后教师归纳总结。将传统教学中表现出的弊端尽可能的避免,如:(1)不联系实际,如QBE、嵌入式SQL、事务、备份等;(2)无法提高学生实际动手能力,没有大容量、高复杂的数据库;(3)设计能力,没有正确的设计思路(三范式的错误用法),没有经过设计训练。这些问题经过教师启发之后,学生很容易抓住重点分析解决问题。

3.2 实例训练

数据库课程是一门比较重视实践的课程,而运用实例进行教学又是简单易行的办法。从课本之外的地方找到相关的实例是一种新颖有效的办法,因为课本上的实例一般都选择比较简单的和某一个主题相关的例子,学生独立看书的过程中很容易看懂这些实例,如果上课的过程中继续引用,反复讲解,难免会给学生造成烦躁的情绪,时间长了,学生会觉得这门课的内容相对简单,往往容易掉以轻心。这样就对教师提出了更高的要求。教师不仅要懂得和掌握实例分析的方法和技巧,而且要具有实践经验,以及驾驭课堂讨论的能力,这样才能把数据库原理的教学做好。

4 实例举例

《数据库原理及应用》课程最重要的实践环节就是让学生能够开发一个功能完善的数据库应用系统,通常数据库设计质量的好坏直接影响到数据库应用系统的运行质量,而数据组织的是否得当正是数据库设计的关键所在.因此,关系数据库设计所面临的一个问题是:给出一组数据,如何去构造关系以及每个关系中应包含哪些属性,许多设计者通过经验或者直觉进行设计,却往往在使用中遇到这样或那样的问题,关系数据库里的数据规范化理论对于此问题作了一些理论上的研究.

国内的教材中对于问题的分析往往用比较简单易懂的单独实例加以说明,就一个问题而言比较容易理解,但是不适合拓展和举一反三,实例没有连续性。这样的例子在学生头脑中易形成断断续续的知识点,而不是连续的设计思想。这很容易给学生造成设计无从下手的困境,这也是数据库教学过程中容易重视理论忽视实践的一个原因。

下面的实例选自英国northumbria大学课程中的一个实例,这个实例可以代替“关系数据理论”这一章书本中的内容直接讲解,也可以辅助这一章进行适当的补充,这就要求教师的理论知识比较扎实,有很高的课堂引导能力,讲解联系实际防止空洞,重视培养学生的设计能力。

4.1 回顾相关知识

在开始关系数据理论知识讲解之前,首先回顾概念:候选码、主键(码)、外键。回顾最好的办法是选择教师适当引导,学生主动回答的方式。让学生认识到关系理论设计的重要性,在关系数据库设计中,数据合理存储和组织的核心是设计科学的关系模式,能准确反映现实世界实体间的联系,最大限度的减少冗余这就是关系模式规范化的问题。

4.2 UNF Un-normalised Form(未规范化的形式)

表1UNF实例

4.3 1NF First Normal Form(1范式)

对于学生选课的例子,ModuleCode、ModuleTitle之外的其他属性都存在表中套表的情况,即一个给定的课程,对应于多个学生。所以我们将套的表分离为新表,具有外键关系的字段用*标识:

定义:符合1范式的关系,就是不存在表中套表的情况。表中套表:即一个给定的主键(码)的值,存在多个其他字段的值和它对应。

分析1NF:(1)插入异常。如果有新的学生来报道,具体数据有“N990036、JONE、25/11/1978”,插入数据时因为没有Module信息则无法完成;(2)删除异常。N990036如果放弃选择Module为IS705的信息,删除记录时会因为删除了Module信息,N990036信息也随之消失;(3)修改复杂、冗余大。学生若选择了K个Module,那么Student Name和Date of Birth都要毫无遗漏的出现K次。如果要修改一个Student Name,则需要修改所有出现这个Student Name的地方。带着这样的问题我们开始下面的内容。

4.4 2NF Second Normal Form(2范式)

在确定2NF的时候,我们要检查每一个非主属性,看他们是完全依赖于主键(码)(所有主属性),还是部分依赖于主键(码)。分析ModuleCode和ModuleTitle,因为主键(码)只有一个属性。第二个关系中主键(码)是由两个属性组成的,所以每一个非主属性都要进行检查。StudentName和DateofBirth属性只依赖于StudentCode,所以要分离为新的关系。Grade和Result属性依赖于ModuleCode和StudentCode两个属性,因为主键(码)的任何一个子集都不能充分决定这两个属性。2NF结果如下:

定义2NF:一个属于1NF的关系也属于2NF ,如果主键(码)只有一个属性组成,或者非主属性(non-key attributes)完全依赖于主键(码)(即依赖于所有主属性,而不是部分主属性)

4.5 3NF Third Normal Form(3范式)

在确定3NF的时候,我们要检查每一个非主属性,看他们是否不依赖于其他非主属性。ModuleCode和ModuleTitle的关系属于3NF。StudentCode、StudentName和DateofBirth的关系也属于3NF。Result属性依赖于Grade这个非主属性,因为我们知道了Grade,就能确定Result的值,这两个属性需要分离为一个新的关系。3NF的结果如下:

定义:一个属于2NF的关系也属于3NF,如果所有的非主属性都不依赖于其他非主属性,并且所有主属性也不依赖于其他主属性。(或者说消除了传递依赖)(这里的3NF实际上是书本上的BCNF!)

4.6 规范化小结

图2 各种范式及规范化过程

5 相关习题

根据给出的实例,让学生自己分析

表2 UNF习题

6 结束语

实例教学法是传统教学方法的一种补充,在本科生的教学中首次尝试,收到很好的效果。实例教学法的成功取决于(1)选择的实例合理;(2)教师的素质和教师在课堂上的表现;(3)学生在教学过程中的主动性发挥程度。总之,实例教学法有利于提高学生学习的积极主动性,很好的做到了理论联系实际,特别是采用国外的教材或者是国外高校的实例,会大大加强学生对于这门课程的兴趣。对于实例教学法的实施方法,有效的让学生学会学习,主动学习,极大的提高了分析和解决问题的能力。

参考文献:

[1]萨师煊,王珊.数据库系统概论(第三版)[M].北京:高等教育出版社.2001.

[2]王珊,陈红.数据库系统原理教程[M].北京:清华大学出版社,1998.

[3]DATE CJ.An Introduction to Database System(Ed.6)[M].Addison-Wesley.1995.

[4]李艳梅,罗建..《数据库系统概论》教学改革探讨[J].西华师范大学学报(自然科学版),2003,(01).

[5]冯玉才.数据库基础(第二版)[M].武汉:华中理工大学出版社.1993.

[6][美]Evangelos Petroutsos,Kevin Hough. 邱仲潘译.Visual Basic 6 高级开发指南[M].北京:电子工业出版社,1999.

[7]刘容.数据库课程教学改革初探[J].高等工程教育研究,1997,(4).

[8]何玉洁,武欣,邓一凡.Ryan K Stephens, Ronald R Plew.数据库设计[M].北京:机械工业出版社,2001.

[9]Silberschatz,杨冬青,唐世渭等译.数据库系统概念(原书第4版)[M].北京:机械工业出版社,2003(3).

[10]李红. 数据库原理及应用[M].北京:高等教育出版社,2003.

[11]伍俊良,刘飞.数据库原理与基础实践环节在信息专业类教学中的应用与教学要求解析[J].计算机教育,2004(6).

[12]崔巍.数据库系统及应用[M].第2版.北京:高等教育出版社,2003.

[13]Silberschatz, Abrah. Database system concepts[M].北京:高等教育出版社,2002.

[14]郑莉华.论数据库系统课程教学实践的方法论[J].电子科技大学学报(社会科学版),2001(4).

本文中所涉及到的图表、注解、公式等内容请以PDF格式阅读原文。

上一篇:集成EPON和BPL的马纳萨斯城域网 下一篇:浅谈校园网络安全控制策略