绪论:写作既是个人情感的抒发,也是对学术真理的探索,欢迎阅读由发表云整理的11篇数据库系统原理论文范文,希望它们能为您的写作提供参考和启发。
中图分类号:G642文献标识码:A 文章编号:1009-3044(2007)05-11445-01
1 引言
根据《高等学校计算机科学与技术专业发展战略研究报告暨专业规范(试行)》数据库系统原理课程是计算机科学与技术、计算机工程、软件工程及信息技术专业方向的核心课程,主要研究信息模型与信息系统、数据库系统、数据建模、关系数据库、数据库查询语言、关系数据库设计、事务处理等核心内容。其中还包括分布式数据库、物理数据库设计、数据挖掘、信息存储与信息检查、超文本和超媒体、多媒体信息与多媒体系统、数字图书馆等选修内容。关系数据库理论与设计是整个数据库系统原理课程中核心中的核心内容。根据笔者近二十年对数据库课程的讲授经验,从关系数据库原理课程的教学内容出发研究数据库课程的教学方法。
2 认真分析研究教材,注重学科联系
数据库是研究数据处理技术的一门综合性的学科,它涉及到离散数学、数据结构、操作系统、软件工程、计算机原理及其它应用领域的知识和方法相结合的学科。在关系代数和关系演算中,用到离散数学的理论;在研究数据的物理组织时,用到数据结构的相关知识;在研究事务的并发时,用到操作系统的理论和方法;在进行数据库设计时,用到软件工程的原理和方法;在讲授数据库系统的组成时,用到计算机原理等方面的知识。由于学科的交叉性,突出了数据库课程在整个计算机学科中的重要地位。
由于大部分学校在讲授数据库系统原理前开设了Visual Foxpro 6.0程序设计课程,它属于原理的应用部分,是关系数据库的产品之一。教师在进行课程讲授时,要结合理论讲清Visual Foxpro6.0应用了数据库的哪些原理。如数据表来源于规范化理论或者模式分解理论,Visual Foxpro6.0讲的数据表、记录、字段(数据项)和原理中讲的关系、元组、属性是同一个概念的不同名称等。
3 注重基本概念教学,为理论学习打好基础
3.1 弄清概念之间的区别与联系
在数据库课程的教学中,掌握好基本概念对理论课程的学习很有帮助,数据库中的有些概念贯穿在课程的始终,这些概念的掌握对整个课程的学习有很重要的作用。如数据库、数据库系统、关系、元组、实体、属性、事务、完整性约束等。有的概念联系比较紧密,弄清概念之间的联系与区别,对概念的掌握有较大帮助。如实体和属性的概念,实体是客观存在并可以相互区别的事物,属性是对实体特征的描述,它们之间有必然的区别,但是也有一定的关系。实体和属性不是绝对的,如果属性需要进一步描述,则属性就作为实体,反之如果实体不需要再进一步描述,则实体也可以作为另一实体的属性。如在考虑学生管理数据库时,政治面貌如果只考虑现在的情况(党员、团员等),则政治面貌就是学生实体的属性,但是如果考虑学生何时入团、何时入党,则政治面貌就是一个实体。再如事务和程序的概念等都有较强的联系。
3.2 掌握概念定义的前提和层次性
数据库中的概念由渐入深,随着课程教学内容的逐渐深入一些基本概念也更加具体和完善。例如在课程中,有四个地方都定义了码,在介绍概念模型时,码定义为:唯一标识实体的属性集。在研究关系模型时,码定义为:表中的某个属性组,它可以唯一确定一个元组。给出了码的粗略描述,没有实质性的量化定义。而在关系数据库中,讲授关系的形式化定义时,码定义为:若关系中某一属性组的值能唯一的标识一个元组,则称该属性组为候选码,若一个关系有多个候选码,则选中一个为主码。在讲授规范化理论时,学习了函数依赖后,利用函数依赖的概念定义码为:设K为R中的属性或者属性组合,若KU则K为R的候选码。若候选码多于一个,则选定其中的一个为主码。从理论上来说,这四个概念都是正确的,但一个比一个更具体、更严密、更准确。
同样在对函数依赖讲授时也采用了同样的手法,在关系数据理论中函数依赖定义为:设R(U)是属性集U上的关系模式,X、Y是U的子集,若对于R(U)的任意一个可能的关系r,r中不可能存在两个元组在X上的属性值相等,而在Y上的属性值不等,则称X函数确定Y或者Y函数依赖于X,记作XY。为了便于Armstrong公理的证明,对函数依赖又给出了定量的描述。定义为:若对于R(U)的任意一个可能的关系r,t和s是r的任意两个元组,X、Y是U的子集,若对于任意一个t[X]=s[X],必然有t[Y]=s[Y],则称X函数确定Y或者Y函数依赖于X,记作XY。教师要讲清楚对同一概念为什么这样处理,这些概念层层的描述有什么好处。掌握了同一概念的不同定义,便于对这些概念的深入理解。
4 注重理论与实践的结合
4.1 注重动手能力,搞好课程实验
学习数据库课程的主要目的是为了应用,结合所学的数据库语言搞好每一章的课程实验,以便验证所学理论是很重要的。如在讲授SQL语言时,让学生建立一个数据库,并结合所学内容做查询、插入、删除、修改等实际操作,真正理解和掌握SQL语言的应用环境。在讲授数据库安全性和完整性时,利用实际系统让学生对系统做数据控制。提高学生对数据库课程的认识,激发学生的学习欲望。
4.2 加强课程设计,提高学生综合能力
数据库设计理论主要是为了指导数据库实践,通过系统的理论学习和部分单元训练,通过课程设计让学生掌握数据库设计的全过程,并进一步掌握数据库课程。课程设计是数据库中必不可少的,我采取将学生分组的方式每5-6名同学一组,为每组同学拟定一个题目,如图书管理系统、学生档案管理系统、销售管理系统、能源管理系统等,教师提出要求让学生深入图书馆、学生管理部门或者企业进行系统调查,进行需求分析设计出数据流图,编写数据字典,然后进行概念结构设计,从数据流图和数据字典中提炼出E-R图,再进行逻辑结构设计、物理结构设计、数据库实施和维护的设计。让每一位同学明确数据库设计的过程,使每一组同学进行上机调试,使所有功能进行程序实现,最后让同学们进行设计答辩。
通过课程设计和设计答辩,学生巩固了理论知识,丰富了课程实践,掌握了如何运用理论指导实践,也对今后其它课程设计以及毕业设计和毕业论文的书写打下了基础,收到较好的效果。
4.3 扩展学生思路,向学生传授新知识
由于课本的出版周期长,更新也较慢,也由于课本编写的一些要求,所以课本上有些内容是陈旧的,对有些问题也不可能全面的介绍,有些新知识也很难溶入到教材中。我在讲授课程时,除了给学生有意补充新知识外,又给学生开设了“数据库中的空值问题”、“数据仓库和数据挖掘技术”、“目前数据库的研究方向”、“数据库的查询优化问题”等专题讲座。扩充了学生的视野,激发了学生的兴趣,为他们今后的学习和研究打下了一定的基础。
5 结语
数据库系统原理课程是计算机专业的核心课程,随着计算机科学的发展,数据库系统原理课程也在不断的发展,教学内容不断更新,教学方法也在不断改革,所以课程教学改革是一个永恒的课题。只有不断的改革教学方法和教学手段,才能使教学更加丰富,使学生学到更多的知识。
参考文献:
[1]教育部高等学校计算机科学与技术教学指导委员会编制.高等学校计算机科学与技术专业发展战略研究报告暨专业规范(试行)》[M].北京.高等教育出版社,2006.
关键词:数据库系统;教学改革;创新能力
中图分类号:G642 文献标识码:B
1数据库系统课程教学中的局限性
本科数据库系统课程通常包括三部分内容:数据库原理、数据设计和数据库应用。数据库原理是其基础,数据库设计和应用是提高,它们相辅相成、互相促进。大部分院校都将数据库应用作为一门独立的课程开设,开设Visual FoxPro、Delphi、SQL Server等。综合考虑,数据库系统课程开设存在一些共同的缺陷。
1.1重视理论教学,轻视数据库设计
在教学时,多数教师重点偏向理论教学,对数据建模、关系数据库、数据查询语言核心内容用大量的时间讲授,而对于数据库设计则用很少的时间,很少向学生介绍具体的数据库使用技术,使学生不能将所学知识融会贯通,不知道如何将所学理论与实际结合。致使部分学生对数据库系统课程失去应有的兴趣,学生不能掌握课程的实质,达不到应有的目标。
1.2对实践教学环节重视不够
目前实验课教学存在很多弊端,例如学生不明确实验目的,实验内容不清楚,考核中实验课也没有一定的比例等,使得实验流于形式,既花费了时间又没有起到应有的作用。
1.3课程内容相互独立,忽视知识间的联系
数据库系统中,各章之间联系相对紧密,有些概念在不同的章节中重复出现,但这些概念都是由浅入深,逐步完善,知识点也是相互交错。教师讲授时,有时忽视这些知识间的联系,将问题单一化,不利于学生知识的掌握。例如在关系数据理论中,在讲授将关系分解为保持函数依赖的第三范式并具有联接无损性的算法时,要求在求出极小集后,将函数依赖按左部相同的合并,并将每一组依赖作为一个分解。在讲授数据库设计时,在逻辑结构设计时,要求实体之间的一对一关系,可以将两个实体的码组成一个关系也可以与任意一端的关系合并,对一对多关系,可以将两个实体的码组成一个关系也可以与将一端关系的码与一端关系合并,同时强调具有相同码的关系可以合并。实际上,模式分解理论与逻辑结构设计的转换规则是相同的;在模式分解中,函数依赖的左边属性一定是关系的码,而在逻辑结构设计时,一对一或者一对多的关系也是将被决定属性合并到决定属性(码)所在的中关系中。
1.4考核模式单一,不利于学生能力的发挥
传统的考试模式通常以期终一张试卷作为学生的最终评分依据,造成学生为考试过关而学,死记硬背一些概念、规则方法,而不能提高学生自身能力,教师仅为完成教学任务而教,并不注重培养学生的能力。
2教学改革的方法及措施
2.1注重基本概念教学
在数据库课程的教学中,掌握好基本概念对理论课程的学习很有帮助,数据库中的有些概念贯穿在课程的始终,这些概念的掌握对整个课程的学习有很重要的作用。如数据库、数据库系统、关系、元组、实体、属性、事务、完整性约束等。有的概念联系比较紧密,弄清概念之间的联系与区别,对概念的掌握有较大帮助。如实体和属性的概念,实体是客观存在并可以相互区别的事物,属性是对实体特征的描述,它们之间有必然的区别,但是也有一定的关系。实体和属性不是绝对的,如果属性需要进一步描述,则属性就作为实体,反之如果实体不需要再进一步描述,则实体也可以作为另一实体的属性。如在考虑学生管理数据库时,政治面貌如果只考虑现在的情况(党员、团员等),则政治面貌就是学生实体的属性,但是如果考虑学生何时入团、何时入党,则政治面貌就是一个实体。再如事务和程序的概念等都有较强的联系。
另外,数据库中的概念由渐入深,随着课程教学内容的逐渐深入一些基本概念也更加具体和完善。例如在课程中,有四个地方都定义了码,在介绍概念模型时,码定义为:唯一标识实体的属性集。在研究关系模型时,码定义为:表中的某个属性组,它可以唯一确定一个元组。给出了码的粗略描述,没有实质性的量化定义。而在关系数据库中,讲授关系的形式化定义时,码定义为:若关系中某一属性组的值能唯一的标识一个元组,则称该属性组为候选码,若一个关系有多个候选码,则选中一个为主码。在讲授规范化理论时,学习了函数依赖后,利用函数依赖的概念定义码为:设K为R中的属性或者属性组合,若KU则K为R的候选码。若候选码多于一个,则选定其中的一个为主码。从理论上来说,这四个概念都是正确的,但一个比一个更具体、更严密、更准确。
同样在对函数依赖讲授时也采用了同样的手法,在关系数据理论中函数依赖定义为:设R(U)是属性集U上的关系模式,X、Y是U的子集,若对于R(U)的任意一个可能的关系r,r中不可能存在两个元组在X上的属性值相等,而在Y上的属性值不等,则称X函数确定Y或者Y函数依赖于X,记作XY。为了便于Armstrong公理的证明,对函数依赖又给出了定量的描述。定义为:若对于R(U)的任意一个可能的关系r,t和s是r的任意两个元组,X、Y是U的子集,若对于任意一个t[X]=s[X],必然有t[Y]=s[Y],则称X函数确定Y或者Y函数依赖于X,记作XY。教师要讲清楚对同一概念为什么这样处理,这些概念层层的描述有什么好处。掌握了同一概念的不同定义,便于对这些概念的深入理解。
2.2注重理论与实践的结合
学习数据库课程的主要目的是为了应用,结合所学的数据库语言搞好每一章的课程实验,以便验证所学理论是很重要的。如在讲授SQL语言时,让学生建立一个数据库,并结合所学内容做查询、插入、删除、修改等实际操作,真正理解和掌握SQL语言的应用环境。在讲授数据库安全性和完整性时,利用实际系统让学生对系统做数据控制。提高学生对数据库课程的认识,激发学生的学习欲望。
2.3加强课程设计,提高学生综合能力
数据库设计理论主要是为了指导数据库实践,通过系统的理论学习和部分单元训练,通过课程设计让学生掌握数据库设计的全过程,并进一步掌握数据库课程。课程设计是数据库中必不可少的,我采取将学生分组的方式每5~6名同学一组,为每组同学拟定一个题目,如图书管理系统、学生档案管理系统、销售管理系统、能源管理系统等,教师提出要求让学生深入图书馆、学生管理部门或者企业进行系统调查,进行需求分析设计出数据流图,编写数据字典,然后进行概念结构设计,从数据流图和数据字典中提炼出E-R图,再进行逻辑结构设计、物理结构设计、数据库实施和维护的设计。让每一位同学明确数据库设计的过程,使每一组同学进行上机调试,使所有功能进行程序实现,最后让同学们进行设计答辩。
通过课程设计和设计答辩,学生巩固了理论知识,丰富了课程实践,掌握了如何运用理论指导实践,突出了学生在教学中的中心地位,发挥学生的主观能动性。这样既使学生掌握了数据库设计的理论又使学生学习了系统设计的方法,既提高学生程序设计能力又锻炼了学生的协作能力,也为学生今后撰写毕业论文(设计)打下了坚实的基础。
2.4扩展学生思路,向学生传授新知识
由于课本的出版周期长,更新也较慢,也由于课本编写的一些要求,所以课本上有些内容是陈旧的,对有些问题也不可能全面的介绍,有些新知识也很难溶入到教材中。我在讲授课程时,除了给学生有意补充新知识外,又给学生开设了“数据库中的空值问题”、“数据仓库和数据挖掘技术”、“目前数据库的研究方向”、“数据库的查询优化问题”等专题讲座。扩充了学生的视野,激发了学生的学习兴趣,为他们今后的学习和研究打下了一定的基础。
2.5改革考试模式,注重学生能力的提高
试卷考试主要考查数据基础理论知识,同时将平时成绩和上机实习成绩尤其是数据库课程设计的成绩纳入最终成绩中,使平时成绩占30%-40%,降低期末考试的分数,让学生用更多的时间投入到平时的学习中。
3结束语
数据库系统课程是计算机专业的核心课程,随着计算机科学的发展,数据库系统原理课程也在不断的发展,教学内容不断更新,教学方法也在不断改革,所以课程教学改革是一个永恒的课题。只有不断的改革教学方法和教学手段,才能使教学更加丰富,使学生学到更多的知识。
参 考 文 献
[1] 王珊,萨师煊. 数据库系统概论(第四版)[M]. 北京:高等教育出版社,2006.
中图分类号:G434 文献标识码:A 文章编号文章编号:16727800(2013)008017402
作者简介作者简介:邱月(1979-),女,硕士,湖北经济学院信息管理学院讲师,研究方向为数据库技术。
0 引言
数据库技术已经成为先进信息技术的重要组成部分,是现代计算机信息系统和计算机应用系统的基础和核心。数据库技术是将数据库与软件开发相结合,数据库设计和基于数据库的应用程序开发。为此,课程要求学生选用主流DBMS,自选某种高级程序设计语言,实现一个完整的以数据库为核心的B/S或C/S架构的应用系统。掌握设计实现一个完整的产品化导向的数据库应用系统的流程和方法,包括需求分析、数据库设计、应用程序设计。本文分析了湖北经济学院开设数据库课程设计以来,实践教学环节中存在的问题,结合项目模拟实训教学方法的基本原理,提出了基于团队项目模拟实训的数据库课程设计教学方法的具体方案及实施效果。
1 数据库课程设计教学现状
(1)题目过少不够开放。湖北经济学院是一所财经类教学型学校,开设的主要专业为经济管理类。但目前的题目多数都是老师提供给学生的,题材类似,不可避免地会出现学生相互抄袭的现象。另外,题目呆板,没有和本校的专业特色相结合,选择余地太少。长此以往,会使学生养成不劳而获的坏习惯,不利于学生毕业之后适应竞争激烈的社会。
(2)学生轻分析设计,重编程实现。 学生把编程工作放在数据库设计中的首要位置,轻数据库及其对象的设计,重开发工具的使用。很多学生只重视系统功能模块的设计与实现,缺乏全局观念。
(3)学生缺乏整体意识,团队协作能力不强。在数据库系统开发的过程中,学生对系统没有整体规划,经常把时间都花在需求分析和系统实现上,造成在学生项目后期没有时间做系统测试,这样开发出来的系统必然出现很多问题。
软件开发是一个系统工程,特别强调团队协作能力。如果一个课程设计题目只让学生一个人完成,缺少与他人相互的交流,不利于交流与沟通能力的培养和项目的正常开展。原有教学模式下,学生做课程设计往往单打独斗,没有形成一个团队。
(4)课程考核方式不够科学。老师通常采用平时成绩和实验报告相加权作为总成绩。在这种考核方式下学生是被动地完成任务,不知道所做项目的评定标准,因而积极性不高,也不能通过项目设计有效地提升自己的能力。
2 数据库课程设计基础准备及教学目标制定
2.1 基础准备
综合性的实验课程往往需要很多课程作支撑。在该课程开设之前,前期学生应该已经学习了C、C++等一些经典的程序设计课程,学习了数据库原理及软件工程课程,对于数据库原理课程中的相关概念例如数据库文件的创建、表的建立以操作、视图与SQL查询、存储过程与触发器等进行了相关实验,对于关系型数据库基本概念和特性有一个比较完整的认识。由于课程设计中需要将数据库原理与工程项目相结合设计出具体的应用程序和界面,所以学生还需掌握至少一门前台开发工具,如 、或PHP等,让不同层次的学生选择不同的培养方案,有针对性地进行学习。
2.2 教学目标
结合教材上关于数据库设计的思想和方法,对一些简单的信息管理问题进行必要的分析和设计。在掌握了数据库系统的基本原理和基本方法的基础上,熟悉数据库管理系统的工具及语言。能查阅资料解决数据库技术方面的问题,具备在微软开发平台下进行数据库设计和管理操作能力,培养数据库应用系统开发的基本能力,项目合作、团队精神及小组交流的能力,培养学生运用数据库管理系统解决实际问题的能力。
3 数据库课程设计教学构思
课程组根据学生的实际情况,制定了相应的教学计划。本课程安排在一个学期内,32学时,每周具体安排如表1所示。
3.1 人员安排及开题
把整个班级按照开发小组的形式进行分组,每组4~5人,选一名组长,每个同学承担不同的角色,共同完成任务。在整个过程中,为了达到锻炼的目的,每个同学的角色可以互换。
在选题方面,应充分考虑到学生的专业特色,体现经管类专业的特点,选择具有专业特色的案例,以激发学生的学习兴趣。比如,针对“旅游管理”专业和“国际金融”专业,可以根据专业要求来分别制定教学案例,使学生在数据库课程设计中加深对本专业课程的理解,从而达到数据库课程设计和专业特色融合的目的。在制定选题的过程中,教师应进行充分的调研,与该专业的教师进行讨论,帮助学生选择他们熟悉的题目,如旅游酒店管理系统、学生成绩管理系统、人力资源管理系统等,或者选择学生生活中经常接触、能很快上手的内容。同时,应注意控制题目的规模和难度,使学生经过努力后能在规定的时间内完成。这个阶段可以充分调动学生的积极性,鼓励学生自己选题组建项目小组。这种方式经检验取得了较好的效果。
3.2 需求分析
在此阶段,要尽可能收集课题的全面需求,利用不同小组互相模拟实际用户的形式,开小组讨论会来确定需求,增强学生的沟通能力和开发兴趣,并引导学生自己画出数据流图。
例如,某家工厂的采购部每天需要一张订货报表,表中列出所有需要再次订货的零件。对于每个需要再次订货的零件列出下述数据:零件编号、零件名称、订货数量,目前价格、主要供应者。零件入库应有入库单,零件出库应有出库单,通过放在仓库中的CRT终端把入库单或出库单报告给订货系统。当某种零件的库存数量少于库存量临界值时就应该再次订货。
当系统比较复杂时,应当采用分层描述的方法。一般第一层描述系统的全貌,第二层分别描述各子系统的结构。如还未表达清楚,可以继续细化。
3.3 系统设计与实施
确定用户需求后,进入系统设计阶段。物理设计阶段应该充分利用表、视图、存储过程、触发器等各个数据库对象的特点,建立一个完整的数据库。要引导学生利用课程设计来熟悉数据库开发的一些常用技术和工具。例如,在数据库课程设计中可以教学生怎样使用Power Designer来做数据库设计。在软件公司实际的数据库系统开发中,有很多工具可以直接完成从数据库概念模型到物理模型的设计和转化。
系统实施阶段,各小组可以选择自己熟悉的程序设计语言动手编写代码,完成系统各个模块的功能。开发语言可选择机房环境,有Java、VB、VC、PB等;数据库可使用提供的SQL Serever2000、DB2、MySQL5等主流DBMS;软件架构两层、三层都可以。教师对各小组学生在设计中遇到的具体问题,有针对性地给与启发式的引导。
3.4 系统测试
系统测试阶段可以选取小组之间交换测试,主要从功能测试、数据库测试两个方面找出系统的缺陷,对软件质量进行评价打分。列出测试计划,往各数据库表中插入正确的测试数据,测试数据插入情况和各种约束作用,并记录结果;往各数据库表中插入错误的测试数据,记录出错结果;在各数据表中修改测试数据,记录测试结果;各数据表中删除测试数据,记录测试结果;创建各权限等级的用户,授予相应的权限,然后按权限等级执行相应操作,查看操作结果是否正确,最后再编写实验报告。
数据库功能测试主要是对界面进行测试,按用户类型进行分部测试,查看每一种类型的用户功能是否有欠缺;用户操作是否符合实际,是否具有意义;尤其是在功能实现上,不同情况,会有怎样不同的处理;查看在出错的情况下,系统如何处理。3.5 完成设计报告
设计报告主要内容要求有系统需求分析(功能模块图)、基本ER图(要求标明主码、外码、联系类型)、用户子模式设计、按模块分析所编写的应用程序等。撰写设计报告前小组中各成员必须对自己的工作进行归纳、分析和总结。小结一般包括工作内容、工作量大小、自己完成情况、遇到的问题以及解决方法、收获与体会、今后努力与改进方向等。教师给出设计报告书写规范,学生根据系统分析设计结果完成该部分内容。报告编写是考查一个学生总结工作、撰写科技论文的能力。该环节考查的重点:报告是否内容完整、充实,条理是否清楚,格式是否符合科技文章规范。
3.6 检查与考核
考核是检验教学成果的有效方式和重要手段,对学生学习和教师教学具有重要导向作用,不同的考核方式能激发学生的学习动机。除了加强平时考勤外,教师还需在每个阶段对各个项目小组进行跟踪检查,对各个阶段的完成情况进行记录。从数据库原理、数据库应用和数据库设计三方面对学生进行综合评测,达到对数据库系统主要内容和框架的评测。具体考核指标权重为:平时表现 (25%) + 任务完成情况 (30%) + 答辩 (20%) + 设计论文 (25%)。同时还要鼓励学生在课程设计后,尽量撰写相应科研论文,积极申报校级学生科研项目。对于能力非常突出的学生,可以建立课外研究小组,让他们参与到教师在研的省部级科研项目中,进一步提升他们的专业技能和综合素质。
4 结语
数据库技术是一门理论和实践并重的学科。课程设计是否成功的标准在于学生是否通过项目开发,将自己所学到的数据库知识运用于实际需求中,是否提高了学生的动手能力。通过两年的教学实践证明,以这种方式开展课程设计更贴近企业实际的项目开发方式,能倡导学生主动参与的探究式学习和研究,改变学生被动接受、大量反复操练的学习和实验方式, 真正培养学生严谨周密的思维和临时处理问题的能力,满足企事业单位信息化建设的用人需求,有效地解决了理论教学与实践教学脱节和经管专业学生数据库工程实践能力薄弱的问题。另外,做好数据库课程设计作业有利于学生毕业设计报告和毕业论文撰写。今后学生面临的毕业设计其实就是一个完整的系统设计,是课程设计的扩大化、完整化,为设计报告的撰写、文献资料的查阅也为今后撰写毕业论文打下坚实的基础。
参考文献参考文献:
[1] 赵慧敏,杨鑫华,牛一捷. 数据库课程设计实践教学改革探索[J].当代教育论坛,2011(8).
[2] 张志锋,王文冰.以就业为导向的学生综合能力培养教改研究[J].计算机教育,2010(11).
中图分类号:TP311文献标识码:A文章编号:1009-3044(2009)35-10035-02
数据库技术从20世纪60年代中期产生到现在几十年来得到了迅速的发展,是计算机科学技术中发展最快的技术之一。在计算机辅助设计、人工智能、电子商务、工农业生产、行政管理、科学研究和工程技术等诸多领域得到了广泛应用,已经成为计算机信息系统和应用系统的核心技术和重要基础。通过这门课程的学习,使学生能够正确理解数据库的基本原理,熟练掌握数据库的设计方法和应用技术。作为培养数据库应用人才的主要基地,高等院校在过去、现在和将来都发挥着不可替代的核心作用。然而一些高等院校在传统的课程教学过程中强调数据库理论知识的完备性,缺乏学习的应用性和针对性,理论性强、概念抽象,理论和实践教学存在不同程度的脱节。而应用性课程的教学又多以低端数据库系统平台为基础,如SQL Server, Access等,对大型数据库系统服务器的管理和应用涉及较少,不能很好地满足企业对人才的需求。因此分析该课程目前教学过程中存在的主要问题,研究教学改革方案,就教学内容、教学方法、教学手段、教学组织与管理、考核方式等方面进行研究具有十分重要的意义。
1 传统教学中的局限性
结合自己的教学体会,分析了计算机及相关专业数据库原理与应用课程的教学现状,认为该课程教学过程中存在的主要问题有以下几个方面。
1.1 理论与实际脱节
数据库原理与应用课程一般包括数据库原理、设计和应用三个部分。原理是其基础,设计和应用是提高,他们相辅相成、互相促进。但是目前一些高等院校教学的基本情况如下:
1)教师重点偏向理论教学,很少向学生介绍具体的数据库使用技术,使学生不能将所学知识融会贯通,不能适应企业对数据库应用人才的需要。
2)教师重点偏向流行数据库开发工具的使用,忽视甚至放弃原理的教学,造成学生对具体开发工的操作能力突出,但缺乏完整的知识结构。高等院校数据库原理与应用课程的教育目标是培养社会需求的数据库应用人才,这就要求培养的学生既理解原理、具有扎实功底,又善于灵活运用、富于创新。
1.2 对实践教学环节重视不够
数据库原理与应用课程是一门实践性很强的计算机课程,但目前实验课教学存在很多弊端,例如学生不明确实验目的,实验内容不清楚,考核中实验课也没有一定的比例等。
1.3 教学实践有悖工程化原则
现代企业数据库应用基本上是工程化的合作开发,其基本特征是按软件工程学的原则进行组织,软件工程学的基本方法融入数据库原理与应用课程的实践环节,使学生尽早建立起工程化的概念,顺应人才市场需求的一条原则,但考察目前的教学过程可以看到,除了毕业设计(论文)之外,从课后作业、上机实践到课程设计,几乎都是学生的个人行为,大多数学生是抱着应付差事的心理被动地来完成这些任务的,缺乏创新思维。在毕业设计(论文)中反映出许多学生不懂得如何合作开发一个实用的数据库应用系统,严重影响了毕业设计的质量,学生毕业后也不能迅速适应所在单位的工作要求。
1.4 教学方法和手段缺乏多样性
当前数据库原理与应用课程采用CAI课件进行多媒体教学日趋流行,使用多媒体课件教学一方面减轻了教师板书的负担,增加了授课的信息量,同时好的课件也能够使教学内容更加形象化地展现出来;但另一方面,教师在授课时对课件的过分依赖也给课程的教学质量带来了一些问题,如当学生长时间注视投影时,容易产生视觉疲劳;由于使用课件进行教学时,加快了演示的节奏,缺乏教与学的友好交互,学生的思维难以与之同步,从而使教学质量下降。因此必须合理的综合运用不同的教学方法和教学手段,取长补短,调动学生的学习积极性,促进学生的学习。
2 数据库原理与应用教学改革研究的具体措施
2.1 优化教学内容,完备知识体系
数据库原理与应用课程教学目标是通过课程的学习,强化基础训练,使学生理解数据库的基本原理;应用软件工程原则,掌握数据库的设计方法,了解数据库当前的研究发展状况,掌握数据库的应用技术。在实施数据库原理与应用课程教学时,应从基本原理、设计方法到应用开发,涵盖如下教学内容:1)基本原理包括数据库系统概述、关系数据库、关系数据库查询语言SQL、关系系统及其查询优化、关系数据理论等,这些内容是教学的重点,它们涵盖了关系数据库的基本原理,对数据库的设计、应用和开发起着指导作用。2)设计方法包括软件工程原则、数据库恢复技术、并发控制、数据库安全性、数据库完整性等。3)应用开发包括 IBM DB2数据库系统、基于高级程序设计语言的C/S(B/S)构架的应用。
2.2 合理的教学方法和教学手段
在实际的教学过程中,合理的综合使用各教学方法、教学手段,以学生为中心,多采用案例、任务驱动等相结合的教学方法,增加学生的实践机会、自学机会和创新机会,极大地调动学生的学习的主动性和积极性,激发学生探究创造的兴趣,鼓励学生独立探索,促进知识的加深和迁移。
2.2.1 结合多种教学方法进行教学
采用案例教学,加快学生的学习步伐,针对课堂教学、实验教学和课下练习,均设计了不同的教学案例。从数据库基本原理、设计、实现和开发等诸方面,对案例逐步展开,加快学生对抽象理论和方法的理解和掌握。
采用任务驱动教学法,针对教学中的重要知识点,精心设计教学任务。任务驱动教学法的基本过程为:提出任务、分析任务、学生操作、交流讨论、巩固创新、总结等。在任务的驱动下,促使学生自主思考,并通过自主学习、协作学习等方法,探求解决问题的途径。
采用合作学习教学法,合作学习教学法即结构式分组教学模式,使其和任务驱动教学法相结合,对学生进行合理分组,使之相互合作和激励,主动积极地参与学习,培养学生探索创新能力和团结协作的精神。该方法主要用在实验教学当中。
2.2.2 使用多种教学手段进行教学
采用网络和多媒体教学、小组讨论、调研报告等多种教学手段来使学生提高主动参与意识,并注意增强学生的分析判断能力和留给学生思考与讨论的空间;更强调对学生进行学习方法的指导而不是灌输式教学,从而使学生能举一反三,触类旁通。同时在教学过程中重视因材施教,努力实现教学方法的个体化,针对学生学习的个别差异解决好因材施教问题。
2.3 重视实践环节,培养创新能力
为了实现预期的教学目标,必须将理论教学与实践教学紧密融合,鼓励引导学生将理论知识灵活掌握,并具体应用到实际工程中。实践教学是数据库原理与应用课程教学的一个重要环节,课程中的上机实验、数据库课程设计安排要合理。1)教师在课堂上应给学生指定明确的有利于消化课堂理论知识的实验题目,让学生上机时做到目的明确、有的放矢。2)上机时应对学生进行实时指导,并对上机过程中普遍存在的问题进行统一讲解。上机实验针对的往往是一定范围的知识点,各个知识点相互联系不够紧密,具有一定的局限性,因此在课程的后期需要安排两周的课程设计或综合性实验训练,所选题目应具有一定的应用背景,让学生能够应用软件工程的基本原则设计一个具有实用价值的数据库应用系统,使所学知识融会贯通。
2.4 改革考核方式,重视能力培养
数据库原理与应用课程的考核分为理论知识考核与应用能力考核两部分。理论知识考核重点考察学生对关键性概念和原理的熟悉和理解,着重考核学生综合运用知识解决实际问题和创新思维的能力。应用能力考核方式要灵活一些,应将考核变为激发学生学习兴趣的机会,所以我们可以通过平时的实验、具体的数据库设计开发任务等进行。为了避免在分组的实验、设计任务中,有的同学不积极参与,可采用随机抽查个人的方法来考核小组成绩,促进小组内部互相监督、互相帮助、互相学习,有利于培养学生学习的积极性,提高教学效果。
2.5 强化课程的组织与管理
为了更好的搞好课程教学,建立了集体备课制度,在开课的前一个学期期末,任课老师集中讨论、确定教学计划、教学日历。开课前两周内,大家对备课中出现的相关问题进行讨论,取长补短。在教学进行过程中,要求任课老师要互相听课,以取长补短,并不定期的对教学过程中出现的问题进行研讨,从教学方法、形式和内容上进行讨论,不断探索,摸索出了一条适合实际情况的教学方法和模式。
3 结束语
本文在分析《数据库原理与应用》课程理论与实践教学中所存在问题的基础上,提出了若干教学改革措施,并已付诸实施。目前本课程的教学工作取得较好的教学效果,让学生的综合素质和创新能力在循序渐进的过程中不断得到锻炼和提高,同时提高了毕业生的竞争力。我们将继续在数据库的教学改革上开展新的工作,在数据库技术和网络技术相结合的道路上作新的探索,努力寻求新的切入点,使理论教学和实际应用更好更紧密的结合起来,培养出更多适应信息化社会的复合型、应用型人才。
参考文献:
[1] 萨师煊,王珊.数据库系统概论[M].2版.北京:高等教育出版社,2000.
[2] 徐英俊.教学设计[M].北京:教育科学出版社,2001.
[3] 吴达胜,刘丽娟,孙圣力.数据库原理与技术的理论与实践教学的整体优化研究[J].计算机时代,2005(11):31-32.
中图分类号:G642 文献标识码:B
1引言
“数据库原理”是经济信息管理专业的重要专业课程之一,具有理论性、实践性强的特点。同时,随着数据库系统在政府机构、企事业单位的广泛使用,使该门课程具备很强的应用性。如何在数据库原理教学中结合课程特点,让学生牢固掌握数据库原理的诸多知识点,并通过实践训练将这些知识点转变为可应用的技能,是培养经济信息管理专业应用型人才的需要,是增强学生就业竞争力的需要,也是我们进行本门课程教改实践的重要出发点。
在以往的“数据库原理”课程教学效果评估中,我们发现存在以下一些问题:
(1) 在教学环节,理论和知识点讲解多,案例的讲解和分析少,学生觉得数据库理论抽象和难懂;
(2) 数据库原理课程与相关计算机语言课程的关联少,学生即使掌握了SQL语句的语法规则和应用,却不知如何与VB、Java等计算机语言相结合,构建一个数据库应用程序;
(3) 对学生的数据分析能力和设计能力培养不够,学生不知通过什么样的分析过程建立合理的数据库表、字段信息项和数据表关联关系,学生设计的后台数据库和数据表的结构漏洞百出、不合逻辑;
(4) 实践过程中缺乏项目工程组织。即使加大案例教学,但没有一个完整的实际项目案例实践,使学生对整个课程的学习感到支离破碎、不成体系,对本门课程的学习缺乏整体认识,也无法直接感受所学知识在实际工作中的地位和作用。
针对以上问题,我们对数据库原理课程采用了案例教学法和项目驱动教学法,并进行了初步实践,取得较好的效果。
2案例教学法、项目驱动教学法及其特点
2.1案例教学法及其特点
案例教学法是指教师根据教学目的和教学内容的需要,采用案例组织学生研究、讨论,对案例中的事实和急需解决的问题进行分析、判断并提出解决方案。案例教学法最早于1870年由美国哈佛大学法学院的克里斯托弗•哥伦姆布斯•兰德尔教授创立,普遍被应用于医学、法学、管理学等学科,用来教授业务实践中的重要思想、内在原理和技能。目的是使学生在掌握了基本理论知识的基础上,通过独立思考和集体合作,进一步提高分析、解决实际问题的能力。
运用案例教学手段进行示范教学,实现边讲边练,循序渐进地引导学生掌握相应的知识和技能,大大缩短了教学情景与实际情境的差距。案例教学法的特点,一是从以教为中心变为以学为中心,既强调教师的组织指导作用,也重视培养学生的学习兴趣和自觉性,实现了教与学的优化组合;二是由只传授知识改变为传授知识与发展智能并重,在案例讨论中不仅传授知识,而且启发思维,培养能力。
2.2项目驱动教学法及其特点
建构主义学习理论认为,知识,特别是技能,不是通过教师传授得到的,而是学习者在一定的情境下,借助他人的帮助,利用必要的学习资料,通过意义建构方式获得的。项目驱动教学模式是一种建立在建构主义教学理论基础上的教学法,该方法以教师为中心,以学生为学习主体,以项目任务为驱动,充分发挥学生的主动性、积极性和创造性,变传统的“教学”为“求学”、“索学”。项目驱动教学法是实施探究式教学模式的一种教学方法,适用于学习各类实践性和操作性较强的知识和技能,也适用于培养学生自主学习、分析问题、解决问题的能力。
3数据库原理教学实践改革
“数据库原理”课程的教学目的是使学生全面地了解和掌握数据库系统的基本概念、原理及应用技术,教学内容包括基础知识、关系模型、SQL、关系数据库理论、数据库设计和数据保护等。
3.1数据库原理案例教学介绍
在数据库原理教改实践的教学内容组织上,我们以可视化开发工具PowerBuilder(以下简称PB)及其集成的数据库SQL AnyWhere组织和设计针对各知识点的案例,在课堂讲解中设定每一堂课的学习目标,以启发、讨论方式进行教学互动,以知识点配案例和演示的方式进行讲解,使各知识点易于理解、易于掌握、易于应用。表1给出了针对“数据库原理”课程的知识点所设计的相应案例。
3.2数据库原理项目实践介绍
在数据库原理教学中,项目驱动教学法的特点是尤如学习中有一条主线,以一个数据库管理信息系统的设计开发为一个项目主线,把零散的技能知识与训练串在一起,以增强学生学习的系统性、完整性;教的过程是分块的,做的过程却是整体的,紧紧围绕项目工程开展教、学、做,学完之后学生感到非常有成就感。在项目的完成过程中,采用过程性评价和终结性评价等评价方式相结合,有利于实时指导教学和学习。项目驱动教学法拉近了学生所学知识与实际应用的距离。
基于传统的软件工程生命周期开发方法,把项目划分为若干个阶段(需求分析、概要设计、详细设计、编码、测试、运行维护),各个阶段有相对独立的任务,按照工作计划和分工逐步完成各个阶段的任务,最后达成项目目标。在课程实践中,把学生组织成5~7人的项目小组,并定义项目的目标、功能范围、项目过程各阶段的任务以及评价机制,把各知识点和需要培养锻炼的能力项分解到各阶段任务中,由各项目组自行制定项目计划,由教师指导和监督计划的执行并进行阶段成果评价(见表2)。
4结束语
采用案例教学法和项目驱动法进行数据库原理教学,有利于学生牢固掌握基础知识,提高数据库应用开发能力和实践动手能力,加强团队合作精神,提高学习热情。今后,我们将进一步总结经验,以使数据库原理的教学改革不断完善和成熟。
参考文献:
[1] 柯胜男,黄明和,雷刚. 基于“项目驱动”的教学研究与探索[J]. 计算机教育,2007(4):25-27.
二、任务驱动式的案例教学法设计
针对以往教学方法的不足,本论文依据《数据库原理及应用》课程的特点,设计了一种基于任务驱动的案例教学方法,该方法具体步骤如下。
1.问题设计及案例准备。
《数据库原理及应用》课程的案例教学法与管理、法律等文科类课程的案例教学法不同,不需要广泛收集和整理大量高质量的案例形成丰富的案例库,不需要适时更新和补充新的案例,不需要强调案例形式多样性和案例内容的广泛性,而是要针对核心教学任务设计一个科学的问题,并围绕着问题进行案例准备,要求所设计的案例,在纵向上能体现出数据库系统设计和开发的完整生命周期,在横向上能覆盖《数据库原理及应用》课程要求掌握的所有基础理论。比如我们要求学生应用《数据库原理及应用》课程所涉及的基础理论,设计和开发一个学生管理系统,该系统能完成以下任务:查询出有哪些学生选修的课程中至少有两门以上由教授开设。要完成该任务,学生需要完成的工作以及应用到的理论包括:(1)描述教学关系,需要绘制E-R图;(2)将E-R图转换成合理的关系模式,并编制数据表,需要应用范式理论和函数依赖理论;(3)将数据文件保存在物理磁盘上,要求占用较少的存储空间并能进行高效检索,需要应用物理结构设计理论;(4)客户从操作终端检索所需要的信息,形成视图,需要应用SQL语言;(5)保证数据视图—数据表—存储结构之间的相互独立、相互关联的关系,需要依赖数据库系统的三层结构和两级映射。案例需要围绕着上述内容进行设计,不能遗漏。
2.基础理论的讲解。
由教师进行精练的理论知识讲解,讲解过程最好能结合解决实际问题的步骤,介绍在哪些环节需要用到它,这样有助于将零散的知识串联起来。
3.问题分解及教学过程控制。
案例教学的目的是充分发挥学生的主观能动性,让学生独立思考、分析和处理案例设计阶段所布局的问题,引导学生将核心问题分解成若干个子问题,在依次解决子问题的过程中主动的学习《数据库原理及应用》课程中的基础理论,并将其应用于实践。教师可以根据教学内容、进度以及学生的掌握情况,适时地进行讲解和点评,确保学生对核心内容的掌握和灵活应用。
4.总结和评价。
对案例教学法的全过程进行回顾,对重点和难点问题进行分析和讲解,确保学生对所学知识的理解、掌握和应用,并从以下三个维度评价任务驱动式案例教学方法的总体效果:(1)案例维度,包括案例项目的构思、任务的分解以及问题的设计;(2)教学过程维度,包括课前的准备、课中的引导和控制、课后总结等;(3)绩效维度,包括教师表现、学生成绩、课堂反映等。
数据管理包括数据的分类、组织、编码、存储、检索和维护等,数据管理技术的发展与计算机硬件、软件的发展及计算机应用的范围密切相关。迄今为止,计算机数据管理技术的发展经历了四个阶段:
一、人工管理阶段
这一阶段是指20世纪50年代中期以前,一般公认世界上第一台计算机于1946年诞生,这期间,计算机主要用于科学计算,其它工作还没展开。硬件方面:还没出现可直接存取数据的存储设备,主要依靠磁带、卡片和纸带来读写程序和数据。软件方面:操作系统还没产生,也无专门的数据管理软件,主要依靠机器语言和汇编语言编程。由于没有专门的数据管理软件,我们将这一阶段称为—人工管理阶段。该阶段的特点是:
①数据不保存。计算时数据与程序一起输入内存,运算处理后将结果数据输出,随着计算任务的完成,数据空间随着程序空间一起被释放。
②数据服务应用。数据处于从属地位,一组数据对应一个程序(应用)。数据与程序不独立。
③数据组织依靠人工。数据的存储结构、存取方法、输入输出等必须由程序员自行设计与安排。
二、文件系统阶段
20世纪50年代后期~60年代中期,计算机不仅用于科学计算也开始大量用于信息管理。随着数据量的增加、数据的存储、检索和维护问题成为紧迫的需要。硬件方面出现了磁盘等直接存取存储设备,软件方面产生了高级语言和操作系统。操作系统中的文件系统是专门管理数据的软件。数据结构和数据管理技术迅速发展起来。这一阶段的数据管理有以下特点:
①数据可长期积存。对数据的维护与使用提供了可能。
②文件形式多样化。有索引文件、链表文件和直接存取文件等。但文件之间相互独立,数据之间的联系要通过程序构造。
③数据相对独立。数据可被多个程序重复使用。
④数据的存取基本上以记录为单位。
随着数据管理规模的扩大,数据量急剧增加,文件系统显露出以下三个不足:
①数据冗余。由于文件之间气管联系,造成每个应用程序都有对应的文件(数据),势必会造成同样的数据在多个文件中同时存储。
②数据不一致。由于存在数据冗余,在对数据进行更新操作时,就要通盘考虑,稍不谨慎,就可能造成同样的数据在不同的文件中不一样。
③数据联系弱。数据文件相对独立,要通过程序来构造它们之间的联系。
三、数据库系统阶段
20世纪60年代后期,计算机应用于管理的规模更加庞大,数据量急剧增加,同时多种应用、多种语言互相覆盖地共享数据集合的要求也越来越强烈。仅对文件系统及功能加以扩充已不能满足需要。其时,计算机硬件、软件有了进一步的发展。硬件方面:磁盘技术取得重要进展,大容量、高速存取磁盘相继推出,且成本下降。软件方面:出现了统一管理数据的专门软件系统――数据库管理系统(DBMS)。这些都为数据库技术的产生提供了良好的物质条件和理论基础。数据管理技术进入数据库系统阶段的标志性三大事件为:
⑴1968年美国国际商用机器公司IBM(International Business Machine)公司推出了IMS(Information Management System)系统,该系统支持的是层次结构数据模型。
⑵1969年美国数据系统语言协会CODASYL(Conference On Data System Language)下属的数据库任务组DBTG(DataBase Task Group)公布了若干报告(称为DBTG报告),提出了网状结构数据模型。
⑶1970年起,IBM的研究员E·F·Codd发表一系列论文,提出关系模型,奠定了关系数据库的理论基础。
概括数据库系统管理数据的方式具有以下特点:
①采用数据模型表示数据结构。用数据模型描述数据本身的特点和数据之间的联系,且这种联系通过存取路径(指针)来实现整体数据的结构化。由于数据不再面向某一特定的应用,而是面向整个应用系统,因而数据冗余明显降低,实现了数据共享。
②具有较高的数据独立性。数据库体系结构分成用户逻辑结构(外模式)、整体逻辑结构(概念模式)、物理结构(内模式)三级。数据物理结构的改变不影响整体逻辑结构、用户逻辑结构及应用程序,即达成数据的物理独立。而整体逻辑结构改变,不影响用户逻辑结构,以达成数据的逻辑独立。
③为用户提供了方便的口。用户可以使用查询语言或命令操作数据库,也可以用程序方式来操作数据库。
④提供完善的数据控制功能。数据库系统提供四方面的数据控制,以确保数据的安全与完整:
■ 并发控制:确保多用户同时存取数据时的数据完整性。
■ 数据库恢复:有意或无意造成部分或全部数据破坏后能恢复到某一已知正确状态。
■ 数据完整性:确保数据的正确、有效、相容。
■ 数据安全性:防止不合法使用造成数据的泄露和破坏,保证数据的安全和机密。
四、高级数据库技术阶段
这一阶段起始于20世纪80年代初,其主要标志是分布式数据库系统DDBS(Distributed DataBases System)和面向对象数据库系统OODBS(Object-Oriented DataBases System)的出现。
①分布式数据库技术
分布式数据库技术是传统的集中式数据库技术与网络技术融合的产物,其基本特征:一是异地节点通过数据通信网络互连;二是数据的物理分布性和逻辑整体性;三是本地自治与全局应用相结合。
②面向对象数据库技术
面向对象的数据技术是传统集中式数据库技术与面向对象程序设计技术结合的产物,其特点为:一是面向对象的数据模型能完整描述现实世界的数据结构,能表达数据之间的复杂联系,如嵌套与递归;二是具有面向对象技术的封装性和继承性,提高了软件的可重用性。
除此之外,数据库技术与其它新兴技术的结合产生了许多新的领域如:
并行数据库;主动数据库;知识库;多媒体数据库;模糊数据库;工程数据库;空间数据库等。
有理由相信,数据库技术通过不断完善和提高,它会朝着支持更大规模、更快速度、更广泛的应用等方向发展。
参考文献:
1、前言
通过实施部署PHD系统解决了石化企业信息化中存在的问题即需要建设统一的信息平台,在数据中心的基础上,将数据应用向深度和广度计算拓展,将面向主题的、集成的、稳定的、不同时间的数据集合应用,把分布在企业网络中不同信息孤岛上的数据集成到一起,整合多种数据源接入模式,搭建一个企业级工厂信息系统毕业论文模板,通过PHD实时数据库和Oracle关系数据库搭建企业级的数据平台,确保数据交流通畅,实现真正的资源共享,将过程实时数据纳入管理系统中实现数据深层次挖掘和分析,从而实现企业级管理控制一体化。通过信息集成,在工厂控制层和管理决策层之间建立实时的数据连接,使底层的仪表控制系统和上层的经营管理得以双向交互、紧密配合,并为APC、流程模拟、在线优化等提供了基础平台。
2、PHD 系统组件结构
PHD系统组件的结构是一个典型的客户/服务结构,整个PHD数据库由PHD服务器和PHD客户端组成,PHD服务器端主要负责数据采集存储,PHD客户端负责数据的使用,如图所示:
图 1 PHD系统组件结构
主要的PHD Server 服务器组件包括如下所列:
PHD Server : 核心组件,提供PHDServer 实时数据库核心功能,如数据存储、压缩、检测、处理等。
Legacy API Server : 提供访问PHD Server 150以上版本的API 函数的服务。
API Server : 提供应用程序访问PHD Server 应用程序编程接口服务。
RDI Server : 提供通过特定实时数据接口RDI(Real Time Data Interface) 收集过程数据并发送数据到PHD Server 组件。
RDI Interface : 实时数据接口,提供与DCS,PLC的数据接口,支持多种通讯协议,如OPC,FTP 等。
PHDMAN : 应用程序用来管理和监视PHDServer 。
PHD Archives :对实时数据进行历史归档。
主要的PHD Server 客户端组件包括如下所列:
TotalPlant Information 简称TPI , 主要提供各种位号点的配置,报表配置,以及一些工厂参照模型PRM(Plant Reference Model) 数据的配置平台。
Visual PHD : 以OLE 方式提供的可视化PHD数据访问组件。
Process Trend : 提供位号趋势察看或SPC 功能。
从图可以看出Microsoft Excel 2003和VB6.0可以通过VisualPHD组件访问PHD Server 数据。[1]
3、 RDI实时数据接口
RDI 是PHD Server 的核心组件之一,它是连接DCS,SCADA ,APC,PLC 等过程数据和核心数据库的数据通道和瓶颈,生产数据通过RDI 接口采集、滤波、压缩,加入时间标签和可信度存入活动归档文件中,供上层网络系统查询、监控和信息系统集成应用。因此研究开发相关的RDI 开发标准和规范相当重要和关键, PHD RDI 在数据接口方面自成体系,有它自己的独特体系结构和通讯方式,为第三方用户的开发和应用提供了较为完善的通讯开发例子程序,用户只要按照PHD RDI 数据接口规范,加入第三方(API函数),就能够实现生产过程数据的实时采集。[2]
4、 PHD接口连接方式
图 2 双Buffer PHD连接Shadow
Shadow接口和Buffer接口连接有两种方式:单Buffer PHD连接ShadowPHD;双Buffer PHD连接Shadow PHD。
双Buffer PHD连接ShadowPHD,有两个Buffer,PHD同时收集数据,一个部分处在激活状态,一个部分处于备份状态毕业论文模板,如果激活状态的PHD发生故障,备份状态的PHD就会立即替代,进入激活状态。这种模式下数据正常连续采集的可靠性将会有很大的提高。[3]
5、实时数据库软件架构设计
图 3实时数据库软件功能与架构设计
如图3所示:系统被设计成三层结构,即控制层、应用层和数据表现层;
控制层是各装置的DCS系统和接口组成,通过接口将实时过程信息输入到实时数据库系统中;
应用层是由实时数据库系统与其之上的应用程序组成,实时数据库采集来自DCS系统的过程信息。应用程序基于这些信息提供操作管理应用。客户化的应用也基于这个平台进行开发;
数据表现层由客户端软件和浏览器组成,客户端软件为实时数据库管理及应用提供应用平台,浏览器用于操作管理的实时信息和组态界面,计算结果也通过该界面显示。
PHD通过在RDI接口在服务器端和客户端建立连接,采集来自现场的DCS、PLC、罐区的SCADA、LIMS、手工录入等数据。RDI支持ODBC/OPC协议,一般通过现场的APP应用站或Buffer机作为数采的客户端与PHD服务器建立连接。由于PHDServer 实现了与关系数据库Oracle的无缝集成, 其把许多静态配置数据如:位号名、数据类型、,扫描周期、单位等保存在Oracle 关系数据系统之中。而数据表现层由客户端软件和浏览器组成,通过WPKS服务器用户可以通过B/S方式看到各种应用结果,如各装置流程图的实时数据、历史趋势,各种产品的产量和收率毕业论文模板,为调度和管理层提供可靠的数据支撑。[4]
6、实施PHD过程中需要注意的问题
为了确保PHD模块能够在项目工期内顺利实施,首先要对装置的DCS系统进行改造,需要在DCS系统的工程师站(如:和利时、浙大中控的DCS系统)或APP应用站(如:横河、DELTAV的DCS系统)安装OPCServer,这将为项目的顺利实施打下坚实的基础。
这里以DeltaV DCS系统为例进行介绍,首先要对改造进行风险评估并制定相应的故障处理应急预案,确定好改造方案后主要的工作分为离线部分和在线部分,离线部分的主要工作主要包括:
安装Win Server 2003平台
安装DeltaV 的OPCServer软件
应用站就位
敷设网络电缆到原有的DeltaV网络(Primary& Secondary)
敷设网络电缆到OPC数据接收服务器(PlantLAN网络)
供电系统连接
以上工作由于在原有网络连线中新敷设网线,施工过程需要防止损坏原有网线的连接。
图 4 DCS系统的物理连接示意图
软件在线工作内容包括:
新增应用站上电检查
新增NODE(应用站)到原有DeltaV系统
根据需求,设置OPC数据接收服务器登陆帐户
与OPC数据接收服务器进行连接及OPC通讯调试
数据传送调试,数据调试时注意所有需通讯的DCS数据地址正确。
7、实现某一套装置实时数据通讯的主要步骤
1、BUFFER机与APP机的OPC连接调试:
在Buffer机上面启动OPCclient.exe,点击Refresh List测试是否连通,如果在Avaliable Services中出现OPC服务器的名字,然后点击OK。如果无法显示请确认是否在APP机上面的启动OPC Server的用户名是否与Buffer机上面一致;[5]
2、安装TPI并对其进行相应配置:
在自己的PC机上面上安装Oracle client和PHD TPI软件。安装完毕后对TPI进行相关配置,设置用户名密码为uniformance。配置完毕后登陆TPI软件 用户名Uniformance 密码uniformance;
3、用PHD提供的专属命令对RDI进行配置:
在TPI中设置source system为OPC为接口的RDI,并把POLL参数设置为/p毕业论文模板,Host Name设置成BUFFER机的机器名并保存。在TPI中设置与同名的RDI source system设置成shadow并保存, Host Name设置成shadow机的机器名:LZSHPHDT。登录到Buffer机,在命令行中执行rdi_services uniformance/uniformance@uniformance,并观察是否成功的建立RDI,在命令行中敲入phdman;执行:def int,建立RDI的名字(如:def int rdi_FCC3); 执行sta int 建立RDI的名字(如:sta int rdiFCC3)执行sho sys察看是否rdi状态,确保为active状态;
4、设置shadow-buffer架构:
登录到buffer机并执行如下命令执行
SET 对应建立的Rdi名字:MODE ACTIVE
SET对应建立的Rdi名字:ACTIVENODE IP/端口
登录到shadow机并执行如下命令执行
SET 对应建立的Rdi名字:MODE SHADOW
SET对应建立的Rdi名字:ACTIVENODE BUFFER机IP地址/端口;
5、登陆TPI选择Tag loader进行批量数据采集点的导入:
登陆TPI选择Tag loader,Interface name设置对应装置的RDI的名字,Interface type选择OPC,default parent选择TAGLOAD_OPC_PARENT;选择按钮TagLoad,Input File设置成放置导入模版的绝对路径,并把update existing tag设置成默认选项,选择OK。登录到buffer机,在命令行中敲入phdman,执行updatetag full, 执行mon que 点名(monque cdu1_fi101)察看是否可以采集上数。登录到shadow机毕业论文模板,在命令行中敲入phdman,执行update tag full, 执行mon que 点名(monque cdu1_fi101)察看是否可以采集上数。[6]
8、实施后的效果展示
图 5 乙烯装置实时数据生产工艺流程图
9、结束语
基于PHD实时数据库开发的应用,如流程监控、操作监控、趋势分析等,可以为技术部门提供重要的指标点的实时数据,对装置的当前运行情况进行分析提供给厂领导最快捷的生产信息用于决策。 PHD生产实时系统采用B/S分布式结构,即在DCS控制室设置一台PHD Shadow实时数据库服务器、一台Oracle数据库服务器和一台Web服务器。PHD Shadow实时数据库服务器负责集成所有装置控制系统的生产数据,PHD Buffer服务器分布在各装置控制室现场,厂长、总工、科室和车间管理人员通过浏览器来了解现场装置的生产情况等实时数。通过PHD实时数据库,能对生产线运行的各项技术经济指标在线监测、进行动态的能耗分析,并指导运行人员调整设备优化运行,从而降低能耗,提高机组运行的经济性。
参考文献:
[1]实时数据库原理及应用作者:张志檩ISBN:7801640284. 出版. 中国石化出版社2001
[2]Honeywell Inc. Process History DatabaseUser Guide USA: Honeywell International Inc. June 2004
[3]Honeywell Inc. Database SystemSpecification and Technical Data USA: Honeywell International Inc. June2004
[4]Honeywell Inc. PHD OPC Server User Guide USA: Honeywell International Inc. June 2004
[5]王成光.流程工业大型实时数据库理论、技术与应用[D].浙江:浙江大学数控制科学与工程,2003.
【中图分类号】G40-057 【文献标识码】B 【论文编号】1009―8097(2010)03―0132―03
引言
数据库课程是计算机及信息类相关专业的核心课程,同时数据库应用也是计算机应用的一个主要方向。在数据库课程的教学环节中,实验教学处于举足轻重的地位。良好的实验教学效果能有效地培养学生的数据库系统分析设计能力、编程能力,从而为学生以后从事大型数据库软件的开发奠定良好的基础。因此实验教学效果的好坏,将直接影响到整个课程的教学效果[1]。
传统的数据库实验教学模式一般采用由教师布置实验任务,学生在实验室完成;对于部分较大的实验,学生也可在课后完成,教师根据学生完成的情况给予成绩评定。然而在实际的实验教学中,由于存在实验课时安排不足,学生在课外进行实验又缺乏有效的指导,同时由于学生在学习能力及学习积极性各方面存在差异,教师无法进行有效地监控等问题,都在很大程度上影响实验教学效果[2,3]。
随着网络技术的快速发展及广泛使用,通过网络学习已经成为大学生的一个重要学习途径。在这样的背景下,我们构建基于Web的数据库课程远程自主实验教学平台。它突破了传统教学模式受时间、地点、实验设备和师资条件等的限制,利用先进的网络技术,创建一个远程开放的自主实验环境辅助实验教学,提高数据库课程实验的教学质量,同时降低实验室建设费用。
一 平台设计方案
1 平台设计思路
数据库课程一般包括数据库原理、设计及应用三个部分内容,其中原理是基础,设计和应用是提高,它们相辅相成、互相促进。在教学安排上一般将它分为:数据库系统原理和数据库课程设计两门课程。数据库系统原理主要介绍基本原理,完成理论学习和部分设计任务,实验教学内容主要是要求学生使用SQL语句完成数据库的增、删、改、查等各种基本操作。而数据库课程设计主要完成系统的设计与应用任务,在数据库课程设计中要求学生根据一个信息系统的需求,使用可视化的工具,如:PowerDesigner、ERWin等进行数据库的设计,然后使用编程语言完成一个相对完整的数据库系统。通过它使学生全面地掌握数据库系统的完整设计过程和方法。
数据库课程一般在二年级开设,而此时学生对于计算机相关知识的掌握还不很充足,因此学习需要一个渐进的过程,需要一种相对简单、比较容易上手的数据库系统,目前主要使用微软的SQL Server作为数据库课程教学的基本工具。在较短的课时和实验条件有限的情况下,一般都只能安排8-12学时的实验,而这些时间对于锻炼学生的实际动手能力是远远不够的。虽然学生可以在自己计算机上安装数据库系统完成一些简单的实验,但是由于缺乏教师指导和个人自主性的原因,往往达不到效果,因此需要一个自主学习的实验平台,帮助学生完成数据库的课程实验。数据库远程自主实验平台的设计目的就是为远程学习者异地实验学习、实验指导提供支持,通过将“实验管理”、“作业管理”、“资源共享”、“师生交流”等进行整合,解决了网络环境下网上实验与提交、问题讨论与答疑、教学资源共享、实验完成情况监控等一系列问题,从而提高数据库课程实验的教学质量。
基于Web的数据库远程自主实验平台的基本过程如下:
(1) 教师添加实验。每个教师登陆系统后根据教学计划,添加自己所教授班级的实验内容和具体要求、该实验的正确答案以及对该实验的常见错误分析等。每个教师可以看到同一教学组其他老师已经提交的实验;如果觉得实验内容合适,可以将它作为自己所带班级的实验内容。
(2) 学生完成实验。学生本机不需要安装SQL Server数据库,通过Web浏览器登陆系统后,就可以看到教师布置的需要完成的实验要求,针对需要完成的每一个实验利用平台提供的基于Web的类似于SQL Server的查询分析器(WebSQL)提交SQL语句,系统接收SQL语句并执行数据库操作后将相应的结果(正确结果或错误信息)返回。学生在做实验过程中可以看到教师对该实验的分析以及常见的错误原因分析,同时也可以针对该实验向教师提问。最后学生提交自己设计的SQL语句作为最后的实验结果。
(3) 教师监控实验和指导。系统记录学生登陆系统的时间、离开系统的时间以及都做了哪些实验。这样教师便可以及时掌握和检查学生的实验完成情况,同时教师可以回答学生的问题,进行实验指导。
2 平台的主要功能结构框架
整个系统的总体结构框架如图1所示。有四个权限:匿名用户、学生、教师、管理员。
进入平台就可以看到匿名用户的相关功能,主要包括:担任数据库课程的相关教师基本信息介绍;课程介绍、课程大纲介绍;各种通知、实验信息公告;教师的讲课PPT下载;一些优秀的数据库课程设计作品展示;数据库最新的研究进展;数据库课程题库;常见问题浏览;此外还可以对实验室的设备、软件、开设课程等提出意见。
系统管理员模块主要功能包括:维护本课程相关的教师信息;和删除通知;和删除各种资源;对常见问题的进行回答和删除;数据信息备份;查看所有教师布置的实验和作业;完成系统时间和一些系统编码的设置。
教师模块主要功能包括:
(1) 实验管理。1)添加、修改、删除实验。2)布置实验 (将某个实验作为某个班级的一个实验内容)。3)回答实验疑问。对学生提出的实验疑问做出回答,其他选择相同实验的学生都能看到回答的内容。4)实验审阅管理。显示自己所教授的班级;选中班级,可以查看班级的所有学生信息;选中某个学生,可以查看他的所有实验完成情况、学生登陆系统进行实验的日志信息,综合实验结果和日志信息对学生进行打分。
(2) 作业管理。功能类似于实验管理,主要完成布置作业和检查作业等功能。
(3) 学生信息管理。教师维护所教授班级的学生信息。
(4)信息。可以通知,如实验时间、作业上交时间等,还可以其他资源信息,如:讲义、最新技术文章、参考资料和题库等。可以设定这些信息只能被某个班级访问也可以设定信息全部公开。
学生模块主要功能包括:
(1) 完成实验。1)学生登陆系统后可以看到老师布置的所有实验。选中某一个实验,将会列出实验标题、实验内容、实验类别等信息。学生在WebSQL界面上输入SQL语句,执行后将会看到该SQL语句的执行结果。2)对某个具体实验,可以查看老师给的正确答案、对该实验的分析和常见的错误分析等。3)对实验情况不了解的可以提出问题请老师回答。4)提交实验报告。5)系统记录学生登陆时间、离开时间、每次执行实验情况。
(2) 作业管理。学生登陆系统后可以看到老师布置的作业,可以提交自己完成的作业,对作业不了解的还可以提出问题请老师回答。
(3) 课程答疑。可以提交问题,也可以查看老师对具体问题的回答。
(4) 查看和本班级有关的通知和通告。
(5) 查看和本班级有关的讲义、参考资料和题库。
二 平台的主要实现技术
1 平台软件结构
平台采用的是基于的三层结构。结构如图2所示,分为UI层(界面层)、BLL层(业务逻辑层)、DAL层(数据库访问层)、Model层(模型层)和DB(数据库)。
其中UI层中是一些用来与用户交互的页面,UI层接受用户提交的数据,调用BLL层中类的方法进行处理,返回结果给用户。BLL层的类用户处理业务逻辑,涉及到数据方面的操作时调用DAL层中类的方法进行处理,结果返回给UI层。DAL层用于处理BLL层中类方法对数据库操作的请求,访问数据库,将返回结果给BLL层。Model层提供一些用于存储的数据类型,供UI层、BLL层、DAL层进行调用,贯穿在整个系统结构中。
2 平台数据库实现
为了防止学生在进行数据库删除、修改等操作实验时影响整个平台的运行,平台建立一个主数据库,用于保存平台本身必须的数据库表;为每一个学生建立一个个人数据库(在建立学生信息的时候创建,在删除学生信息的时候删除),以后学生的所有数据库操作都在该个人数据库上进行。
平台主数据库共包括17张用户表和10张视图。他们主要是:
1)teacher表,存储教师信息。2)majorClass表,存储班级信息。3)student表,存储学生信息。4)experiment表,存储实验的信息。包括标题、实验类别、实验内容、实验答案、问题分析、常见问题、教师ID、创建时间等。5)disposeExperiment表,存储布置实验的信息。包括实验ID、教师ID、班级ID、实验时间、实验地点、布置时间等。6)fininshedExperiment表,存储学生完成实验的信息。布置实验ID、学生ID、实验结果、实验报告、实验成绩、实验提交时间等。7)homework表,存储作业信息。8)disposeHomework表,存储布置作业的信息。9)fininshedHomework表,存储学生完成作业的信息。10)information表,存储通知信息。11)information_majorClass表,存储通知与班级的关系。
三 结束语
基于Web的数据库远程自主实验平台使学生可以不再受时间和地点的限制独立完成实验操作,同时使教师对学生实验环节的监控与管理不再局限于课堂,能够帮助教师收集和保存实验教学过程中用到的实验、作业、答疑等信息,方便教师布置和审阅实验和作业,便于教师与学生之间的信息交流,从而高质量地完成实验教学工作。通过平台上的各种消息、讨论、资源下载等的及时更新,进一步提高学生的学习兴趣。此外,基于Web的数据库远程自主实验平台本身就是一个数据库系统,因此可以通过组织学生参与平台的维护工作,提高学生的学习积极性,使学生的编程能力及系统开发能力逐步得到提高。这对培养学生分析问题、解决问题和独立操作的基本能力具有很大的促进作用。
当然,基于Web的数据库远程自主实验平台还需要进一步地研究探索和实践。作为真实实验的重要补充,基于Web的数据库远程自主实验平台将发挥着重要的作用,推动数据库课程实验教学的发展。
参考文献
[1] 陈基漓.基于网络的数据库课程实验教学平台[J].高教装备,2006,(9):41-42
[2] 王文娟,徐建志,周光永,黄晶晶.大型数据库远程实验教学系统设计与实现[J].高校实验室工作研究, 2008,(4):29-32
[3] 张文东,夏伟伟. 高校分布式数据库管理实验系统的设计与实现[J].计算机工程与设计, 2007, 28 (5):1211-1222.
Web-based Database Remote Self-Experiment Platform
LIU Wen-ju KE Yong-zhenSHI Zhen-quan WANG Wan-ru
中图分类号:G642 文献标志码:A 文章编号:1671-7880(2016)03-0038-03
任何一门学科在其研究过程中常常需要借助一些工具和方法。计算机科学在其研究过程中也需要借助数学工具,这个数学工具即是离散数学。离散数学在计算机科学本身及其应用密切相关的现代科学与工程领域起着重要作用。离散数学是计算机科学专业的一门专业基础课程,它是“数据结构”“操作系统”“数据库系统原理”“编译原理”“人工智能”等多门专业课程的先修课程,注重培养学生的逻辑推理能力和抽象思维水平。但是,离散数学课程所涵盖的教学内容特别丰富且又各自独立,概念和定理特别多,内容极其抽象。这些特点对教与学两方面都提出了很高的要求和挑战。特别是针对面向应用的计算机类专业的学生,如果将该课程当成一门纯粹的数学课进行讲授的话,学生会很难理解课程内容以及与实际应用的结合,容易导致学生接受困难、兴趣低。因此,如何提高离散数学课程的教学水平和质量便是一个关键问题。
1离散数学课程的教学内容、特点及问题
离散数学课程是计算机科学与技术专业的核心基础课程,IEEE/ACM的CC2001课程体系别强调了这一点。它在计算机科学与技术专业课程体系中起到重要的基础理论支撑作用,主要体现在3个方面:(1)离散数学是重要的专业基础课,离散结构为计算机系统提供其处理对象的状及其变换的有效描述,计算机科学与技术有关的许多领域都要用到离散结构中的概念,从而使得离散数学在专业课中有着广泛应用。(2)离散数学对培养学生的学科素质、掌握正确的学科方法起着重要的作用。离散数学用数学语言来描述离散系统的状态、关系和变化过程,是计算机科学与技术的形式化描述语言,也是进行数量分析和逻辑推理的工具。(3)学习离散数学有利于能力培养。主要包括获取知识的能力、应用知识的能力和创新能力。传统的离散数学教材在内容组织上偏重理论,很少注重理论与计算机应用问题的有机结合。在教学过程中,学生往往将离散数学当成一门纯粹的数学课,不能发现与体会到该课程内容在计算机应用中的作用。由教育部高等学校计算机科学与技术教学指导委员会出版的《高等学校计算机科学与技术专业发展战略研究报告暨专业规范(试行)》一书中明确建议,在离散数学课程教学中应该引入较多实例,介绍相关理论、方法在实践中的应用。作者认为,在离散数学课程的教学过程中,应该在讲解分析理论基础上结合计算机学科应用,特别将后续课程中的相关内容有机融入当前理论知识的学习中,无论从学科的本质特点,还是学生的学习掌握方面都是有积极作用。
2计算机应用案例融入离散数学教学的探索
2.1关系数据库与离散数学
在离散数学课程中,集合论中的关系代数和数理逻辑中的谓词逻辑两部分内容一般在整个课程的前半部分。对于大一的学生,他们的专业基础还很薄弱,甚至还没有“入门”。如果一开始就直接进行理论讲授,会使得很多同学感到迷茫,甚至产生对本专业的厌恶。然而,这部分内容在后续课程“数据库系统原理”中有重要应用。关系理论是现代关系数据库系统的基础,对关系性质及其运算的了解,将极大地有利于学生对关系数据库中的范式理论以及各类数据操作的理解。因此,作者在讲授这部分内容之前,先用20分钟左右时间简要介绍数据库系统的相关知识背景,主要包括数据库系统与计算机技术的关系、发展历程、典型应用等,并落脚于关系型数据库以及关系数据模型。强调在关系数据库中,基本数据结构是关系,也就是二维表。用户使用数据库系统就是对若干张二维表进行检索、插入、修改和删除操作,实现这些操作称为数据子语言,而这种语言就是以关系代数和谓词逻辑为数学基础。有了这些背景知识,然后在讲授这部分理论过程中,适时地融入关系数据库的应用案例,帮助学生更好地理解与掌握有关理论。比如,数据子语言相当于一种代数结构,而这种代数结构的研究对象是n元有序组的集合,一共有五种操作,包括投影、选择、笛卡尔乘积、并和差运算。这些运算都是封闭的,它们构成了一个代数系统,称为关系代数。由此可见,对关系数据库中数据子语言的研究就归纳为对关系代数的研究,这样就建立了关系代数与数据子语言之间的联系。在讲授过程中,再举几个实际的数据库查询例题,以进一步提高学生的学习兴趣。值得注意的是,在应用关系数据库实例讲解过程中,特别要注重图示法的应用。我们的目的不是向学生介绍关系数据库的有关知识,因此必须坚持“能够用图示介绍的,绝不用文字介绍”的原则。这样可以让学生快速地从感官上认识到关系数据库的最基本知识与原理。作者在教学实践中,以3张简单的关系表作为示例,分为是学生基本信息表,包括学号、姓名、系别和年龄4个属性,记为S(SNO,SN,SD,SAGE)、课程信息表,包括课程号和课程名2个属性,记为C(CNO,CN)以及学生选课表,包括学号、课程号和成绩3个属性,记为SC(SNO,CNO,G)。这3张关系表的信息是学生们特别熟悉的,因而容易理解。例如,当我们需要在学生基本信息表中查询年龄大于19岁的学生信息,用关系代数语言即可表达为σSAGE>19(S),查询结果如图1所示。再比如,当我们需要查询学生的姓名和系别时,用关系代数语言表达为πSN,SD(S),查询结果如图2所示。总之,通过这些简单但具体的应用,让学生对关系的概念有更好的理解与掌握。
2.2计算机网络与离散数学
图论是离散数学中重要部分,具有广泛的应用价值,许多实际问题的解决往往都会归结为图结构的建模及求解。在教学过程中应该通过大量的实例让学生掌握图结构的建模与分析方法。在通常的教材及教学中,往往以哥尼斯堡七桥问题作为引入,说明图论问题的来源。但作者在以往的教学实践中发现,仅以这个例子来引导学生进行图论知识的学习,效果并不明显。典型实例有:个体之间的关系、航班安排、程序调用、文件存储结构、代码设计、通信网络、路由分配、决策与博弈等。通过这些实际案例的介绍,加深学生对图论知识的理解,提高学习兴趣,并能够培养学生的图模型表示和解决实际问题的能力,即建模能力。这里,我们仅以计算机网络中。随着4G网络的普及以及校园wifi建设的完善,几乎每位同学每时每刻都处于联网状态。然而,在没有学习计算机网络课程之前,学生都还不清楚网络通信的基本原理。因此,作者在教学过程中发现,如果将计算机网络中的有关内容与图论知识适时恰当地结合,能够提高学生的学习兴趣。比如,整个因特网就是一个非常大的图结构,每位同学的每部手机就是这张图的一个节点。上网的过程就是不同节点之间信息传输的过程,这时可以引导学生思考“网络(即图结构)这么复杂,如何保证信息正确到达对方节点?”“如何找到一条最好的路径来进行传输?”等问题。从而可以自然地将计算机网络中的路由选择与图论中的最优路径算法结合起来。在讲授过程中,再结合一些动画进行演示。作者发现,可以引起学生的普遍关注与学习兴趣。
2.3其他方面
为了提高离散数学课程的教学质量,除了将较多的计算机实际应用案例有机融入教学过程中,我们在教学实践中还进行了以下几个方面尝试:(1)在第一次课上对离散数学课程进行较详细的引导性介绍。主要包括它在计算机学科中的地位、作用,与计算机专业其他课程的关系,它的研究对象、内容与历史,计算机学科在我国的发展历史,特别是早期阶段中的一些典型人物与事件。使学生对本门课程有一个整体性的认识及把握。(2)保证一定的课后习题量。仅仅依赖课堂的听讲不能真正理解有关知识点,尤其是对于数学类的课程。离散数学作为专业核心基础课程,共64学时。每节课都有大量的知识点,因此,每次课后都有一定量的课后作业。为了及时批改与讲评,需要配备1名研究生助教。(3)鼓励有兴趣的学生参加相关课题研究。例如用图模型网络流、最优调度等实际应用问题。研究成果以书面报告或论文的形式提交。
3结语
离散数学课程的内容是极其抽象的,这是数学类课程的本质特点。实践证明,正是它的抽象性,才会带来巨大的应用。对于刚入大学的学生来说,在专业课程的学习中,一开始便进入这门课程的学习,确实需要克服很大的困难。作者根据自己多年的教学实践,注重不同专业课程之间有机联系,通过计算机实际应用案例来引导相关抽象概念的学习。实践证明,可以在一定程度上提高学生的学习兴趣,提高了教学效果。
参考文献:
[1]文海英,廖瑞华,魏大宽.离散数学课程教学改革探索与实践[J].计算机教育,2010(6):100-103.
[2]张顺淼.应用型本科高校离散数学教学改革探索[J].韶关学院学报(自然科学版),2013,34(8):82-85.
一个数据库系统的生命周期可以分成:设计、开发和成品三个阶段。在设计阶段进行数据库性能优化的成本最低,收益最大。在成品阶段进行数据库性能优化的成本最高,收益最小。数据库的优化通常可以通过对网络、硬件、操作系统、数据库参数和应用程序的优化来进行。最常见的优化手段就是对硬件的升级。根据统计,对网络、硬件、操作系统、数据库参数进行优化所获得的性能提升,全部加起来只占数据库系统性能提升的40%左右,其余的60%系统性能提升来自对应用程序的优化。许多优化专家认为,对应用程序的优化可以得到80%的系统性能的提升。应用程序的优化通常可分为两个方面:源代码和SQL语句。由于涉及到对程序逻辑的改变,源代码的优化在时间成本和风险上代价很高,而对数据库系统性能的提升收效有限。
1.1为什么要优化SQL语句
第一、SQL语句是对数据库进行操作的惟一途径,对数据库系统的性能起着决定性的作用。
第二、SQL语句消耗了70%至90%的数据库资源。
第三、SQL语句独立于程序设计逻辑,对SQL语句进行优化不会影响程序逻辑。
第四、SQL语句有不同的写法,在性能上的差异非常大。
第五、SQL语句易学,但难精通。
优化SQL语句的传统方法是通过手工重写来对SQL语句进行优化。DBA或资深程序员通过对SQL语句执行计划的分析,依靠经验,尝试重写SQL语句,然后对结果和性能进行比较,以试图找到性能较佳的SQL语句。这种传统上的作法无法找出SQL语句的所有可能写法,且依赖于人的经验,非常耗费时间。
1.2 SQL优化技术的发展历程
第一代SQL优化工具是执行计划分析工具。这类工具针对输入的SQL语句,从数据库提取执行计划,并解释执行计划中关键字的含义。
第二代SQL优化工具只能提供增加索引的建议,它通过对输入的SQL语句的执行计划的分析,来产生是否要增加索引的建议。
第三代SQL优化工具不仅分析输入SQL语句的执行计划,还对输入的SQL语句本身进行语法分析,经过分析产生写法上的改进建议。
1.3人工智能自动SQL优化
人工智能自动SQL优化出现在90年代末。目前在商用数据库领域,LECCO Technology Limited(灵高科研有限公司)拥有该技术,并提供使用该技术的自动优化产品LECCO SQL Expert,它支持Oracle、Sybase、MS SQL Server和IBM DB2数据库平台。该产品针对数据库应用的开发和维护阶段提供的模块有:SQL语法优化器、PL/SQL集成化开发调试环境(IDE)、扫描器、数据库监视器等。其核心模块SQL 语法优化器的工作原理为:①输入一条源SQL语句;②“人工智能反馈式搜索引擎”对输入的SQL语句,结合检测到的数据库结构和索引进行重写,产生N条等效的SQL语句输出;③产生的N条等效SQL语句再送入“人工智能反馈式搜索引擎”进行重写,直至无法产生新的输出或搜索限额满;④对输出的SQL语句进行过滤,选出具有不同执行计划的SQL语句;⑤对得到的SQL语句进行批量测试,找出性能最好的SQL语句。
2 LECCO SQL Expert自动优化实例
2.1假设我们从源代码中抽取出这条SQL语句(也可以通过内带的扫描器或监视器获得SQL语句):
SELECT COUNT(*) 论文下载
FROM EMPLOYEE
swheresEXISTS (SELECT 'X'
FROM DEPARTMENT
swheresEMP_DEPT=DPT_ID
AND DPT_NAME LIKE 'AC%')
AND EMP_ID IN (SELECT SAL_EMP_ID
FROM EMP_SAL_HIST B
swheresSAL_SALARY > 70000)
按下“优化”按钮后,经过10几秒,SQL Expert就完成了优化的过程,并在这10几秒的时间里重写产生了2267 条等价的SQL语句,其中136条SQL语句有不同的执行计划。
接下来,我们可以对自动重写产生的136条SQL语句进行批运行测试,以选出性能最佳的等效SQL语句。按下“批运行” 按钮,在“终止条件” 页选择“最佳运行时间SQL语句”,按“确定”。
经过几分钟的测试运行后,我们可以发现SQL124的运行时间和反应时间最短。运行速度约有22.75倍的提升(源SQL语句运行时间为2.73秒,SQL124运行时间为0.12秒)。现在我们就可以把SQL124放入源代码中,结束一条SQL语句的优化工作了。
2.2“边做边学式训练”提升SQL开发水平
LECCO SQL Expert不仅能够找到最佳的SQL语句,它所提供的“边做边学式训练”还能够教开发人员和数据库管理员如何写出性能最好的SQL语句。LECCO SQL Expert的“SQL比较器”可以标明源SQL和待选SQL间的不同之处。
以上面优化的结果为例,为了查看源SQL语句和SQL124在写法上有什么不同,我们可以按下“比较器” 按钮,对SQL124和源SQL语句进行比较。“SQL 比较器”将SQL124相对于源SQL语句的不同之处以蓝颜色表示了出来。如果选择“双向比较”复选框,“SQL 比较器”可以将两条SQL语句的不同之处以蓝色表示。当然,我们也可以从源语句和重写后的SQL 语句中任选两条进行比较。
从比较的结果可以看到,重写后的SQL124把第一个Exists改写成了In;在字段DPT_ID上进行了合并空字符串的操作,以诱导数据库先执行子查询中的
(SELECT DPT_ID||''
FROM DEPARTMENT
WHERE DPT_NAME LIKE 'AC%')
在子查询完成后,再与EMPLOYEE表进行嵌套循环连接(Nested Loop Join)。
如果觉得对写法的改变难以理解,还可以点中“执行计划”复选框,通过比较两条SQL语句的执行计划的不同,来了解其中的差异。在查看执行计划过程中,如果有什么不明白的地方,可以点中“SQL信息按钮”,再点击执行计划看不明白的地方,LECCO SQL Expert的上下文敏感帮助系统将提供执行计划该处的解释。
在“SQL比较器”中,选中“统计信息”复选框后,可得到详细的两条SQL语句运行时的统计信息比较,这对于学习不同的SQL写法对数据库资源的消耗很有帮助。
2.3 LECCO SQL Expert优化模块的特点
LECCO SQL Expert优化模块的特点主要表现为:自动优化SQL语句;以独家的人工智能知识库“反馈式搜索引擎”来重写性能优异的SQL语句;找出所有等效的SQL语句及可能的执行计划;保证产生相同的结果;先进的SQL语法分析器能处理最复杂的SQL语句;可以重写SELECT、SELECT INTO、UPDATE、INSERT和DELETE语句;通过测试运行,为应用程序和数据库自动找到性能最好的SQL语句;提供微秒级的计时,能够优化Web应用程序和有大量用户的在线事务处理中运行时间很短的SQL语句;为开发人员提供“边做边学式训练”,迅速提高开发人员的SQL编程技能;提供上下文敏感的执行计划帮助系统和SQL运行状态帮助;不是猜测或建议,而是独一无二的SQL重写解决方案。
2.4写出专家级的SQL语句
LECCO SQL Expert的出现,使SQL的优化变得极其简单,只要能够写出SQL语句,它就能帮用户找到最好性能的写法。LECCO SQL Expert不仅能在很短的时间内找到所有可能的优化方案,而且能够通过实际测试,确定最有效的优化方案。同以往的数据库优化手段相比较,LECCO SQL Expert将数据库优化技术带到了一个崭新的技术高度,依赖人的经验、耗费大量时间、受人的思维束缚的数据库优化手段已经被高效、省时且准确的自动优化软件所取代了。通过内建的“LECCO小助手”的帮助,即使是SQL的开发新手,也能快速且简单地写出专家级的SQL语句。
参考文献
1张孔倚.关于人工智能技术在情报检索中的应用.山西大学学报,2007(3)