万常选 廖国琼 吴京慧 刘喜平 刘爱红
摘要:本文介绍“数据库系统原理”课程的目标与体系,给出自编教材《数据库系统原理与设计》及其配套实验教材《数据库系统原理与设计实验教程》的内容与结构安排,分析教材的主要特色,包括重视数据库模式导航、数据库设计、数据库管理系统和数据库应用开发等,并对该课程教学过程中开展的大作业教学改革进行了探讨。
关键词:数据库系统原理;教材建设;大作业教学
中图分类号:G642 文献标识码:B
数据库系统是计算机系统的重要组成部分,是企业、机构、互联网乃至整个信息社会赖以运转的基础,在当今信息社会中扮演着越来越重要的角色。正是由于数据库具有重要的基础地位,数据库理论与技术教育已成为现代计算机科学和相关学科教育中的核心部分,所有计算机相关专业的学生都有必要掌握和熟悉数据库理论与技术。
通过多年的数据库课程教学,我们发现学生在学习了数据库课程之后,仍然不会“用”数据库——不会设计数据库,不会管理数据库,不会开发数据库应用程序。带着这些问题,我们进行了一系列数据库课程教学改革探索与实践,并取得了一定的成绩。如我校的“数据库系统及应用”于2007年立项为国家精品课程;清华大学出版社于2009年出版了我们的研究成果——《数据库系统原理与设计》及其配套实验教材《数据库系统原理与设计实验教程》。
本文主要对“数据库系统原理”课程目标及课程体系,出版教材的内容、结构及特色,大作业教学改革等方面进行分析与探讨。
1课程目标与课程体系
1.1目标
我校“数据库系统原理”课程教学主要面向计算机科学与技术专业、信息管理与信息系统专业的本科生。根据由教育部高等学校计算机科学与技术教学指导委员会最新编制的《高等学校计算机科学与技术专业核心课程教学实施方案》中数据库教学实施方案的分类(科学型、工程型和应用型),并结合我校培养特色,我们主要培养应用型复合性人才。该课程强调理论与实践相结合,主要培养目标为:
(1) 培养学生具有较强的数据抽象和数据建模能力,能够深刻理解不同数据模型的特点和适用范围,并具备利用某种数据模型构建实际应用逻辑模型的能力;
(2) 培养学生具有一定的系统分析与设计能力,能够理解数据库系统的体系结构和系统组成,能对数据库管理系统的实现原理进行简单分析;
(3) 培养学生具有较强的数据库设计和应用开发能力,能够灵活运用一种数据库语言及应用开发工具解决实际应用问题;
(4) 培养学生自主学习能力、创新能力和团队协作精神,从应用中发现问题、提出问题、分析问题和解决问题的能力——问题求解能力;
(5) 培养学生使用和维护数据库能力,能够在掌握数据库基本原理的基础上,掌握一种主流数据库管理系统的使用和维护方法。
1.2课程体系
“数据库系统原理”课程体系主要由以下部分组成:
(1) 数据模型——主线。
① 概念模型:E-R模型。
② 逻辑模型:关系模型(数据结构、操作和约束)。
③ 物理模型:存储结构、索引技术等。
(2) 数据库系统——核心。
① 数据库管理系统:存储结构与索引、查询与优化、完整性与安全、事务与恢复等。
②人员:数据库管理员、系统分析员和数据库设计人员、数据库应用程序员以及终端用户等。
③ 支撑软件及硬件系统:操作系统及各种硬件资源。
(3) 数据库应用——动力。
① 应用需求分析:业务需求及处理流程、功能需求及数据需求分析、业务规则分析等。
② 数据库设计:数据库概念模型、逻辑模型和物理模型等。
③ 数据库应用开发:数据库应用系统的体系结构、常用数据库访问技术和数据库应用开发技术等。
2教材内容与结构安排
结合“数据库系统原理”课程培养目标和课程体系,《数据库系统原理与设计》主要内容与结构安排如下:
(1) 数据库系统基本概念(第1章)。该部分介绍了数据、数据管理、数据库、数据库管理系统和数据库系统等基本概念,同时也介绍了数据模型、数据抽象、数据库模式等概念。
(2) 关系数据库基础(第2章和第3章)。第2章介绍了关系模型(关系数据结构、关系操作和关系完整性约束条件)以及关系代数;第3章介绍了关系数据库的标准语言——SQL,包括数据定义DDL语言、数据控制DCL语言和数据操纵DML语言。
(3) 关系数据库设计(第4章至第6章)。第4章介绍了数据库建模方法,包括实体-联系模型基本概念、概念模型设计过程以及如何将E-R模型转化为关系模型;第5章介绍了关系数据库设计理论,着重讲述了函数依赖及规范化理论;第6章通过一个实例演示了关系数据库设计过程。
(4) 关系数据库管理系统(第7至10章)。第7章介绍了关系数据库物理存储结构,包括文件组织、记录组织、索引技术以及物理数据库设计;第8章介绍了查询处理技术,包括查询处理过程、各种关系操作算法以及查询优化技术;第9章讲述了数据库完整性和安全技术,包括数据库安全性、完整性的基本概念和措施,游标、存储过程和触发器以及应用与安全设计;第10章阐述了事务管理和恢复相关技术。
(5) 数据库应用开发(第11章和第12章)。第11章介绍了数据库应用系统的体系结构、常用数据库访问技术和数据库应用开发技术;第12章介绍了Web数据库基本概念,讨论了Web数据库访问技术,并介绍了XML数据库基本概念。
《数据库系统原理与设计实验教程》按照《数据库系统原理与设计》主教材内容的顺序,紧扣数据库理论设计实验,有助于学生深刻理解和掌握数据库系统原理,培养学生的数据库设计及应用开发能力。本书在简单介绍了SQL Server 2000的特点、安装与使用、体系结构、数据类型、函数和流控制语句后,共安排了13个实验:简单查询、复杂查询、数据定义操作、数据更新操作、查询执行计划、安全性定义与检查、完整性定义与检查、游标与存储过程、触发器、事务处理、数据库模式脚本设计、C/S模式的数据库应用开发和B/S模式的数据库应用开发。每一个实验都包括实验目的与要求、实验案例和实验内容3部分,每一类实验中安排了相关知识介绍,以帮助学生回顾实验相关知识。
3教材特色
目前,虽然数据库教材很多,但是很难找到完全满足我们需要的教材。本套教材的编写初衷是写出让学生会“用”且“够用”数据库的教材。虽然不一定完全达到目标,但至少我们已开始了有益的尝试。本套教材主要有4个特色,一是强调数据库模式导航图,二是强调数据库设计,三是强调数据库管理系统,四是强调数据库应用开发。
3.1数据库模式导航图
数据库模式导航图强化对关系数据库模式的理解,以模式导航图为工具,使学生深刻理解关系数据库查询原理,灵活掌握关系代数和SQL查询语言。
例如,学生选课数据库SCDB的模式导航图如图1所示。其中,开课班是弱实体集,它依赖于标识实体集课程,且假设课程班号cClsaaNo可唯一标识某门课程的开课班。那么可使用标识实体集课程的主码courseNo与cClsaaNo结合起来唯一标识开课班中的实体。
给定一个查询需求,基于数据库模式导航图构造其关系代数表达式或SQL查询的步骤如下:
(1) 明确该查询涉及到哪些属性;
(2) 明确该查询涉及到哪些关系;
(3) 根据数据库模式导航图,通过多对一联系(或一对多联系),把所有涉及的关系连接起来,每一个多对一联系(或一对多联系)都可以表示为外码属性的自然连接。
例1:针对SCDB数据库,查找“吴文君”老师教过的2008级学生的姓名。
① 该查询共涉及3个属性,分别是职工名teacher Name、年级grade和学生姓名studentName,职工名teacherName和年级grade都是用于选择条件。
② 共涉及3个关系,分别是教师关系Teacher、班级关系Class和学生关系Student。
③ 学生关系Student与班级关系Class之间是多对一联系;学生关系Student和教师关系Teacher之间是多对多联系,这种多对多联系可通过几个多对一联系进行连通。根据图2所示的数据库模式导航图,可以得到该查询需要涉及5个关系:Class、Student、Teacher、SC和CourseClass,它们之间的联系如图2所示。
④ 根据图2所示的数据库模式导航图,可得到关系代数表达式为:
∏studentName((((σgrade=2008Class ⋈ Student) ⋈ SC) ⋈ Course Class) ⋈ σteacherName='吴文君'Teacher)
3.2数据库设计
数据库设计是以案例为驱动,通过分析应用需求来介绍数据库建模的基本方法,使学生深刻理解关系数据库设计思想,提高数据库设计能力。
数据库设计相关内容安排在第4、5、6章以及第7.6、9.6节等章节,逐层推进介绍。第4、5章介绍了数据库设计的基本原理,第6章通过一个综合数据库设计实例启发式地引领学生学会需求分析、概念建模和逻辑建模。
综合数据库设计实例内容包括:
(1) 需求描述和系统边界;
(2) 需求分析,包括业务需求及处理流程、功能需求及数据需求分析、业务规则分析等;
(3) 确定实体集及属性;
(4) 确定联系集及E-R图;
(5) 检查是否满足需求,并改进E-R图;
(6) 逻辑数据库设计;
(7) 模式求精;
(8) 进一步思考。
该数据库设计过程是启发式、递进式的分析过程,可以配合大作业活动达到教学目的。
3.3数据库管理系统
(1) 增加关系数据库物理存储结构、查询处理和查询优化等内容,一是有利于学生从底层的角度理解SQL查询,二是有利于学生更好地理解关系数据库的物理设计,三是有利于学生更好地理解关系数据库的优点和缺点。该部分内容可根据授课对象的不同有选择地开展教学。
(2) 从使用者的角度,以应用需求为驱动介绍数据库的事务、并发、恢复和完整性、安全性等内容。
3.4数据库应用开发
增加数据库应用开发和Web数据库技术介绍,使学生能了解数据库常用访问方法和Web数据库的原理和实现技术,为后续学习和数据库应用开发实践打下基础。
4大作业教学改革
作为一种培养学生综合能力的教学手段,大作业制度对于创新型人才的培养具有重要的意义。大作业制度的实践使教师主体和学生主体亲密合作、协调互动,构建起学生在学习过程中自主式学习的主体地位和教师在教学过程中引导式教学的主体地位,达到了提高学生综合能力的良好教学效果。
大作业教学活动的整个过程就是学生围绕大作业开展“自主学习”,完成课题任务的过程;大作业教学手段是通过学生充分地展示个性才能,培养学生的自主精神,挖掘学生的潜能;大作业教学的目的是因材施教,发展学生个性。
大作业驱动下的双主体互动式教学模式的主要举措如下:
(1) 教学内容课题化。合理设计课题是大作业驱动的关键,需要教师精心策划。设计选题时,既要有明确的目的、任务和要求,让学生“有事可做”,又要考虑学生已有的知识结构和能力,让学生“有事能做”,还要与学生的兴趣相结合,让学生“有事愿做”。
(2) 分工合作责任化。责任化的目的是实现团队学习、分工合作、共同提高。大作业选题设计时,要有指导性的成员分工安排,形成人人参与、团队合作的大作业共同体。
(3) 完成任务主体化。在完成大作业的过程中,一方面教师不要事先给出具体的方案和技术路线,给学生留有足够的思维空间,充分发挥学生的自主式学习意识,引导学生创造性地提出解决问题的方案、技术路线;另一方面,教师针对学生实践中遇到的问题,要及时地通过互动式讨论,引导学生解决问题,正确引导学生的创新思维。
(4) 学习成果作品化。学生个人或小组的学习成果,需要以作品的形式呈现,并在班级内交流。有利于提高学生的写作能力,使认知系统化、有序化。
(5) 评价标准公开化。要想正确地引导和评价学生,必须先创建客观公正的评价标准和评价方法,让学生明确努力的方向并自我评价,以增强学生的自主意识和对问题的注意力。采用理论考试与实践考核相结合、传统考试与上机考试相结合、大作业与小作业评价相结合的考核方式,注重综合素质的提高,强化实践教学,培养动手能力。
(6) 成果评价民主化。每个小组在完成大作业过程中都付出了辛勤劳动,取得了一定成绩,要为每个小组提供一个展示研究成果的机会,培养学生发现问题、思考问题和解决问题的学习能力,促使学生养成学习他人长处的良好习惯。在答辩过程中,通过回答其他同学的问题和向其他组提出问题,学生的倾听、观察、分析、概括、归纳、讲解、提问、辩论、思维等多种能力得到提高。
本课程采用了上述大作业驱动下的双主体互动式教学模式。大作业过程及进度安排如下:
(1) 选题:说明选题的原因、确定系统目标及边界(第2~3周)。
(2) 需求分析:业务需求及处理流程分析、功能需求及数据需求分析、业务规则分析等(第5~7周)。
(3) 数据库设计:包括概念设计、逻辑设计、物理设计等(第8~10周)。
(4) B/S或C/S结构的应用系统实现(第10~13周)。
(5) 设计报告(第14~15周)。
通过做大作业,不仅增强了学生的自信心,促进了学生主动学习,培养了学生的创新思维和创新能力,提高了学生的综合素质,而且促进了教师努力钻研业务和教学方法,提高了教师的科研能力。
5总结
经过多年的教学改革探索与实践,我们一直在思考:对于计算机相关专业的本科生来说,需要掌握哪些数据库知识?回答这个问题并不容易。这是因为数据库知识非常丰富,而且课时有限,学生不可能了解所有数据库知识。另外,不同用户使用数据库时的视角是不同的。数据库系统的用户大致可分为4类:数据库管理员、系统分析员和数据库设计人员、数据库应用程序员以及终端用户。计算机相关专业的学生既可能做数据库管理员,也可能成为系统分析员和数据库设计员,更可能是数据库应用程序员。
因此,我们试图编写一套让学生会“用”数据库的教材,该套教材的主要特色是强调数据库模式导航图、强调数据库设计、强调数据库管理系统、强调数据库应用开发,并通过配套的大作业活动,使学生在掌握数据库基本知识、基本理论和基本方法的基础上,具有较强的数据库设计、数据库系统管理和应用开发能力,并能够灵活运用数据库技术解决实际应用问题;培养学生自主学习能力、创新能力和团队协作精神,从应用中发现问题、提出问题、分析问题和解决问题的能力——问题求解能力。
参考文献:
[1] 万常选,廖国琼,吴京慧,等. 数据库系统原理与设计[M]. 北京:清华大学出版社,2009.
[2] 吴京慧,刘爱红,廖国琼,等. 数据库系统原理与设计实验教程[M]. 北京:清华大学出版社,2009.
[3] 万常选,吴京慧,廖国琼,等. 数据库系列课程中创新性学习模式的探索与实践[J]. 计算机教育,2009(15):13-15,22.
[4] 吴京慧. 培养学生创新能力的实践教学方式的研究[J]. 计算机教育,2007(22):109 -112.
[5] 教育部高等学校计算机科学与技术教学指导委员会. 高等学校计算机科学与技术专业核心课程教学实施方案[M]. 北京:高等教育出版社,2009.