谈数据库课程中的E-R建模方法教学

时间:2022-10-08 02:51:48

谈数据库课程中的E-R建模方法教学

摘要:E-R建模方法是数据库原理与实践等数据库课程中的一个重要教学内容,文章根据笔者多年的教学经验,结合学生学习时存在的常见问题,总结教学工作中的一些具体做法和措施,旨在培养学生自主学习能力和创新思维能力,提高学生的学习兴趣和学习效果。

关键词:数据库;E-R模型;实体;联系

基金项目:北京林业大学教学改革项目(BJFU2011JG031);中央高校基本科研业务费专项资金(YX2011-30);北京林业大学新进教师科研启动基金(BLX2w8019);北京林业大学专业建设基金“计算机科学与技术专业能力构成与培养的研究”(2010北林教办发34号文件)。

作者简介:田萱,女,讲师,研究方向为智能信息检索、知识工程、数据库系统;王春玲,女,副教授,研究方向为数据库系统;孟祥光,男,讲师,研究方向为多媒体技术、信息系统。

在数据库课程中,概念模型是一个理论和实践紧密结合的重要知识点。概念模型主要用于信息世界的建模,它实现了从现实世界到信息世界的第一层抽象,是帮助数据库设计人员进行数据库设计的有力工具,也是数据库设计人员和用户之间交互一种交流语言。E-R模型因其具有较强的语义表达能力、简单清晰的描述方式而成为广泛推广和使用的一种概念模型。

E-R模式是Peter.P. Chen(陈品山)于1976年提出的一种概念模型,在斯坦福大学Jeffrey D. Ullman教授的1976年出版的数据库教科书《Principles of Database Systems》中首次被介绍。因其清晰方便、易于交流和理解的描述形式得到广大数据库理论界和企业界的支持,得到广泛的推广和应用。在计算机科学与技术等相关专业的大学本科阶段,E-R模型是数据库系列课中非常重要的一个知识点[1],是数据库系统设计的基础,是软件工程、信息系统等课程学习的前提。

然而,大部分同学表示数据库课程中的E-R模型学习起来比较简单,但实际应用中并非那么容易上手。许多教授软件工程、信息系统等课程的老师也抱怨大部分同学在数据库相关课程学习的E-R模型难以实用,以致影响了后续课程的学习和理解。造成这一现象的原因是多方面的。笔者从教师角度总结了如下两点:

1) 数据库课程中老师往往就E-R模型而讲E-R模型,只是讲解了E-R模型的一般表示方法,而缺乏对E-R模型来龙去脉的介绍,这就导致学生对E-R模型采用一种死记硬背的学习方式,而难以融会贯通地理解应用。

2) 大部分数据库课程中,老师往往把已经分析设计好的数据库需求拿给学生要求画出E-R模型,忽略了需求分析和E-R模型的紧密联系,导致学生只会按规定的需求设计画出模型而不会根据需求分析设计画出模型。

导致上述问题的一个根本原因就在于大部分数据库课程的教材在内容中是把E-R模型和数据库需求分析割裂开来的。一般把概念模型和E-R模型的原理放在基础部分,而把从需求分析到E-R模型的转换部分放在数据库系统设计部分[1-2]。这就导致教师讲授时也几乎是割裂或抛弃了需求分析而单独讲解E-R模型。这样带来的后果就是学生难以把数据库系统需求和E-R模型系统的统一起来,甚至对E-R模型应用背景缺乏了解。

针对以上问题,我们在数据库课程的E-R模型教学过程,强调一方面引导学生“知其所以然”,另一方面强调学生“知其所以用”,让学生从E-R模型的产生过程中探究E-R模型的应用,引导学生自己独立思考和探究学习,实现从知识到方法,从方法再到能力的自然转换。下面介绍一下笔者在数据库原理与技术课程中关于E-R模型教学实践的过程和体会。

1追根溯源,从汉字和古埃及文的构成引入

E-R模型的教学内容主要包括实体、实体属性、实体之间联系等表示方法。其中的重点内容是实体联系的抽取和表示。学生在学习这部分内容时往往采用死记硬背的方式。由于对E-R模型作者表示方法缺乏理解,导致学生在应用E-R模型时照猫画虎,难以根据实际的应用系统来分析。

而事实上,E-R模型作者在提出E-R模型时借鉴了中国汉字、英语、古埃及文字的构造思想[3-5]。教师在引入E-R模型时介绍一下作者构造思想,不仅有利于学生对E-R模型消化吸收,引导学生对知识追根溯源,还增添了教学情趣。

例如,在讲到实体之间的所属联系时,可以引用E-R模型作者在《Data&Knowledge Engineering》中发表的“English Chinese and E-R Diagrams”一文中

的图片[3],如图1所示,从汉字“铁、铜、银”等字的构造中看到实体之间的“subset”关系;例如学生、本科生、硕士生、博士生之间的联系,如图2所示。

图1E-R模型作者提供的汉字构造图

图2学生实体之间的subset关系

再例如,讲解分析给定需求抽取实体及其联系时,可以借鉴作者给出的英语句子结构和E-R模型结构的对应关系[3],如图3所示,供学生在分析系统时参考。

图3E-R模型作者提供的英语句子结构和E-R模型结构的对应关系

一般来说,这部分内容可以采取一种探究引导的教学方式:即由老师在课堂上简单介绍E-R模型作者的构思,激发学生探究的兴趣,然后交由学生读取相关论文,再在课堂上报告,老师进行必要的点评和补充。这种方式更能激发学生学习的好奇心和积极性。

2一问一答,捕捉系统需求的边界

在进一步的练习阶段,笔者通常要求学生根据自己的生活学习体验,自由提出应用系统需求,自己构建出数据库系统的E-R模型。通常,学生在这个练习阶段积极性非常高,提出的应用系统需求多种多样,除了和学生学习生活紧密贴切的常见的学生管理系统、宿舍管理系统、图书管理系统之外,还有许多来源于自己生活背景的系统。例如:国防生积分系统、自行车租赁系统、农村小卖部进销存系统、党员管理系统、大学生竞赛管理系统、社团管理系统等。但是

面对自己提出的需求,学生大都刚开始很难掌控应用系统的边界,制定出合理的E-R模型。导致这个结果的原因在于学生就如同一个普通用户,对自己提出的应用系统没有明确的使用需求,因此对涉及的数据库系统没有边界。

针对这个问题,笔者的经验是采用问答方式,帮助学生确立系统边界,从而确立相应的概念模型。例如,针对某学生提出的大学生竞赛管理系统,问答如下:

1) 该系统涉及哪些对象?

2) 各个对象都有哪些属性?

3) 该系统中对象两两之间有无联系?

4) 该系统中多个对象之间是否存在联系?

5) 各个联系的种类是什么?

在这五个问题中,第一和第二个问题是根本,用来明确系统所涉及的实体;第三个问题是关键,用来明确实体之间常见的联系;第四个问题是必要的补充,以发现和明确实体之间多对多之间的联系;第五个问题则是把概念模型转换为关系模型的基础。经过这个五个层层推进的问题,一般学生都能很好地明确系统边界,清楚定位系统所涉及的实体和实体之间的联系。

五个问题中的第二个是刚入手学生最容易迷惑的地方。因为他在分析时会发现对象之间有许多联系,完全不像以前做题时题目中已经给定好实体之间特定的联系,因此面临实体之间的联系如何取舍的问题。针对这个问题笔者提出了矩阵分析法来帮助初学者明确实体两两之间的联系。

3矩阵分析,明确实体两两之间的联系

针对上述大学生竞赛系统的例子,下面给出矩阵分析法来明确系统实体两两之间的联系。矩阵分析法分为三步:

1) 按照实体之间的顺序,采用矩阵的形式,给出所有实体两两之间的联系。因为两个实体之间的联系是唯一的,事实上这样画出的矩阵是个倒三角形。分析大学生竞赛系统,可以得到系统中涉及的实体包括学生、竞赛、竞赛小组、指导老师四个实体。这些实体两两之间的联系如图4所示。

图4实体两两之间联系的初始矩阵

2) 对第一步结果矩阵进行去重处理。这个步骤实际上把相邻两个实体之间的联系去掉一个,保证系统中联系的唯一性。这个步骤比较简单,学生熟练之后,可以和第一步合并在一起进行。去重后的大学生竞赛系统中实体两两之间的联系如图5所示。

图5去重后得到的实体两两之间的联系矩阵

3) 发现第二步结果矩阵中的间接联系并予以剔除。这一步主要根据需求的语义进行分析,发现实体之间的间接联系,即通过其他实体可达的联系,以减少冗余。剔除间接联系后的大学生竞赛系统中实体两两之间的联系如图6所示。

图6剔除间接联系后得到的实体两两之间的联系矩阵

上述过程可以帮助初学E-R模型的学生体会需求分析中实体两两之间存在的联系,从而明确实体之间的联系。经过几次这样初步分析的练习之后,大部分同学很快就能掌握选择实体两两之间联系的捷径,发现需要明确的就是实体和实体之间的直接联系,从而越过上述较为复杂的矩阵分析。

4结语

E-R建模方法是数据库原理与实践等数据库课程中的一个重要教学内容,笔者根据多年的教学经

验,结合学生学习时存在的常见问题,总结了教学工作中的一些具体做法和措施:1)追根溯源,从汉字和古埃及文的构成引入;2)一问一答,捕捉系统需求的边界;3)矩阵分析,明确实体两两之间的联系。这些方法大大提高了学生的学习兴趣和学习的积极主动性,在课堂内外都获得比较好的效果。从2008年到2011年,笔者执教的数据库课班中的学生在老师的指导下申请了校级大学生科研创新计划项目6项,部级大学生科研创新计划项目1项,这些项目后台均有数据库系统支撑,如表1所示。

表12008年到2011年笔者所指导的底层基于数据库系统的大学生创新项目

参考文献:

[1] 王珊,萨师煊. 数据库系统概论[M]. 北京:高等教育出版社,2005:203-219.

[2] 陈志泊,王春玲. 数据库应用技术[M]. 北京:人民邮电出版社,2005:18-30.

[3] Chen Peter P. English, Chinese and ER diagrams [J]. Data & Knowledge Engineering,1997(1):5-16.

[4] Chen Peter P. Entity-Relationship Modelling: Historical Events, Future Trends, and Lessons Learned[M]. New York:Springer-Verlag,2002:296-310.

[5] Chen Peter P. From Ancient Egyptian Language to Future Conceptual Modeling[M]. London:Springer-Verlag, 1999:9-24.

Discussion about E-R Model Teaching on Database Course

TIAN Xuan1, WANG Chunling1, MENG Xiangguang2

(1.School of Information Science and Technology, Beijing Forestry University, Beijing 100083, China;

2.School of Distance and Continuing Education, Communication University of China, Beijing 100024, China)

Abstract: E-R model is the important part of database course. In this paper, based on our teaching experience, we propose some effective methods to help students understand and apply E-R model in real project. These methods are beneficial for self-studying and creativity capability of students.

Key words: database; E-R model; entity; relationship

上一篇:嵌入式系统课程教学方法探索 下一篇:面向系统的计算机专业实践教学体系