数据库课程设计理论与实践研究
2015-04-10梁咏梅潘梁静
梁咏梅,潘梁静
(商丘职业技术学院,河南 商丘 476000)
数据库课程设计理论与实践研究
梁咏梅,潘梁静
(商丘职业技术学院,河南 商丘 476000)
随着计算机应用的深入,数据库应用在社会生活中越来越重要,应用范围也越来越广. 文章通过对数据库理论和数据库课程设计理论之间的关系的探讨,介绍了数据库课程设计的方法,具体内容和设计对提高学生综合实践能力的影响. 如何使数据库理论和课程设计更好地结合是值得深入探讨的问题.
数据库;课程设计;数据库理论;课程实验;创新能力
0 引言
数据库课程是计算机科学及信息技术相关专业方向的核心课程,主要研究数据库系统的基本概念、原理、方法及其应用,包括数据库系统、数据模型、数据库查询语言、关系数据库设计、事务处理等核心内容.通过数据库系统课程的学习,使学生能够正确理解数据库的基本原理,熟练掌握数据库设计方法和应用技术,掌握科学研究的方法和软件开发的基础规律,增强学生实际动手能力和创新能力.
1 数据库理论是数据库课程设计的前提
目前,数据库产品市场95%以上都是关系数据库产品.关系数据库理论是数据库设计的基础,掌握关系数据库课程理论是数据库课程设计的前提.数据库课程是研究数据处理技术的一门综合性学科,它是与离散数学、操作系统、数据结构、软件工程、计算机原理等学科及其他应用领域的知识和方法相结合的学科.数据库理论研究的核心内容是数据建模、数据规范化理论、数据库系统、数据库的安全性、完整性、数据恢复技术、模式分解理论和方法.只有掌握了数据库理论才能做好数据库设计[1]22-49.
全国大部分院校都将数据库理论和应用作为两门课程开设,一门是数据库系统概论(主讲数据原理),另一门是数据库应用(主讲程序设计).对于绝大多数学习者来讲,学习数据库的最终目的是掌握数据库应用方法和技术,在现有DBMS的基础上二次开发数据库产品,而不是开发新的DBMS,所以大多数高校往往在数据理论之前先开设数据应用课程,如Visual Foxpro6.0、Delphi、Oracle、SQL Server、Access等程序设计课程是关系数据库的产品,它们属于原理的具体应用部分.学习数据库应用课程后,便于掌握和应用数据库理论;反之,也只有学习了数据库理论才能更好地掌握和应用数据库技术.
2 数据库设计理论是数据库理论的应用和延伸
2.1 数据库理论在数据库设计中的指导应用
按照规范设计的方法,将数据库设计分为6个阶段:需求分析、概念结构设计、逻辑结构设计、物理结构设计、数据库的实施、数据库运行和维护.在数据库设计的每一个阶段,都不同程度地用到了数据库理论与方法,同时对数据库理论进行了丰富的扩充.在概念结构设计中,核心内容是数据建模,即根据实体类型设计E-R(实体-联系)图.在E-R图中要搞清楚哪些是实体,哪些是属性.从理论的角度来说,实体是客观存在的,并可以相互区别的事物,属性是对实体特征的描述,但是它们之间既有必然区别,也有一定联系.实体和属性不是绝对的,如果需要对属性进一步描述,则属性就作为实体,反之,如果不需要对实体进一步描述,则实体也可以作为另一实体的属性.例如,在设计职工档案管理数据库时,实体类型“职工”的属性:档案号,姓名,性别,出生日期,参加工作时间,学历,职称,职务,工资.如果只考虑现在的工资,则工资就是职工实体的属性,但是如果考虑职工的工资历史,则工资就是一个实体.在逻辑结构设计时,用到规范化理论、求极小集和码的方法、模式分解理论和方法.
2.2 数据库设计理论是对数据库理论的延伸
数据库设计理论对数据库理论在很多方面进行了延伸和扩展,使得数据库理论更加简捷、方便和直观.在逻辑结构设计中,将概念模型的产品基本E-R图转换为逻辑结构的关系模型,是模式分解理论的直接应用,是在数据库理论基础上的抽象和延伸,实体内和实体间的转换,实体间的每一个实体转换为一个关系,实体内的属性是关系的属性,实体内属性的码就是关系的码.按照关系理论的函数依赖,每一个实体中,码决定每一个属性,而模式分解中,码相同的合并,左右两端的属性合并作为一个分解,从操作方面减少了复杂性,所以设计理论与数据理论完全吻合;数据库实体之间的联系分为一对一、一对多、多对多和多实体之间的联系4种情况,这些转换在逻辑结构设计中都给出了转换规则,也完全满足模式分解理论,在模型优化时,用到极小集方法与设计理论的结合.
3 注重数据库设计理论与实践的结合
3.1 处理好数据库设计经验和数据库设计理论的关系
数据库设计理论尽管比较完善,按照规范化理论,在函数依赖领域,如果关系满足BCNF,不会存在数据冗余、插入异常、删除异常和更新异常,实际上关系规范化不一定要达到BCNF;如果达到BCNF,不会出现冗余和各种异常,但会出现查询效率降低.这就要根据实际情况综合权衡.下面以规范化后的学生成绩管理系统为例说明.学生成绩管理系统包含下列3个关系:
学生(学号,姓名,性别,出生年月);
课程(课号,课名,学时,学分);
成绩(学号,课号,成绩).
我们经常查询“某同学学习某课程的成绩”,这就需要3个关系的连接,如果学生人数较多(数据库较大),可能需要较长时间,但如果是第1范式,则不需要连接,如果是第2范式,可能连接的次数较少,也会减少耗费.在实际应用中,我们可能不需要把关系划分到BCNF,也许只需要达到2NF,甚至1NF,也就是逆规范化,到底规范化到什么程度,要结合实际问题和具体设计经验[2]3-39.
3.2 课程实验是数据库课程设计的基础
数据库课程是理论与应用结合较为紧密的一门课程.学习数据库课程的主要目的是为了应用. 因此,为了深入浅出地讲授数据库理论,在每一章都设计一些课程实验,以便通过实践验证理论,同时掌握其应用方法,为后续的课程设计打下基础.在大部分教科书中,都是以SQL Server为例,讲授SQL语言、数据的安全性、完整性.在讲授SQL语言时,可以让学生先建立数据库,结合所学内容对数据库进行查询、插入、删除、修改等实践操作,在实践的过程中真正理解并掌握SQL语言的应用环境.在讲授数据库安全性和完整性时,利用数据库系统的实际应用让学生对系统做数据控制.提高学生对数据库课程的认识,激发学生的学习兴趣和欲望.
3.3 课程设计是提升学生综合应用能力的关键
课程设计是课程内容的展示,是对所学知识的延伸,是学生掌握学习内容、方法和技巧的综合体现.数据库设计理论主要是为了指导数据库的应用和实践,通过系统的理论学习和部分单元(如创建用户、创建视图、用户管理、权限管理等)的应用实践训练,充分认识到DBA在数据库系统中的作用.通过课程设计让学生在掌握数据库设计理论的同时掌握数据库课程设计的全过程,可以采取将学生分组的方式,为每组同学拟定相关题目,如学生档案管理系统、财务管理系统、售票管理系统等,设计可以采取集中设计和分散设计相结合的方式,如果条件允许可以集中7~10天时间做课程设计,否则,可以利用周末时间集中设计,学生自己找业余时间,教师加强指导,题目在期中布置,期末老师验收.让每一位同学独立完成或者协助完成数据库设计的过程,同时,使每一组同学进行上机运行并调试,完成所有功能进行程序实现,最后组织设计答辩.
教课评价方面,可将学生平时的课程设计和期末考试相结合,作为学期期末成绩.通过课程设计和设计答辩,学生不仅巩固了理论知识,丰富了课程实践,掌握了如何运用理论指导实践应用,也对今后其他课程设计以及毕业设计打下坚实的基础,取得较好的效果.
3.4 数据库课程设计的具体内容
数据库设计是在指定的应用环境下,构建最优的数据库逻辑模式和物理结构,建立数据库及其应用系统,满足各种用户的各种需求(信息、管理和操作需求) ,并能够有效地存储和管理数据.数据库设计要按照需求分析、概念结构设计、逻辑结构设计、物理结构设计、数据库实施、数据库的运行和维护各个阶段突出特点严格进行结构设计是与行为设计的有机结合.每一个阶段都有具体的技术要求,教师提出要求让学生深入图书馆、学生管理部门或者企业进行系统调查,通过需求分析设计出数据流图,编写数据字典.概念结构设计是从数据流图和数据字典中提炼出E-R图,对E-R图优化后获得基本E-R图.按照转换规则和DBMS的转换功能将概念结构的产品基本E-R图转换为逻辑结构设计的关系模型.物理结构设计主要根据DBMS的详细特征设计存储结构和存取技术,最后经过优化、评价满足用户的效率要求.数据库实施和运行维护主要考虑代码的编写、调试、试运行和维护,涉及数据转储、安全性、完整性、数据组等问题.整个设计都是在数据库理论的指导下进行[3]181-250.
4 结语
数据库课程设计是理论和实践的有机结合,随着计算机应用的深入,数据库应用在社会生活中越来越重要,应用范围也越来越广,如何使数据库理论和设计更好的结合是值得高校教师深入探讨的问题.只有不断的探索数据库课程设计理论,才能在实际应用中得到创新.
[1] DATE C J.数据库系统导论[M].孟小峰,王 珊,译.北京:机械工业出版社,2000.
[2] Abraham Silberschatz.Henry F.Sudarshan.数据库系统概念[M].杨冬青,唐世渭,译.北京:高等教育出版社,2000.
[3] 王 珊.数据库系统简明教程[M].北京:清华大学出版社,2004.
[责任编辑 冰 竹]
Database Curriculum Design Theory and Practice Research
LIANG Yongmei, PAN Liangjing
(ShangqiuPolytechnic,Shangqiu476000,China)
With the developing of computer applications, database application is getting more and more important in social life, and the application range is becoming wider and wider. This article mainly explores the relationship betweenthe database theory and the database curriculum design theory, then it introduces the database curriculum design method, the specific contents design and influences on improving the students’ comprehensive practical ability.How to make a better combinationof database theory and curriculum design is a problem that is worthy of further exploration.
database; curriculum design; database theory; course experiment; the innovation ability
2015-05-20
河南省教育厅信息技术(项目编号:ITE12077)
梁咏梅(1967- ),女,河南商丘人,商丘职业技术学院副教授,主要从事计算机应用研究。
1671-8127(2015)05-0020-03
TP311.13-4
A