APP下载

提高数据库系统教学质量的几点思考

2011-12-31程录庆

计算机教育 2011年16期

  摘要:通过对数据库技术专业人才能力结构和特征的研究,提出数据库系统的知识结构,分析当前高校数据库系统相关课程的教学现状,从数据库系统知识结构、教学层次的区分、实践教学的创新等几个方面,探讨提高数据库系统教学质量的途径。
  关键词:数据库系统;知识结构;教学层次;教学质量
  
  大量信息处理是当前社会生活的重要特征,计算机作为信息处理的主要工具,其学科在数据库系统领域发展迅速,为适应这一形势,国内高校将数据库系统理论与技术的教学作为计算机专业和信息管理专业教学的重要组成部分,此外,为达成提高大学生信息素质的目的,有相当数量的非信息类专业的本、专科也开设与数据库技术有关的课程。然而,据笔者观察,数据库的教学质量并不理想。数据库理论与技术是计算机学科中一个较为独立的分支,其内容涉及数据库应用、数据库系统工程、数据理论与新技术研究等多个层面,而我们在实际的教学中,往往不去区分授课对象专业背景和知识背景,千篇一律地以同样的教材、同样的内容、同样的方法施教,教师达不成教学目标,学生无所适从,学习成效较差。对此,本文系统分析数据库系统教学中存在的一些问题,并结合数据库系统的特点提出提高教学质量的五个途径,以供探讨。
  1理清数据库系统的知识结构
  数据库理论与技术是计算机学科中一个较为独立的分支,研究数据如何高效地组织与管理。当前,我们把数据库作为计算机学科一个分支,然而,数据管理(信息管理)自从有文明以来就是人类重要活动之一,长期以来,人们积累的数据管理的理论和经验,到今天依然有其价值,是数据库理论的重要组成部分。计算机的发明给数据管理带来了革命性的变化,因为计算机具有的存储数据量大、数据传输便捷、计算速度快且准确的特点,所以当今数据管理活动无不以围绕计算机技术而展开。
  1.1数据库系统的知识结构
  笔者对一名胜任的数据库系统专业人员所需的知识结构作了研究,得到结果如表1所示[1-2]。
  表1中“基础知识”一项所列的课程是学习数据库系统知识的先行课程,为数据库系统专业人员提供必要的计算机软硬件知识,数理逻辑知识和信息检索的基本原理和方法,这是数据库系统开发、管理和应用的基础。“数据库基本原理与设计”一项是作数据库系统设计所需的基本理论知识和规范,当前存在的各种数据库模型中,关系数据模型最为成熟,数据库系统原理的教学还是以关系数据模型为核心的,掌握关系数据库原理是通往数据库世界的入门钥匙。其次半结构化数据XML有很好的应用前景。“数据库系统实现”一项是将数据库系统设计蓝图变成实实在在的可运行的系统所需的知识和技巧,涉及数据库系统的物理层。“数据库新技术及延伸”一项所列的是数据库理论、模型、技术的新研究领域及相关联的一些延伸领域。“商业系统及代码开源系统”列出的是商业上成熟应用的一些数据库管理系统(DBMS),是软件公司推出的数据库产品,作为数据库从业人员,熟悉若干DBMS的使用是必要的,不过,前提是掌握前几项所列的数据库系统基本知识。其中Postgresql的源代码是开放的,而且是免费的,适合作数据库系统的研究对象。各部分知识构成的关系如图1所示。
  1.2当前数据库系统教学内容的结构性偏差
  1.2.1基础知识的学习欠缺
  目前国内高校中系统学习数据库知识的主要是计算机专业和信息管理专业学生。对计算机专业来说,计算机软硬件知识和数据逻辑知识方面的课程开设是充分的,欠缺的是信息检索和情报学方面的相关课程设置,这种现状不利于培养学生的信息素质和信息意识。而对信息管理专业来说,计算机和数理逻辑知识相对较少,这对进一步深入学习数据库系统知识是一个障碍。另外,有些高校的信息管理专业招生是文理兼收(比如笔者所在单位)。比较来看,文科学生对计算机与数理逻辑知识接受能力较差,所以干脆不开设计算机系统原理和离散数学这两门被认为很难的课程,这不能不说是个遗憾。另外,值得一提的是,为普及信息知识而开设数据库课程的非信息类专业,基础知识总是被忽略,学生在没有任何基础的情况下即开始学习数据库原理或一些商业系统的应用,这样做无异于“空中搭楼阁”。当然,限于学时,对非信息类学生不可能进行这些基础知识的系统教学,如何有效缩减这些基础知识以利于这一类学生的教学值得我们研究。
  1.2.2对商业系统的学习认识不足
  如上文提到的,作为数据库从业人员,熟悉若干DBMS的使用是必要的,原因主要有两点:一是构建数据库系统通常情况下需要以这些产品为平台;二是获得数据库系统应用的直觉经验,也就是感性认识。但正如图1所示,对各类商业系统的研究和使用是需要前4个知识模块作支撑的数据库系统的,教学上不能以此为本。然而,在实际的数据库教学中,有些教师却把学习这一类系统产品的使用(如VFP、Sql server、Oracle)作为教学的主体,这是本末倒置。若以学习某一数据库软件产品为主体进行教学,则后果可能是:学生学习了产品的各种使用细节,依然对数据库系统的构建一无所知,从而造成学生学习兴趣降低,失去进一步深入探究数据库系统原理的动力。另外,有些高校甚至要求学生学习多门(多达4~5门)数据库管理系统软件的课程,从VFP、Paradox、SQL Server到Oracle都有,暂且不论这些单位是否具备相应的实验条件,学习内容的重复已足以让学生厌倦,同时也让学生产生“所谓数据库技术就是用好这些数据库产品”这样的荒谬认识。关于商业系统的教学,笔者认为,比较好的办法是选择一个教师已经熟练掌握的且较为典型的一个软件系统展开教学,同时应鼓励学生自学其感兴趣的数据库软件,针对能力强的学生,甚至可以启发他们去开发一个数据库管理系统原型,据笔者了解,国外有不少数据库商业系统软件,其原型就是在校大学生设计开发的。
  1.2.3系统实现教学偏弱
  表1中所列“数据库系统实现”一项是将数据库系统设计蓝图变成实实在在的可运行的系统所需的知识和技巧,是数据库系统知识很重要的组成部分。然而,教师普遍在这部分内容教学上投入的精力不足,究其原因,主要是:1)国内普遍使用的教材将“数据库系统原理与设计”和“数据库系统实现”二项合并,作为一门课程由一名教师来讲,而我们的教师在授课时存在“重理论、轻实现”现象,再加上学时限制,后面的教学内容自然就不受重视了;2)这部分内容虽然涉及的是数据库系统的物理层,然而实际上肉眼是看不到的,教师讲起来有难度,学生也觉得抽象,学起来吃力,产生“教学相怠”;3)部分教师和学生对数据库系统实现的重要性认识不够,认为数据库系统的实现工作大部分可以交给商业DBMS去做,没必要费力去追根问底。为加强数据库系统实现的教学,笔者认为:1)应该将数据库系统实现作为一门单独的课程,由在这方面有专长的教师授课;2)制作一些高质量的多媒体演示(如动画)来展现数据库系统的物理层活动,提高教学效果;3)不能认为DBMS能做的就没必要搞清楚,理解DBMS的工作原理本身就是学生应该具备的知识。
  2区分数据库系统知识的教学层次
  当前社会生活与信息的处理和服务息息相关,人们几乎每天都会和各种各样的数据库直接或间接地打上交道。数据库系统相关从业人员按所从事的工作性质可以分为4种角色:1)数据库相关理论与技术的研究人员;2)数据库应用系统的设计、开发和维护人员,统称为工程人员;3)数据库应用系统管理人员(DBA);4)数据库系统的用户。这4类人员在知识结构上、能力和素质要求上是不同的,作为高校,培养这4类人才,在教学上应区别对待。
  
  2.1数据库系统的教学层次
  为实现数据库系统的教学目标个性化,我们可以将培养不同类型的人才分为4个教学层次:研究层次、工程层次、管理层次和应用层次,各自教学侧重点也有差别[3],如表2所示。
  2.2各层次教学特点
  2.2.1研究层次
  开展数据库理论与技术研究需要有本专业方向上较为深厚的理论基础和宽泛的专业知识背景,能了解和把握前沿的理论创新和技术发明。在面向这一层次的教学中,应提高基础知识和数据库系统的原理及实现的学习考核标准,尤其是目前偏弱的数据库系统实现方面的内容,更应予以加强。此外,对数据库新技术及其延伸的相关科目应多涉及一些,拓展学生思路,培养学生的科研素质。值得一提的是,在实践环节上,常用的商业数据库管理系统的研究价值并不高,可以鼓励学生对代码开放的一些DBMS(如Postgresql)作探索性的研究和使用,为自行研制数据库管理系统原型打下基础。
  2.2.2工程层次
  培养胜任的数据库系统工程人才是数据库系统教学的重点。数据库应用系统的设计、开发和维护是一个系统工程,在教学上,除传授必要的数据库系统相关知识以外,应对下列能力和知识的培养有所侧重:1)对具体业务过程进行分析、建模的能力;2)将客观世界的信息转化为计算机中数据表达的能力;3)关系数据库的设计理论;4)程序设计能力;5)软件工程;6)商业数据库管理系统平台的应用。
  另外,对于数据库系统工程人才的培养,将任务驱动机制引入实践教学很有必要。数据库应用系统的开发,除需具备数据库技术知识以外,还要对所面向的业务过程做出适宜的分析和建模。引导学生结合具体的任务,从系统的规划、分析开始,一步一步地完成概念建模、数据建模、数据结构设计、管理程序设计等,最后完成系统原型。这个过程可以培养学生在实践中综合应用所学知识对实际问题进行分析和解决问题的能力。
  2.2.3管理层次
  对一个现有的数据库应用系统进行有效的管理是数据库管理员(DBA)的职责,其职责内容主要有:1)决定数据库中的信息内容和结构;2)决定数据库的存储结构和存取策略;3)定义数据的安全性要求和完整性约束条件;4)监控数据库的使用和运行;5)数据库的改进和重组。毫无疑问,一个合格的数据库管理员应具备基本的数据库应用系统工程方面的知识,此外,由于DBA所面向的是多用户(多到可以是一个企业所有的工作人员)的大型数据库系统,对企业来说,高级的DBA就是CIO(首席信息官),所以提升学生的管理素质和与人沟通的能力也很重要[4],在教学上,对诸如信息资源管理、组织行为学、信息经济学等管理类课程的教学应予以侧重。
  2.2.4应用层次
  对为提高信息素质的非信息类专业学生进行数据库教学属于这个层次。当前国内普通高校有相当数量的非信息类专业的本、专科开设与数据库技术有关的课程,目的是利用现有的数据库系统来存储和获取所需的信息。这类学生计算机基础知识并不多,且也不会花过多学时来学习数据库技术,这给教学带来难度。不过,即使作为一个数据库系统用户,若不具备数据库原理的基本知识,也不能正确、有效地使用数据库。为适应这一层次的教学,我们可以有针对性地将相关内容做缩减,浓缩成一门课程让学生学习。缩减的方法可根据学生的类别(文科还是理科)和知识背景等具体情况而定,不过,至少应涵盖下列内容:1)计算机基础知识;2)信息检索基本原理和方法;3)关系数据模型;4)关系数据操作(含关系运算、标准SQL语言、约束与触发器);5)一种商业数据库管理系统(DBMS)的基本应用。
  3注重实践教学的创新
  数据库系统知识是理论与实践并重的,相关课程具有应用性、系统性强的特点,教学上,除教师课堂讲授外,还应有多种实践教学形式加以辅助。实践教学应注重培养学生的自主思考、自主学习和动手的能力,教师在设计实践内容和方法时不必拘泥于固有的实践教学模式,应以提升学生的分析问题、解决问题能力为目的勇于创新。
  3.1实践教学形式的多样性
  实践教学在形式上不应仅限于“教师布置题目,学生到机房上机操作”,根据不同的教学目标,因地制宜采取多种实践教学形式,包括课程上机实验、课程设计、案例系统演示、优秀数据库系统观摩、项目开发实践,社会调查、毕业实习和毕业设计等等。
  3.2实践教学环节的改进
  目前实践教学环节存在实践教学的内容和范围局限性大、实践环节难以激发学生兴趣、考核标准难以统一且流于形式。为保证实践教