绪论:写作既是个人情感的抒发,也是对学术真理的探索,欢迎阅读由发表云整理的11篇数据库系统概论范文,希望它们能为您的写作提供参考和启发。
《数据库系统概论》是高校计算机专业的必修专业课,同时它也是一门理论和实践性都较强的学科,传统的“黑板上讲理论,机房里练操作”的授课模式很难激发学生的学习兴趣,教学效果不佳。
往往一学期教学结束,和学生谈起本课程的学习,学生只是记住几个概念,至于数据库的技术没有多少能深入理解,更别提能应用于实际。数据库的应用虽然十分广泛,到处都是数据库,银行里、商店里、网络上等等。但是因为它是藏在“后台”的,不像多媒体、WWW等等,既作为对象,又作为外壳,直接呈现在人们面前,所以要简明扼要、深入浅出、生活化地诠释它,显然有更高的难度。
本人在《数据库系统概论》教学实践中体会到, 不能只看中理论,觉得学生只要知道是怎么一回事就可以了,需要学生亲身去参与项目的开发,去经历基本真实的项目制作,才能掌握知识。因此,在实际的教学中,采用任务驱动的案例教学法,配合直观的教学媒体,并布置学生的课下任务,多管齐下,让学生更全面的了解、使用数据库技术。
1 教学方法概述
对于计算机专业的课程来讲,教学方法大致有以下几种:
1.1 讲授法
这种方法能够使学生在短时间内获得大量系统的科学知识。但运用不好,学生学习的主动性、积极性不易发挥,就会出现教师满堂灌、学生被动听的局面。在讲述数据库概念的时候,常采用这种方法。
1.2 讨论法
这种方法是在教师的指导下,学生以小组为单位,围绕教材的中心问题,各抒己见,通过讨论或辩论活动,获得知识或巩固知识。在该课程的教学中,采用一两次,如并发事务的处理。在讨论中引导学生围绕题目发表意见,然后在结束时,概括讨论的情况,使学生获得了正确的观点和系统的知识。
1.3 直观演示法
通过展示各种案例或进行示范性实验,让学生通过观察获得感性认识。主要是演示实验的内容或要求课下学生实际操作的内容。
1.4 练习法
学生在教师的指导下巩固知识、运用知识、形成技能技巧的方法。实际操作的练习,旨在形成操作技能,在技术性学科中占重要地位。
1.5 读书指导法
读书指导法是教师指导学生通过阅读教科书或参考书,以获得知识、巩固知识、培养学生自学能力。在每次课后,都给学生布置相应的参看书目、参考文献或参考网站,引导学生主动地自学,并在课堂上适当地让学生发表自己看书的收获。
1.6 任务驱动教学法
这种方法要求给学生布置具体的学习任务,让学生自己查阅资料,并对知识体系进行整理,再选出代表进行讲解,最后由教师进行总结。这种方法可以让学生在完成“任务”的过程中,培养分析问题、解决问题的能力,培养学生独立探索及合作精神。在讲解关键的知识或技术时如数据库的设计,大多采用这种方法。
1.7 自主学习法
这种方法是给学生留思考题或是遇到的一些实际生产问题,让学生利用网络资源自主学习的方式寻找答案,提出解决问题的措施,然后提出讨论评价。这种方法能够充分发掘学生的创造潜能,提高学生解决实际问题的综合能力。
2 教学方法的实施
《数据库系统概论》的主要目的是要求学生能掌握数据库技术中的概念,并学会进行数据库的设计和实施,进而能结合前台对后台数据库进行各种操作。
2.1 数据库的概念
这一部分主要采用联系生活的实际讲授法来讲述。例如在讲述数据管理的发展时采用在图书馆查阅资料的例子,总结出常用信息资源管理的两种方法:手工管理(逐级分类)和计算机管理(采用数据库)。通过搜索引擎引入数据库,让学生感受数据库管理信息的优势:查找统计数据高效准确,数据库的共享性好,管理操作方便,管理大量信息占用空间小。 通过对图书管理数据库的解剖分析,了解使用数据库管理信息的基本思想和方法:采用表格的结构以及表与表之间的关系进行存储和管理信息的。然后编写数据库管理软件对数据库信息进行查找和统计操作。
2.2 数据库的设计
这一部分主要采用任务驱动的案例教学。先给大家一个总体的任务,比如图书管理系统。总体任务是设计一个图书馆数据库,在此数据库中保存有读者记录和书目。
关键词:数据库系统;教学方法;课程体系
中图分类号:G642 文献标识码:A
Research on Course Architecture and Teaching Method of Database System
CHEN Long-meng
(College of Information Science and Engineering, Qingdao Agricultural University, Qingdao 266109, Shandong, China)
Abstract: For the purpose of achieving the innovative education target of database system and improving teaching quality, this paper presented the active probes into the following five aspects: the construction of the database system series courses, the optimization of the course knowledge, the adoption of the teaching methods and means gearing to the characteristicsof each module in the course, the teaching mode of experiment, the teaching pattern of course design.
Key words: database system, teaching method, course architecture
1数据库课程体系建设
1.1数据库系统课程的教学目标
根据数据库技术应用广泛、快速发展的实际情况,按照学校关于加强学生实践能力和创新能力、培养高素质应用型人才的要求,我们确立了数据库系统课程的教学目标,用一句话概括为使学生具备“对数据库系统的认知、分析、设计、应用能力和学科素质”,具体而言就是:较全面的掌握数据库系统的基本概念和基本原理,了解学科发展前沿和发展趋势,提高数据库的理论知识水平;学习数据库技术和方法,掌握其应用技能,提高学生的动手实践能力;培养学生综合运用数据库系统的知识、技术和方法进行数据库应用系统的设计和实施的能力,提高其综合素质和创新能力。
1.2课程体系的构建
上述教学目标较庞大,单靠一门课程、一学期难以达到。上述教学目标体现出明显的层次性,即“基础、应用和综合”,为此我们将上述教学目标分解为三个层次,分三阶段来实现。因此我们设立了如下数据库系列课程:
Ⅰ 必修课:数据库系统概论(第6学期开设);
Ⅱ 选修课:“SQL SERVER使用技术”,“动态网站建设”(第7学期前面开设)
Ⅲ 必修课:数据库课程设计(第7学期后面开设)
数据库系统概论课程是学习数据库技术的第一门课程,属于基础层次,肩负着培养学生数据库基本理论、基本技术和方法及其基本应用的能力,使学生获得系统的数据库知识结构和基本应用技能,为后续课和考研打下基础;
SQL SERVER使用技术、动态网站建设两门课程都是选修课(学习选择权交给学生),其教学目的是使学生掌握一种数据库应用系统开发工具(人利用工具而生存),进一步掌握数据库理论和方法的应用,提高学生的动手实践能力。
数据库课程设计是培养学生全面理解和综合运用数据库系统及相关学科的知识、技术和方法分析问题、进行数据库应用系统的设计和实施以解决实际问题、提高其综合素质和创新能力的重要实践教学环节,是数据库系统课程教学目标培养中的最高层次。在这一教学阶段,学生需要综合运用前两阶段所学课程的知识,以及程序设计、软件工程、计算机网络等相关知识才能完成本阶段教学任务,达到教学目标。
因为上述三阶段的课程在内容上前后相承,层次递进,所以在教学时间安排上,它们的开设学期前后相连,符合循序推进的教学规律,在教学上可起到趁热打铁的作用。
1.3教学内容的结构化与优化
课程体系教学内容的优化包括教学内容的结构化、确定重点教学内容和在系列课程间合理分配教学内容和任务,使课程间教学内容不重复不遗漏,优化目的是最大程度地实现教学目标。数据库系统概论课程在整个数据库系列课程中处于基础和支柱地位,因此课程体系教学内容的结构化首要是该课程教学内容的结构化。按照美国教育心理学家和教育改革家布鲁纳提出的“学科基本结构”的观点,教师要指导学生掌握教材全貌,使知识结构化、系统化[1]。为此,笔者从教学内容的结构化入手,经过精心整理,将数据库系统概论课程的教学内容归结为“两行四块”的知识体系结构[2],见表1。“两行”即按照研究范畴(即本身的性质)将课程教学知识点在水平方向上分为理论知识和技术知识两类,四块就是按照在人才培养中的作用将课程教学知识点在纵向上分为原理、设计与应用、系统维护管理、前沿与趋势四个模块。
观察表1,发现有两条水平的有交叉的线索,第一条是理论知识线索,第二条是技术知识线索,前者为后者提供严格的理论支持,后者为前者的提出和完善提供素材,两者相辅相成,统一于关系数据库系统。这样一种内容设计上的安排,既让学生扎实地掌握数据库的基本理论,又使学生全面掌握数据库的实际应用,可以迅速投入实际工作。
数据库基本概念、数据库系统体系结构、关系模型数据库、关系数据理论(含关系规范化,数据依赖的公理系统,模式的分解)等部分,构成了关系数据库核心理论基础,本部分在数据库学科知识体系中处于基础地位;SQL语言、数据库设计、数据库编程等部分讲述数据库的开发技术和方法,这部分内容的学习要直接用到关系数据理论等基础;在数据库基本理论的基础上,讲授数据库安全性和完整性控制、数据库恢复技术、并发控制技术以及关系查询处理及优化技术,使学生掌握数据库系统的维护管理和优化方面的知识和技能;对数据库技术的前沿动态仅作简介,学生了解即可。因为关系数据库系统已成为最重要、应用最广泛的数据库系统,所以,关系数据模型的原理、技术和应用无疑是本课程的教学重点。知识结构化,利于学生从整体上把握课程知识体系,了解知识点间的关联,这样才能使同学们带着明确的目的性去学习,从而提高学习的主动性和适应性,增强学习效果。
1.4课程间教学内容分配
在讲解数据库系统概论课程中SQL语言部分的内容时,为使学生能看到SQL语句的执行结果,采用Ms SQL Server 2000为平台,来演示语句的执行情况。在此使用SQL Server 2000这一DBMS时,仅以满足本章内容教学演示的需要为目的,只讲解其必要的操作使用,对其它具体深入的应用不予讲解,留待学生课下自学或在后续“SQL Server实用技术”选修课中学习,这就避免了上述两门课在教学内容上的重叠。
2教学方法与教学手段
2.1适当应用一般的教学方法和手段进行教学
课程体系及教学方案设定后,教学方法和手段就成为影响教学目标实现的重要因素。教学方法和手段是为实现教学目标服务,以提高教学质量为目的的。为此,在教学中笔者针对各部分教学内容的具体特点,以教学质量的高低为取舍依据,灵活采用多种教学方法和手段。同时,在满足一般学生学习要求的前提下,对有一定基础的同学还增加一些个性化的教学,为学生的个性化发展提供空间。
例如,对于综述性知识,如课程绪论部分,采用多媒体授课效果较好;关系代数、关系数据理论等部分教学内容都是很抽象的理论,采用讲解+板书授课方式要比多媒体授课效果更好;数据库设计这一章详细介绍了数据库的设计的步骤和方法,其内容和实践联系很紧密,非常适合用案例教学法[3]。在这一章教学中,我们采用课后习题图书馆数据库设计作为教学案例,结合教材中的理论内容,详细讲解每一阶段的工作和形成的成果,这样既使学生深刻地理解了课本上抽象的理论内容,又使学生学到了如何用理论来指导数据库设计的实践,起到了一箭双雕的功效。
在引入新知识时,如关系数据理论和并发控制技术时,采用启发式教学法,得出一个不好的关系模式存在的四类异常问题,和数据库共享可能引起的三类数据不一致问题,从而引出相应概念:数据依赖和封锁。
对SQL语言这一章,一要结合目前信息系统建设的实际进行全面讲解,以增加学生的学习兴趣,二要让学生能亲历查询的结果,以加深理解。实际讲解时,笔者应用SQL Server 2000这一DBMS 平台,让学生实实在在地看到查询结果,这样加深了理解,激发了学习兴趣。此外,指导学生课下自学一种DBMS,如SQL Server 2000,并以此为平台进行上机实验,让学生通过对SQL语句的使用来掌握SQL语言的各种语法和功能。
对于重要算法,如求最小覆盖算法、数据库恢复算法等,先讲清思路,再辅以动画进行演示。
2.2运用计算机学科特有的方法论于课堂教学
理论、抽象和设计描述了计算学科的研究和实践的三种形态,是学科方法论的最根本内容[4]。当讲解抽象的概念或理论时,教师恰当运用从理论到设计或从抽象到设计的形态转化,会使学生对其产生兴趣并留下很深的印象。这就要求教师理解课程体系中点、线、面的关系。例如实体完整性是指关系中主关键字不能为空且其值不能相同。在人事管理信息系统中个人数据库的职工号就是主关键字。参照完整性是指不允许引用数据库中不存在的外键数据,在进行参照完整性检查和约束时,可通过触发器来完成。
针对该课程的实践性、应用性,我们在教学中加强了实践环节的训练,具体做法是:按照课程内容的进度设计了从SQL语言的使用操作到数据库编程的系列上机实验。上机实验密切结合基本知识和基本技术,帮助学生消化课程内容,让学生在实际的DBMS(SQL Server 2000)上进行实际操作和实验,提交规范化的上机实验报告。这种课堂教学与上机实验紧密结合的教学方式既利于学生对基础理论知识的掌握,又利于学生的自主学习,激发学习兴趣。
3课程设计
课程课程设计的教学目标是使学生全面理解、综合运用数据库知识和技术进行数据库应用系统的设计和实施,培养学生分析问题和解决问题的能力,提高其计算机理论水平和综合素质。这一实践教学环节在培养学生的综合实践能力和创新能力方面起着不可替代的作用,我们非常重视其教学组织,从选题到答辩采取了一系列切实措施来确保其教学质量。
3.1成立课程设计指导教师小组,提前下达课程设计任务
课程设计指导教师小组由承担过该门课程且有实践经验的教师组成,设组长一名,在组长协调下共同进行课程设计前的准备,如制定课程设计任务和实施计划等,共同组织对学生的答辩;但分工明确,每人指导1个班。数据库课程设计为期2周,安排在第7学期后半部分。指导小组在第7学期第一周向布置课程设计任务,组织学生分组和选题。课程设计时学生分组一般是按照学生的知识、能力、性别、性格等特征互补的原则搭配,每组2~3人,设组长一名。选题在第二周内完成。这样早地布置任务,目的是让同学提前进入课程设计,早开始,早准备。
3.2选题
课程设计题目的命题原则是:符合教学要求,紧密联系实际。具体题目一般是由指导教师小组提供备选题目清单,由各学生小组选择,也可以是学生从自己感兴趣并熟悉的方面提出,经指导老师审核通过的题目。学生小组组长负责召集和协调讨论本组的课程设计,组员间既明确分工,又相互协调配合。
3.3以过程管理管理为着力点,确保课程设计保质保量完成
指导教师组将从选题和分组确定后到集中课程设计周之前的八周左右的时间,按照数据库设计阶段和软件工程时间进度相应地划分为若干阶段(一般为6阶段),明确规定各时间阶段结束前各小组要上交阶段报告和设计方案,并记录是否按时上交情况,记入平日成绩,以促使学生抓紧此项学习任务。对上交的阶段报告和设计方案,教师要及时评阅、反馈和指导,使其可行。
在集中课程设计周,采用以安排学生集中上机为主,分散设计为辅的形式。教师制定集中上机时间内上机纪律,并对学生考勤。之所以设置分散设计,是为学生对上机实施中发现的问题进行研讨或资料查阅留出时间。
3.4考核与评定
课程设计完成后,不但要提交软件系统、课程设计报告,而且还要进行答辩,答辩含讲解、演示、答问三环节。为避免在小组课程设计中,有的同学不积极参与,采用随机抽查个人和以抽签方式随机确定一位同学代表本组上台答辩的方式来考核小组的成绩,促使小组内部相互督促、相互帮助。通过这种课程设计组织方式,既培养了学生的综合实践能力和创新能力,又培养了学生的团队意识和协作精神。
课程设计的成绩由考勤、平日成绩(各阶段报告提交情况、随机抽查情况)、课程设计报告、答辩(含软件运行情况)成绩等部分组成。这种成绩构成方式,强化了对课程设计过程的监督和控制。
上述一系列措施,经过我们带多届学生进行数据库课程设计的教学实践证明,是行之有效的,并且可供其它软件类课程设计的教学指导所借鉴。
4结束语
经近年来对“数据库系统概论”课程的建设,我们以综合实践能力培养和创新教育为本课程教学目标,构建了数据库系列课程体系,建立了课程教学大纲、教案、多媒体课件、实验指导书和教学网站等,并对课程教学内容进行了优化、教学方法手段进行了改革和革新,对实验教学方式和课程设计教学模式进行了探索,取得了成效。
参 考 文 献
[1] 连润江. 数据库系统概论教学改革的探讨[J]. 湖北广播电视大学学报,2007,(5):22-23.
1.方法学的重要性。方法学又称方法论,在哲学意义上,它是一门学问采用的方法、规则与公理,或者定义为一门学问采用的一种特定的做法或一套做法。大多数科学学问都有它们各自的特定方法,学问的方法学包括能够支持这些方法的准确性的原理。在一个行业发展初期,技术突破相对处于重要地位,技术创新是企业发展的第一动力,当一个行业发展趋于稳定和成熟之后,技术应用和生产将成为企业发展的另一动力。在这一时期,企业规模扩大,随之出现大量的行业标准、规范以及工艺等应用过程控制措施,即方法学将起到重要作用。
软件行业相对于传统工业行业仍然是一个新兴的、不够成熟的行业,但是软件行业发展迅速也无毋庸置疑。根据《中国信息化发展报告2007)),在整个“十五”期间,我国信息产业持续快速发展,对经济增长贡献度稳步上升,持续以两倍于GDP的速度高速增长,产业规模不断壮大。根据《信息产业科技发展“十一五”规划和2020年中长期规划纲要》,在“十一五”期间,我国信息产业将实现整体突破和跨越式发展。因此,随着软件行业发展的日趋成熟,软件方法学势必将得到快速发展,并成为企业发展的重要动力。
2.数据库系统课程现状。数据库技术是计算机科学技术中发展最快的领域之一,也是应用最广的技术之一,它已成为计算机信息系统与应用系统的核心技术和重要基础。《数据库概论》课程自1983年就被教育部列为高等学校计算机软件专业必修课程。根据《高等学校计算机科学与技术专业发展战略研究报告暨专业规范(试行)》,数据库系统课程被列为计算机科学与技术、计算机工程、软件工程及信息技术专业方向的核心课程。
国外不同大学根据其自身特点和目标,所开设的数据库系统类课程门数和内容各不相同,卡内基・梅隆和斯坦福大学是两类典型的代表。卡内基,梅隆大学针对本科生开设了一门《数据库系统》课程,主要强调工程化和应用,其中软件工程思想体现非常明显。它把数据库设计方法学在工程中的应用总结成了明确的步骤,纳入课程之中。在并发控制和事务等内容中,同样强调实际应用和方法学,通过把这些内容纳入具体案例,从而形象论述并发控制作用与效果、事务设计原则等内容。斯坦福大学的数据库技术实力在全球处于领先地位,该校计算机系所开设的数据库系统系列课程多达七门次,其中针对本科生的课程有两门,分别为数据库简介(CSl45)和数据库系统原理(CS245),这两门课程涵盖了数据库系统的三个方面的内容,并且这两门课程之中增加了一些与数据库相关的最新技术,内容教全面,难度也较大。
同时,国外各大学数据库类课程有一个共同的特点,就是实践性强。课程主要针对应用,强调实践和方法学,重视和数据库相关的系统整体设计与应用。斯坦福和卡内基・梅隆大学的数据库类课程中都有大量的练习和实验需要学生自主动手完成。
国内数据库系统相关课程设置目前没有明确的层次和体系,特别是研究生阶段课程,各学校开设情况不尽相同。对于本科阶段,各大专院校开设的数据库系统相关课程相对一致,主要是《数据库系统概论》一门课程,该课程的参考教材也比较单一,主要为萨师煊和王珊编写的《数据库系统概论》,不同的是各院校在课程开设中讲述的内容重点有所区别,或者各自补充一些内容。在内容上,该课程涵盖了国外大学本科生数据库相关课程中理论和技术的主要部分,但是对于应用性和方法学部分内容,欠缺比较明显。
国内数据库系统课程在内容讲解形式上,主要以概念、技术和理论阐述为主线,辅助一些应用说明。而以卡内基・梅隆大学的数据库系统课程为代表的国外课程则是以系统分析、设计、应用实现过程为主线,并把软件工程思想引入其中。
因此,通过对比分析国内外数据库系统课程,可以发现,当前国内数据库系统课程在方法学部分的内容明显不足,实践性不强,内容安排和讲解形式不符合工程型人才培养目标,同时课程内容的时代性不够强。近两年来,国内各大专院校已经充分认识到实践的重要性,并采取措施在课程内容中加强实践。例如,支希哲等人在“开展实验教学改革的思考与实践”中,指出实践是培养学生综合能力与创新能力,提高教学质量的重要途径,并由此提出了实践改革的一系列创新。薛素铎等人在“深化改革加强研究切实落实”质量工程中,指出了当前国内高等教育必须国际化的观点。这些思想和观点都反映出当前国内对实践重要性有了充分认识,并开始了逐步教育改革。为此,本文提出将方法学贯穿于数据库系统课程改革,充分发挥实践的作用。
3.方法学在数据库系统课程中的贯穿。
3.1 增加方法学论述。方法学目标是寻求解决问题的规范化的过程和步骤,一般说来,软件工程方法学包括三个要素:方法、工具和过程。其中,方法是完成软件开发的各项任务的技术方法,回答“如何做”的问题;工具是为方法的运用提供自动的或半自动的软件支撑环境;过程是为了获得高质量的软件所需要完成的一系列任务的框架,它规定了完成各项任务的工作步骤。
当前国内数据库系统课程在内容安排上仅仅涉及了方法学中的方法,即重点解决“如何做”的问题,而忽略了工具和过程两部分内容。例如,对于数据库设计内容,当前课程中重点对数据库设计理论和数据库设计技术进行了详细论述,课程详细论述了规范化以及模式分解理论,讲解了数据库概念设计中的实体联系建模技术等,但这只涉及了方法学中的第一个方_血,即方法,缺乏对过程的总结和论述,没有对企业在生产中使用的工具进行介绍。学生在掌握了数据库设计理论知识和技术之后,在解决实际问题过程中,由于缺乏解决问题的规范化的过程,常常无从下手,对于简单的问题,或许可以拼凑出结果,但是对于与实际比较接近的较复杂系统,就会陷入泥潭,导致设计混乱,达不到要求。这足因为课程中缺乏对明确设计思路和规范求解过程的描述。此外,对于数据库设计,企业为了提高生产效率,也会应用一些工具,比如PowerDesigner和ERwin等,当前国内课程中没有加以介绍,即使只用一页篇幅的内容对数据库设计常用工具进行介绍,也能够给学生以引导,扩大学生的知识面,为学生自学提供方向。除了以上提及的两部分内容,课程中的每部分内容都有相应的方法、工具和过程,就像我们做每一件事情,都应该有支持的方法,借助的工具,以及规范的
过程一样。
因此,针对当前以应用为主的本科生课程,应该补充数据库方法学的论述,加强方法学在课程中的地位,特别是方法学中的过程和工具两个方面。对于过程方面的内容,应该按照当前软件工程规范,结合当前企业开发过程进行总结,以明确的步骤方式进行论述。这一点可以参照卡内基・梅隆大学的课程内容。
3.2 按照工程化原则增加实践,重视过程。国外大学本科课程向来比较重视实践。在斯坦福大学的数据库简介课程中,共有八次作业,每次作业有基本练习2道题,挑战性的问题2道题,其中基本练习容易一些,是最基本的要求,而挑战性的问题难度比较大,鼓励学生利用所学的知识和技术动手完成项目,每个项目共分6个部分,每个部分都有如何完成的详细指导和完成步骤,项目内容涉及到的和数据库系统相关的知识,学生需要自学完成。卡内基・梅隆大学的数据库系统课程中,设有十次练习,每次练习都有项目实践内容,对于项目实践,每部分内容也都有详细指导和完成步骤。这两所大学的课程作业中有三个非常明显的共性,一是重视实践,这反映在课程作业的内容和形式以及数量上;二是重视过程,这反映在每个项目实践都有非常详细的指导和完成步骤,这隐含地引入了工程化指导原则和对过程的重视;三是对作业的要求重点不是结果,而是结果的产生过程和形式。特别是卡内基・梅隆大学数据库系统课程中的练习,对练习的评判非常严格,作业的中间结果、代码的风格、命名、甚至注释等我们课程中忽略的内容,在他们课程练习中都是重要的评判依据。
国内数据库系统概论课程传统上重理论、轻实践,近年来,为了培养学生的动手能力,也是越来越认识到实践的重要性,逐步采取措施加强实践。但是,当前该课程的实践内容仍然有悖工程化原则,这反映在三个方面:一方面,作业综合性不强;练习主要以考察所讲解的知识点为目标,每部分内容之后的练习围绕这部分内容,没有整体的概念。二是对作业完成指导和步骤以及过程要求不够严格和规范,即练习本身没有从工程化原则方面进行设计。三足仍然存在“纸上谈兵”的现象,对于数据库设计、实现,事务设计,并发控制以及应用系统部分的实践内容缺乏,学生没有机会上机体验这些内容。
总而言之,当前国内数据库系统课程对实践的地位仍然不够重视,即使部分院校认识到了实践的重要性,但是对实践的理解仍然停留在上机实验和动手能力培养阶段,没有充分认识到实践过程的重要性,没有意识到实践需要方法学的指导,实践的效果取决于实践的过程控制。
中图分类号:G642.41 文献标志码:A 文章编号:1674-9324(2015)27-0150-02
一、前言
《数据库系统原理》是本科计算机类各专业的核心课程或必修课程,是一门理论性和实践性都很强的课程。既可以培养学生计算机操作能力,又可以培养学生数据库管理能力以及数据库应用系统开发能力。研究型教学模式是指在教师的指导下,学生根据各自的兴趣、爱好和条件,选择不同研究课题,独立自主地开展研究,从中培养学生创新精神和创造能力的一种教学模式。这种教学模式的突出特征是坚持在学习过程中的自由选题、自主探究和自由创造,与以往教学模式相比,研究型教学模式更有利于培养学生创新能力。
本文提出的新的研究型教学模式在原有研究型教学模式的基础上,针对本校学生的具体情况,对多年的《数据库系统原理》教学经验进行总结,从案例教学、头脑风暴法、知识点整合、教师引导创新型学习等几个方面进行了研究,将其应用到实际教学中,并且取得了良好的教学效果。
二、数据库教学现状与不足
笔者总结几年的课堂教学经验,得出几点传统教学的不足。
1.课程理论教学方面,因为学生没有相关的项目实战背景,在学习理论时普遍感觉概念抽象、难于理解。例如学生无法真正体会E-R图的作用,不知道如何建立若干关系,为什么这样建立关系。在后半程理论学习的过程中,学生仅仅掌握几个孤立的知识点,例如学生不知道为什么建立审计机制,如何使用并行控制机制等,不会设计和评价具体的数据库系统,无法完成预定的教学目标。另外理论学习的过程枯燥乏味,加之学生无法体会理论的用处,从而使得学习处于被动状态。
2.课程实验教学方面,目前关于数据库的实验大多是验证性的,学生把课本中的例题和课后习题输入验证,因此实验失去了本来的作用,而实验内容也因为缺乏创新,无法激发学生的兴趣,失去了提高学生学习能力的辅助作用。
3.课程设计环节的用意在于为学生提供一个平台,将《数据库系统原理》的前序课程《数据结构》和后续课程《软件工程》融汇贯通,使学生了解学习数据库的作用。然而在实际教学过程中,这一环节基本无法执行,数据结构中的上机编程使用的是C或者C++,而软件工程所做的项目大多是B/S模式,需要使用的语言是ASP或JSP,数据库中的SQL语言需要嵌入ASP或JSP,但不同的宿主语言嵌入SQL的格式不尽相同。因此,学生在学习《数据库系统原理》课程时普遍感觉实际用处不大,缺乏学习兴趣。
三、研究性教学模式的实施
对于大学教育而言,积极研究开发研究型课程,并在教学实践中鼓励运用研究型学习的方法,是培养研究型人才的可行途径之一。
1.前导式案例教学。传统的案例式教学一般是在描述了原理之后,给出有关的典型事例,从而一目了然地帮助学习者建立相关的图式,案例教学法已成为一种较为成功的教学方法。研究型教学模式提倡在学习理论之前给学生充分的思考空间,只有真正经过研究的问题,学生在学习过程中才能掌握好、记得牢。本文提出的前导式案例教学在不学习理论知识的前提下,将往届学生的成功案例展示给学生,让学生接触实实在在的东西,建立数据库的第一印象,让学生观察案例中包括几个表,适时提出问题,为什么要建这几个表,建表的依据何在,表中的字段如何安排,如何控制表的完整性和安全性。当然往届学生的案例可能会有一些缺陷,但是较之设计完整、功能完善的大型系统,这些小系统更能引起学生的学习兴趣,激发他们的学习热情。通过演示案例,简单介绍数据结构中的某些算法,例如排序算法、查找算法在案例中的应用,让学生了解为什么《数据结构》是《数据库系统原理》的先序课程以及它在整个案例中的作用。然后分模块介绍该案例,并且简单介绍软件工程的基本知识,让学生了解《软件工程》为什么是《数据库系统原理》的后续课程。通过第一次课中的案例引出为什么要学习数据库,学习了数据库能干什么事情,并且把案例中的知识重点分散到各个章节,让学生了解数据库各章节的连贯性,能够全局把握本书的内容,做到有目的地、主动地学习。
2.头脑风暴法的课堂教学。在教学过程中,教师可以将课后习题布置给学生,要求学生在短时间内完成,并且鼓励学生尽可能多地应用多种方法解题,同时教师还可以将历年学生的习题答案和应届学生的答案作对比,看他们掌握到何种层次。最后由教师将所有的答案整理分类,分为正确和错误两大类,课堂上为学生讲解可以用什么样的方法正确作答,另外从理论上分析错误类的问题所在,提示学生以后避免发生类似的错误,然后在上机时为学生演示习题结果,加深学生的印象。例如笔者在教学过程中,以第三章课后习题四“求没有使用天津供应商生产的红色零件的工程号JNO”为例,正确做法包括用NOT IN引出的嵌套查询、连接查询、两个集合的差操作和EXISTS与IN引出的嵌套查询等几种操作,错误的做法包括“=”的错误使用、JNO选择范围错误、表连接错误和ANY的错误使用等一些错误。头脑风暴法的应用拓宽了学生的思维,使学生了解到习题的解答不仅有一种方案,可以使学生充分掌握各种SQL语句。
3.课程内和课程间知识点整合。研究型教学模式不仅仅单纯把知识灌输给学生,还注重培养学生在学习过程中的自学能力,注意大学期间各门课程之间的联系。很多学生在学习过程中认为数据库的知识点太零散、抽象,不容易掌握,因此失去了学习的兴趣。如在第一章绪论,介绍了数据库系统的特点――数据的共享性高、冗余度低、易扩充,在学生还没有关系的概念及内容的时候,就显得抽象、空洞。又如关系代数和SQL语句都是对关系运算的描述语言,在这两者之间有什么联系和区别,如何进行两者之间的转换。通过这样的两个问题来思考两者之间的联系。又如在数据库设计的逻辑结构设计阶段,要使用前面章节的关系理论的知识,来对初步的关系模式进行范式识别、规范化处理,针对设计过程中的实例进行分析处理,在强化关系理论知识的同时,掌握它的实际应用。
本文提出的知识点整合包括两方面的内容,一方面指合理调整教学内容、知识点,加强各章节内容之间的联系,使学生易于理解、掌握,形成一个完整的知识架构。另一方面还指将《离散数学》、《数据结构》、《数据库系统原理》、《软件工程》和《操作系统》等多门课程知识点的整合。在教学过程中,不断地将其先序和后继课程的知识点贯穿其中,让学生充分了解到不仅这门课程内部有连贯性,整个大学四年的课程都具有连贯性。例如,在课程之间离散数学中的存在量词、全称量词、蕴含都在数据库的元组关系演算中有所体现,而在数据库内部,存在量词、全称量词、蕴含又是SQL语句中EXISTS谓词子查询的基础。教师应该在充分熟悉《数据库系统原理》这门课的同时,也应了解《离散数学》、《数据结构》、《软件工程》和《操作系统》等多门课程的基本知识点,才能做到课程内部和课程之间内容的真正整合。
4.教师引导的创新型学习。学生的动手能力和实践能力首要在课程实验中逐步培养,因此,教师的引导作用就显得极为重要。课程的综合设计性实验对大多数学生来说是一个较大的跨越,涉及面向对象的程序设计和SQL SERVER 2000的融合问题。教师应该为学生搭起支架,给学生提出问题,引导学生去探究。如怎样在VB的环境里访问SQL SERVER的数据库,如何对数据库进行更新和查询操作,这是数据库应用系统设计的最基本的问题。对于在学习过程中感觉有困难的同学,还要结合实验项目,讲解具体的ADO的连接方式、信息的插入、删除、修改以及查询功能的具体实现语句,并按照编程过程一步步演示,这样让学生对数据库应用系统的实现有直观的实际的理解,逐步为后期课程设计打下动手的基础。
四、结束语
数据库技术是信息技术领域发展最快的技术之一,《数据库系统原理》课程进行教学改革也是为了紧跟数据库的前沿技术,积极跟踪当前数据库技术发展的水平和趋势来培养管理类人才。本文分析了数据库教学的现状,结合多年的教学经验总结了课程理论教学、实验教学和课程设计等方面的不足,究其原因,主要是学生缺乏学习的兴趣,从而导致学习效果不佳。然后提出了一种新的研究型教学模式,在原有概念的基础上对其进行了改进。笔者将这些新的措施应用于实际的教学,实践表明这些措施能够调动学生的学习兴趣,在扎实的理论基础之上,培养学生的实践与动手能力、创新能力。
参考文献:
[1]萨师煊,王珊.数据库系统概论[M].第四版.北京:高等教育出版社,2008.
[2]胡彩平.“数据库系统概论”课程的研究性教学探讨[J].时代教育,2009,(5):90-92.
中图分类号:TP39 文献标识码:A
计算机以及网络通讯开始逐步的推广,走进了寻常百姓家,在短短的几年内在全球普及开来,由此开创了人类信息社会的新纪元,信息化革命由此展开,促使世界信息环境发生了翻天覆地的变化,引发了全球性的信息改革,影响了人类的政治活动、经济活动以及文化活动,并带来了更为深远的影响。
1数据库的含义
数据库是一个很复杂的系统,涉及面很广.难以用简练的语官准现地概括其全部特征。顾名思义,数据库是用来贮存数据的平台,其所具有的主要特点是数据并非存贮在空间或者容器中,而是放在诸如磁盘等计算机的外设存储器中,并且其存放具有一定的组织性。对数据的管理以及存取利用则是通过相应的管理软件以及管理系统完成。所以这里我们提到的数据库不仅仅包括计算机外存,还包括外村中管理数据的软件,是一个综合性概念。
2数据库的主要类型类型
数据库的种类多种多样,其主要的划分依据包括以下几种:
可分为:集中式、客户机/服务器式、井行式和分布式。
(1)集中式
如果数据库系统运行在单个的计算机系统中,并与其他的计算机系统投有联系,那么这种数据库系统称为集中式数据库系统。
(2)客户机/服务器式
如果运行数据库系统的计算机是采用客户机/服务器模式的系统结构,那么这种数据库系统称为客户机/服务器式数据库系统。该数据库系统的数据库及DBMS是放在服务器端,但处理功能是分别放在服务器端和客户端,具体如何分配视具体情况而定一般的原则是:增加可靠性及速度,减少网络通讯篮。
(3)并行式
对数据址很大的数据库系统或性能要求很高的数据库系统,并行系统就是理想的选择。并行系统采用多个CPU与多个磁盘并行操作,它们的存om可达Terra级(1 000 G) I CPU可达数千个。
(4)分布式
分布式数据库系统是用计算机网络连接起来的多个数据库系统的集合,每个站点有独自的数据库系统。
分布式数据库系统的数据不是存储在同一个地点,而是分布在不同的站点当中。分布式数据库系统的数据具有逻辑整体性的特点,虽然数据分布在不同的站点,但对于用户来说,它看起来像一个整体。
3安全管理网络数据
(1)措施一:数据库中数据有可能会受到物理破坏,因此首先应当从防止物理破坏的角度出发定期对数据进行备份,从而对系统的完整性予以保护。
(2)措施二:系统出错补救办法包括数据库的重组,管理系统对数据库中日常事务进行维护,并记录日志,用以保证当系统需要恢复时能够找回丢失的数据。
(3)措施三:系统若是在修改数据期间发生故障,那么数据管理系统便会面临威胁。该阶段中,一个字段甚至是记录中,有些维持原样有些则受到了修改。该种修改技术的第一阶段为准备阶段。该阶段中数据库对系统中所需进行修改的信息予以准备,并准备修改前所需的工作。数据管理系统对数据进行收集,并建立相应的记录,将其他用户封锁并打开文件,继而对最后结果进行计算。从本质上讲便是数据库完成在修改数据库中数据前的一切准备工作,但没有对数据库进行修改。而数据库的准备阶段最后需要进行“提交”,提交的任务是将提交的目标写入数据库。提交是数据库进行数据修改中第一阶段同第二阶段的分界点。一旦数据库的管理系统通过“提交”那么就意味着数据无法修复。换言之,一旦数据管理体统通过提交,那么系统便开始对数据进行永久性修改。第二阶段为永久性修改。该阶段中,第一阶段的任何动作为单向不可重复动作,但该阶段的修改活动则能够进行多次重复。所以,若系统故障发生在第二阶段,则可以通过重复该阶段活动将所有数据予以回复,这是由于数据库中所包含的非完整性数据决定的。该阶段完成后,管理系统会在系统日志中写入事务完成标志,并将事先的提交标志清除。
(4)措施四:管理系统应当在用户进行输入时帮助其发现错误并及时的修改,为保证数据库中信息的完整性,错误的纠正方法主要有三种:一、数据库通过对字段进行检查,对数据中某一位置进行测试,检验其值是否正确。二、管理系统对数据完整性进行维护,通过对数据访问进行控制,用以防止主体数据收到非授权用户的访问。三、对数据库中的数据进行修改时管理系统会对其修改日志进行维持,用以记录每次的修改,不但会保存修改前的值同时也会保存修改后的值。通过修改日志,管理员能够在系统修改出现错误时,及时消除错误,对修改数据进行恢复。
(5)措施五:有些系统在该类问题上的限制较高,只允许用户在特定的终端特定的时间进行登录访问,并且对系统的操作也受到指定。所以,需要对在指定终端登录的用户进行口令和身份的鉴别。
(6)措施六:具体讲,将类别和级别概念引入到数据库的管理中,为每一个主体都划分级别,且个体之间具有保密级别。具体讲来,保密级别以及许可级别的种类有以下几种:绝密、机密、秘密、公开。此外,还可以将任意控制同强制控制结合起来形成一种更为灵活安全的多级模型。
(7)措施七:数据库可以采用多层系统,在系统的安全设计中引入操作系统常用的多安全模型。这种数据库是将访问进行简单的分区,是管理控制的一种,数据库被系统划分成不同的分区,每个分区中都有其安全层次,这种方法在设计上增加了冗余,降低了数据有的原有优势,并且在对某一字段予以修改时必须对其他分区中相同字段进行查询,用以维持一致性。
结语
随着时代的变迁,计算机连同网络技术对我们的生活以及工作而言已经密不可分,作为信息的主要载体,网络数据库成为了人们存取信息的主要工具之一。如何才能保证网络数据库中信息的安全还需要我们不断的予以关注和提高,并且有效的利用网络数据库的资源也逐渐成为我们融入社会的关键。
B020204会计
00051
00150
管理系统中计算机应用
金融理论与实务
00149
00158
00058
国际贸易理论与实务
资产评估
市场营销学
00159
高级财务会计
00161
财务报表分析(一)
26
B020208市场营销
00051
00150
管理系统中计算机应用
金融理论与实务
00149
00184
国际贸易理论与实务
市场营销策划
00055
00185
企业会计学
商品流通概论
00183
00098
消费经济学
国际市场营销学
27
C030106法律
00228
00226
环境与资源保护法学
知识产权法
00259
00262
公证与律师制度(选)
法律文书写作
00167
05680
劳动法
婚姻家庭法
00169
00265
房地产法(选)
西方法律思想史(选)
28
B020115经济学
00051
管理系统中计算机应用
00139
西方经济学
29
B030302行政管理学
00320
00067
领导科学
财务管理学(加)
00318
00277
公共政策
行政管理学(选)
00321
00144
中国文化概论(选)
企业管理概论(加)
00034
社会学概论
30
C050105汉语言文学
00037
美学
00819
训诂学(选)
00321
00539
中国文化概论(选)
中国古代文学史(二)
00537
中国现代文学史
31
C050201英语语言文学
00834
英语经贸知识(选)
00087
英语翻译
00604
英美文学选读
00603
00094
英语写作
外贸函电(选)
32
B080702计算机及应用
02325
02331
计算机系统结构
数据结构
02197
04735
概率论与数理统计(二)
数据库系统原理
04737
02324
C++程序设计
离散数学
02326
04747
操作系统
Java语言程序设计(一)
33
B020102统计
00051
管理系统中计算机应用
00053
00058
对外经济管理概论
市场营销学
00055
00054
企业会计学
管理学原理
34
B020106金融
00067
00051
财务管理学
管理系统中计算机应用
00053
00079
00058
对外经济管理概论
保险学原理
市场营销学
00054
管理学原理
35
B020110国际贸易
00051
00045
管理系统中计算机应用
企业经济统计学
05844
00096
国际商务英语
外刊经贸知识选读
00055
00102
企业会计学
世界市场行情
00098
国际市场营销学
36
B020202工商企业管理
00067
00051
00150
财务管理学
管理系统中计算机应用
金融理论与实务
00149
国际贸易理论与实务
00151
00054
企业经营战略
管理学原理
00152
组织行为学
37
B040108教育学
00464
中外教育简史
00469
教育学原理
00449
00452
教育管理原理
教育统计与测量
00468
德育原理
38
B050410美术教育
00037
美学(加)
00744
美术鉴赏
00746
美育概论
00747
美术教育学
39
C050305新闻学
00662
新闻事业管理(加)
00182
00658
公共关系学
新闻评论写作
00321
中国文化概论
00660
00642
外国新闻事业史
传播学概论
40
B050104秘书学
00320
00051
领导科学
管理系统中计算机应用
00321
中国文化概论
41
B040107教育管理
00449
00452
教育管理原理
教育统计与测量
42
B040102学前教育
00401
学前比较教育
00882
00887
学前教育心理学
儿童文学名著导读(加)
00402
00398
学前教育史
学前教育原理
43
B080307机电一体化工程
02194
02199
工程经济
复变函数与积分变换
02197
02240
概率论与数理统计(二)
机械工程控制基础
02243
02202
计算机软件基础(一)
传感器与检测技术
00420
02241
物理(工)
工业用微型计算机
44
B100702护理学
03004
03006
社区护理学(一)
护理管理学
00182
03202
03008
公共关系学
内科护理学(二)
护理学研究
03200
预防医学(二)
03011
儿科护理学(二)(加)
45
B020121调查与分析
00051
管理系统中计算机应用
00058
市场营销学
02628
00139
管理经济学
西方经济学(加)
46
B020119餐饮管理
00051
管理系统中计算机应用
00182
公共关系学(加)
47
B020232劳动和社会保障
00051
管理系统中计算机应用
00147
人力资源管理(一)
00034
社会学概论(加)
48
B080709计算机网络
04751
02331
计算机网络安全
数据结构
02335
04735
网络操作系统
数据库系统原理
02379
04742
计算机网络管理
通信概论
04747
Java语言程序设计(一)
49
B082208计算机信息管理
02142
00910
数据结构导论
网络经济与企业管理
04735
02375
数据库系统原理
运筹学基础
04737
C++程序设计
02628
02378
管理经济学
信息资源管理
50
B020229物流管理
00147
00151
人力资源管理(一)(选)
企业经营战略(选)
00098
00152
02628
国际市场营销学(选)
组织行为学(选)
管理经济学
51
B040125义务教育
(初中语文方向)
00015
英语(二)(选)
52
B040125义务教育
(初中数学方向)
00015
英语(二)(选)
53
B040125义务教育
(初中英语方向)
00015
英语(二)(选)
54
B040125义务教育
(小学教育方向)
00464
中外教育简史
中图分类号:TP392文献标识码:A文章编号:1003-6997(2012)10-0006-02
1数据库系统的安全框架
数据库系统的安全除依赖自身内部的安全机制外,还与外部网络环境、应用环境、从业人员素质等因素息息相关,因此,从广义上讲,数据库系统的安全框架可以划分为三个层次:网络和操作系统层次、操作系统层次和数据库管理系统层次。这三个层次构筑成数据库系统的安全体系,与数据安全的关系是逐步紧密的,防范的重要性也逐层加强,从外到内、由表及里保证数据的安全。
1.1网络和操作系统层次
保证数据库系统的安全应首先考虑网络安全。随着互联网的高速发展,越来越多的数据库系统将为其核心业务向互联网转移,向网络用户提供信息服务。因此,网络是数据库应用的外部环境和基础,数据库系统需要在网络系统的支持下发挥作用。网络系统的安全是数据库安全的第一道屏障[1]。
1.2操作系统层次
操作系统是数据库系统的运行平台,目前操作系统平台大多数集中在Windows和Unix,其操作系统安全管理为数据库提供一定程度的安全保护。
1.3数据库管理系统层次
数据库系统的安全性主要由数据库管理系统进行保障。由于供给和威胁可能针对数据库管理系统的安全运行,也可能针对数据库中所存储、传输和处理的数据信息,数据库管理系统的安全运行,既要考虑数据库管理系统的安全运行保护,如用户管理、访问控制和安全审计等,也要考虑对数据库信息的保护,如数据安全性、数据保密性、数据完整性和数据库备份与恢复[2]。
2数据库保护
为了保证数据的安全可靠和正确有效,DMBS必须提供统一的数据保护功能。
2.1安全性
数据库的安全性实质保护数据库以防止不合法的使用所造成的数据泄露、更改或破坏。在计算机系统中,我们主要采取两种措施。
2.1.1用户标识和鉴定系统提供一定的方式让用户标识自己的名字或身份,通过鉴定后才提供机器使用权。
首先,用一个用户名或者用户标识号来表明用户身份,鉴别此用户是否是合法用户,若是,则可以进入下一步的核实;若不是,则不能使用计算机。其次,为了进一步核实,系统常常要求用户输入口令,为保密起见,用户在终端上输入的口令不显示在屏幕上。口令应设置成字母、数字和特殊字符的组合,长度不小于10位,以保证口令不被轻易猜测,同时应设定口令有效时间、口令复杂度检查、口令重复使用周期等安全策略来保护数据库管理系统。最后,系统提供一个随机数,用户根据预先约定好的某一过程或者函数进行计算,系统根据用户计算结构是否正确进一鉴定用户身份。
2.1.2存取控制对于存取权限定义为授权。这些定义经过编译后存储在数据字典中,每天当用户发出存取数据库的操作请求后,DMBS查找数据字典,根据用户权限进行合法权查。若用户的操作请求超出了定义的权限,系统拒绝执行此操作。
授权定义要求授权定义中数据对象范围越小、授权子系统就越灵活。也就是要遵循最小授权原则。能够提供与数据值有关的授权,也就要求系统能支持存取谓词。
2.2保密性
用户数据保密性包括数据的传输安全和数据的存储安全。数据库安全管理应确保数据存储和传输的用户数据的保密性。
2.2.1保密性要求数据在存储和传输时应采用加密技术,保证被授权主题访问,选择和应用加密技术时,应考虑以下因素:必须符合国家有关加密技术的法律法规,包括使用和进出口限制;根据风险评估确定合适的保护级别,选择能够提供所需保护的合适的产品,该产品应能实现安全的密钥管理;根据所确定的保护级别,确定加密算法的类型、属性,以及所使用密钥的长度。
2.2.2数据载体安全数据的存储和传输需要通过载体进行,这些载体在物理位置、环境、访问的方面都应当实施适当的安全管理,确保载体自身的安全性。
2.3完整性
数据库的完整性是指数据的正确的性和相容性,即系统用一定的机制来检查数据库中的数据是否满足规定的条件。这种条件在数据库中成为完整性约束条件。完整性约束条件可以进行以下分类。
2.3.1值的约束和结构的约束一是对某个属性和属性组合规定某个值集,例如在甘肃省农牧厅内容管理与在线分析系统中,短信服务中的价格是保留1位小数的正数,村级信息点只能设在学校、村委会、合作组织和企业;二是规定某属性值的类型和格式。例如信息员人数只能是数字字段,填报说明等只能是附件字段,年月日的格式只能是20120101等;三是规定某属性的值的集合必须满足某种统计条件。如日均短信发送量的数量是当年短信发送量的数目除以365。
2.3.2数据之间联系的约束数据库中统一关系的不同属性之间可以有一定的联系,从而应满足一定的约束条件,同时,由于数据库中数据是结构规划的,不同的关机之间也可以有联系,满足不同的约束条件。如当年信息发送总量总小于信息累计发送量。
2.4数据备份和恢复
2.4.1数据备份数据备份就是将数据以某种方式加以保留,以便在系统需要时重新恢复和利用。数据备份主要包括系统配置备份、操作系统层备份、数据库层备份和应用系统层备份等。
2.4.2数据恢复数据恢复工作应根据应用系统实际情况,定期进行数据备份信息的恢复测试。根据恢复情况对备份执行情况进行反馈。在出现一场安全问题或事件时,应根据日常数据备份情况及时进行恢复操作工作。
1引言
异构数据库互操作问题作为数据库领域的研究热点和难点课题,在国内外的学术界和工业界都引起了广泛的关注。自20世纪80年代以来,国外许多公司和科研单位对异构数据库的集成进行了大量研究,取得了不少成果,但国内对异构数据库集成的研究还处于开始阶段。
2异构数据库互操作的概念
异构数据库(HeterogeneousDatabase)集成是数据库技术从完全集中到逻辑集中、物理分布(传统分布式数据库)乃至逻辑分布、物理分布(异构数据库)这一发展过程的结果,也是兼顾已有系统自治性并实现新的数据共享这一现实需求的有效手段。
异构数据库的异构特征包括两个级别:系统一级的异构和语言一级的异构,主要体现在以下几个方面。
(1)计算机体系结构的异构:各个参与的数据库可以分别运行在大型机、小型机、工作站、PC或嵌入式系统中。
(2)操作系统的异构:各个数据库系统的基础操作系统可以是Unix,WindowsNT,Linux等。
(3)数据库管理系统的异构:一种是数据库概念模式的异构:有层次、网状、关系和面向对象4种;另一种是数据库物理模式的异构:指概念模式相同,但数据结构不同,比如Oracle与SQLServer同属关系型,但结构不同。
异构数据库互操作的实现包括三个功能要素:(1)为用户提供功能强大且操作灵活的互操作可视化界面,通过它用户可以直观地对多个异构数据库进行透明访问;(2)提供高级语言数据库访问调用级接口,至于调用级接口的实现层次可由设计者视具体清况而定;(3)支持环境开放性,可能的话还应该支持实现语言开放性。
异构数据库系统的目标在于实现不同数据库之间的数据信息资源、硬件设备资源和人力资源的合并和共享。异构数据库系统集成就是要将数据库系统的不同,操作系统的不同,操作平台的不同或者底层网络的不同进行屏蔽,使得用户就可以将异构数据库系统看成普通的数据库系统,用自己熟悉的数据处理语言去访问数据库,如同访问一个数据库系统一样,对其进行透明的操作。
3实现异构数据库互操作的途径
面对异构数据库的互操作需求,主要从两个方面同时进行努力:一是建立标准,即建立统一的数据库规范,消除由于标准的不完善而造成的各数据库系统间的差异;二是构建异构数据库互操作平台,实现对多个异构数据库的透明访问。
随着对数据库互操作问题的深入研究,基于不同角度,许多研究者提出了可行的异构数据库互操作途径,这些途径在实现互操作的深度、广度和高度上各不相同,都有各自所适应的特定环境和需求。从异构数据库的核心思想出发,把实现互操作的途径归纳为两大类。
3.1系统级异构互操作
对于DBMS系统一级异构的网络环境下的数据库互操作,主要有四种实现途径。
(1)数据库网关(DatabaseGateway)
数据库网关是一种中继器,它能提供应用级的异构数据库集成的手段。网关的主要作用是转换和通信。
数据库网关可以建立比较稳定和透明的数据库互操作,但是其缺点也较为明显。诸如不关心如何屏蔽数据库之间的异构性,不支持事务处理,资源冗余,用户受限于数据库厂商,不能任意选择客户机平台及目标数据库等问题。
(2)公共协议/数据转换协议技术
公共协议是异构数据库进行通信时采用的公认的数据协议,即公认的系统间传递SQL请求和结果的形式。最常见的协议是ANSI/ISO的关系数据存取(RDA)标准、SGA(SQLAccessGroup)规范和IBM的分布式关系数据库结构(DRDA)。与数据库网关相比,公共协议更具有可扩充性和开放性,能较好地实现异构数据库的透明访问、支持多种网络协议和多种客户平台,是实现异构数据库互操作的有效途径之一。
公共协议/数据转换协议的缺点是协议本身的低效率带来的速度问题。
(3)公共编程接口
公共编程接口包括客户应用编程界面(CAPI)和服务器应用编程界面(SAPI)。CAPI是一组过程库,通常驻留在客户端,通过装载后端专用的驱动程序访问不同的数据库。SAPI提供一个应用编程界面,控制服务器与客户应用请求和目标数据库之间的交互。如Microsoft的ODBC、Oracle的SQL*NET以及IDAPI。其优点有:由于提供了统一的调用级接口,使用户免除了应用程序随数据库改变而改变的痛苦;通过API可使应用程序直接操纵数据库中的数据。数据库访问API的缺点是:针对每一个数据库都需要有一个与其对应的驱动程序;由于不同的驱动程序所支持的数据类型和对数据的操作都不相同,其完全透明地访问异构数据库的能力有限;实现效率过分依赖于驱动程序,而驱动程序将标准语法转换成相应数据库的命令语法要花费大量的时间。
(4)中间件技术(MiddleWare)
中间件是处于应用程序及应用程序所在系统的内部工作方式之间的软件,它的基本思想是在各后端数据源和前端应用程序之间建立一个抽象层。把应用程序与系统所依附软件的较低层细节和复杂性隔离开来,使应用程序开发者只处理某种类型的单个API,而其他细节则可以由中间件处理。这样就使系统对每个不同数据源的操作变成对单一的中间件的操作,而后再对中间件进行异构处理。使用中间件技术解决异构数据库集成的问题,将会给系统集成带来很多的好处。这是因为中间件不仅能够使得前端用户访问后端的异构数据库实现透明化,并且保证了访问接口的开放性,这样可以使系统在以后功能上的扩展更加方便。通过中间件来访问数据库的另一个好处就是所有的客户端的请求都发送到了中间件上,减轻了数据库服务器的负担,保证了数据库服务器的性能不会降低。同时,中间件的采用极大地提高了系统的可维护性,在系统内部的某个逻辑发生变化时,只要改变中间层的相应处理程序,前台用户界面不需要做任何的改动,这样就大大降低了系统维护的费用。
3.2数据结构与语义级异构互操作
目前,对于数据结构和语义一级异构的数据库互操作的研究有紧密耦合和松散耦合两种思想,具体体现于多数据库系统、联邦数据库系统和分布式数据库系统三种方法。
(1)多数据库系统
所谓多数据库系统就是一种能够接受和容纳多个异构数据库的系统,允许各个异构数据库的“自治性”。多数据库系统是一个广义的概念,是相对于如集中式数据库系统或分布式数据库系统那种逻辑上具有同一管理系统而言的,它以多元和分布为主要特征。多元是指它多个彼此区别的集中式或分布式数据库系统;分布则是指数据分布在不同场地的数据库系统中,由各自的管理系统进行管理。
多数据库技术的目标是为在多个数据库之间实现互操作,解决数据库资源共享找到一种技术途径。一般采用分布、异构、自治三个特性作为尺度来刻画多数据库系统。使用这种方法,用户需要显式地指明所要访问的数据库。多数据库系统采用自下而上的方法来实现。
(2)分布式数据库(DistributedDatabase)
分布式数据库的基本思想是抛弃原有的数据库系统,在网络环境下建立分布的数据库系统,在体系结构、事务处理模型等方面重新设计从而解决信息共享与互操作问题。分布式数据库系统分为同质分布式数据库和异质分布式数据库。像Oracle、Sybase、Informix等都是同质分布式数据库系统,这类系统的实现相对来说比较容易一些。异质分布式数据库管理系统大多是在已有的一些数据库管理系统的基础上实现的。
(3)联邦式数据库(FederatedDatabase)
联邦式数据库系统是网络技术和分布式数据库技术发展的必然结果,它是由一组能协调工作,又可以独立自治的部件数据库组成。它可以是原先不分布的,又可以是分布的,具有分布性、自治性、异构性三大特性。
联邦式数据库与分布式数据库系统的区别在于:分布式数据库系统虽然在物理上是分散的,但因为有统一的数据模型及全局数据模式,所以它在逻辑上却是集中的,因此用户感觉到的是一个完整的数据库。显然,这种系统可用于某个专用领域的系统,但不适于不同领域间的异构系统的集成。相反地,联邦式数据库系统是由在不同结点上松散耦合分布的异构成员数据库构成,各联邦成员间的一种松散结合。构成联邦成员的可以是一个集中式数据库,也可以是一个分布式数据库,它们可以根据需要(按某种组合)加邦或者根据需要退出联邦。联邦式数据库没有全局模式,各子系统(即联邦成员)按自己的需求建立各自的数据模式。其成员之间的数据共享关系,通过由协商确定的输入/输出模式来建立,单个成员有权拒绝或允许其它成员结点对它的访问。因此,它能够支持多库系统的分布性、异构性和自治性,使之产生满意的集成。超级秘书网
异构数据库的互操作技术使得数据库在原有技术领域发挥重要作用的同时,在未来新的应用领域也有着重要的影响,如地球观测系统EOSDIS、电子商务、保健信息系统、数字出版、协同设计等领域。
参考文献
[1]萨师煊,王珊.数据库系统概论.北京:高等教育出版社,2000.2.
[2]张水平,万映辉等.异构数据库的集成与互操作.计算机应用研究,2000(1).
[3]郑振楣,于戈等编著.分布式数据库.北京:科学出版社,1998.
[4]刘艳梅.基于COM/DCOM组件标准实现异构数据库的联合使用:[博士学位论文].北京:北京理工大学,2000.
[5]唐巍,周俊林,李晓.异构数据库集成方法初探.计算机应用研究,1999(8).
数据库设计论文参考文献:
[1]谭怀远.让Oracle跑得更快2——基于海量数据的数据库设计与优化.电子工业出版社,2011.
[2]冯建华.数据库数据库系统设计与原理[M].清华大学出版社,2004.
[3]康诺利,何玉洁.数据库设计教程[M].机械工业出版社,2005.
[4]任巍.铁路巡检作业信息实时管理系统的数据库设计[J].信息与电脑(理论版).2015(02)
[5]谭峤.SQLServer数据库性能优化研究[J].硅谷.2014(08)
[6]林元彦.SQLServer数据库性能分析与优化[J].电子技术与软件工程.2013(17)
数据库设计论文参考文献:
[1]李金靖.浅析软件开发中的数据库设计的理论和实践[J].计算机光盘软件与应用,2011(15).
[2]曹志锦,王永梁.基于RS485的多级串行通信实验系统设计及应用[J].实验技术与管理,2002,19(5):65-67.
[3]李金靖.浅析软件开发中的数据库设计的理论和实践[J].计算机光盘软件与应用,2011(6).
[4]ThomasM.connolly.数据库设计教程[M].北京:机械工业出版社,2005.
[5]刘亚军.数据库设计与应用[M].北京:清华大学出版社,2007.
数据库设计论文参考文献:
[1]谢星星,朱婵.PowerDesigner系统分析与建模实战[M].北京:机械工业出版社,2015.5.
[2]李波,孙宪丽,关颖.PowerDesigner16从入门到精通[M].北京:清华大学出版社,2016.
[3]萨师煊,王珊.数据库系统概论[M].4版.北京:高等教育出版社,2006:55-77.
关键词:数据库;教学实践;教学安排
中图分类号:G642
文献标识码:B
1 前言
中原工学院属于二类本科院校,计算机学院目前开设三个专业:计算机科学与技术专业、网络工程专业和软件工程专业。培养目标是能够从事计算机软硬件以及网络设计、运行及维护的高级应用型人才。
数据库课程是计算机及相关专业的核心课程,通过多年的办学实践以及参考兄弟院校的培养计划,将三个专业的数据库课程要求安排的一样,我们对数据库课程的安排如下:将数据库原理和数据库应用合为一门课程,课程名为“数据库原理及应用”,开课学期为第6学期,5学分,75学时(55理论+20实践)。
2 课程的教学要求
2.1课程内容安排
对于专业核心课程,任课教师一直选用国内或者国际流行的主流教材。对于数据库课程,我们目前使用的是王珊、萨师煊老师编写,高等教育出版社出版的《数据库系统概论》第四版。该课程各章节安排如表1所示。
数据库课程是一门知识体系结构比较完整、知识的整体性和连贯性非常强的一门学课,因此在教学中随着概念的引入和知识的加深,应逐步向学生介绍知识的连贯性,通过实例向学生介绍如何进行需求分析、在进行需求分析的过程中应该重点考虑的问题以及注意事项。进行数据库设计时特别应该强调数据库概念结构设计的重要性,因为这是数据库非常重要的一步,是数据库设计的基础,如果这一步设计出现错误,以后的设计都会出错。数据库概念结构设计完成以后进行数据库逻辑结构设计,将ER图转换为逻辑模型,然后进行优化,并用规范化理论进行分析。这些步骤要使每一位同学都有深刻的认识,改变一些同学只注重编程而忽视数据库设计的错误思想。通过例子使学生认识到数据库课程的知识是一环扣一环,是一门体系结构非常完整的课程,该课程中没有孤立存在的知识。例如,在讲到SQL语言时,根据题意写出SQL脚本后,向学生提出如何用关系代数实现。在复习关系代数时让学生根据内容将关系代数转换为相应的SQL语言脚本,体现了关系数据库是建立在严格的数学理论基础之上。在教学中要求学生能够熟练进行关系代数和SQL语言之间转换。
数据库课程也是一门与实际结合非常紧密、实用性非常强的课程。因此,在教学中与实际应用紧密结合,由浅入深进行系统的介绍。结合SQL语言在SQL Server 2000的查询分析器进行讲解,并指出SQL Server 2000与标准SQL的区别,适当介绍SQL Server 2000中的SQL-Transact SQL。
2.2理论教学的重点
根据培养目标,数据库课程教学就应仅仅围绕应用,并将理论与实践密切结合起来,理论教学的重点:①基本概念,如概念模型、逻辑模型、数据库数据的独立性和完整性、并发控制等;②基本理论,如关系代数、规范化理论;③基本技能,如数据库设计、SQL语言等。
加强课堂教学,提高课堂教学质量,注重学生动手能力的培养,由原来的以教师为中心转变为以学生为中心,加强师生之间的教学互动。在讲解的过程中,将知识点展开并与实际工程相结合,课堂上老师提出问题后先由学生回答,对回答正确的同学给予鼓励,对错误回答进行简单的分析。对于课程涉及较深的内容时只给予简单的介绍并列出参考书,让那些有能力和感兴趣的同学课外进行学习。例如,讲到索引时涉及到数据库文件的物理结构,而数据库文件的物理结构涉及的知识和内容又较多,可以让学生参考由复旦大学施伯乐等老师编写、高等教育出版社出版的《数据库系统教程 第二版》。
3 实验和课程设计
3.1实验和课程设计的构建
由于数据库课程是应用性非常强的一门课程,因此在教学中加强实践环节非常重要,我们在课程中安排20学时的实验,学期末有1.5周的课程设计。实验内容安排如表2所示。
课程实验要求学生规范书写代码,在实验中用软件工程的思想和技术要求学生,实验指导书提前上传到网上。对于写过数据库应用程序的同学,让他们学习扩展SQL。个别能力强的同学可以提出申请不做实验指导书上的内容,而由老师安排具有一定难度的几个题目进行选作,要求3~5人为一个小组完成一个题目,期末进行代码和文档验收。例如,其中一个题目要求学生写出标准SQL解释器。
要求学生熟练掌握一个应用程序开发平台,如Delphi、PowerBuilder、Java或者C#等,熟练掌握一种数据库,主要是SQL Server或者Oracle。在进行实验时重点强调一些技术的应用,例如OO技术、触发器技术、存储过程等,使学生认识到这些技术是数据库的基本技术。
理论课程上完后在学期末安排1.5周的数据库课程设计,1.5学分。课程设计的题目在新学期上课时就在网上进行公布,一般都公布3个以上的题目,根据以往的情况看,有相当一部分学生确实在做,个别同学做的还非常好。在教学中对于能力不同的同学有针对性的进行引导,提高同学们的兴趣,激发同学们的学习热情,同时也会打消一些同学的浮躁情绪。例如,我出了一个课程设计题目是关于图书馆管理信息的题目,在课程设计任务书中分为必做项和选做项。这个题目对于每一位同学都不生疏,一般程度的同学都能够做出必做项,对于动手能力强的同学会很快做出必做项,完成必做项只能得到70~80分,但不到课程设计结束不验收成绩,因此这部分动手能力强的同学要想拿高分就必须做选做项。此时教师要引导这部分学生使用高级的技术,例如自己写组件,做3层的数据库应用系统,对借书情况的统计与决策、动态查询和动态报表等,使学生认识到数据库应用程序不是简单的数据录入和静态查询。通过这种形式的考核对程度高的同学是促进,对动手能力不强的同学也是一种鞭策。
3.2实验和课程设计的考核方式
对于实验和课程设计,尤其是课程设计,平时耐心辅导,验收时认真考核,防止一个人做出来,其他同学拷贝的情况发生,对课程设计进行严格的代码验收,验收代码时不仅仅看程序的运行,更重要的是听学生讲解代码,或者询问代码逻辑,这种方法有效地防止了抄袭现象的发生。
数据库课程是必修课,期末考试占80%,实验占10%,作业和课堂各占5%。
参考文献
[1] 向琳,左德承,罗丹彦等. “计算机设计与实践”课程创新性实践教学探索[J]. 计算机教育,2007,(3):16-18.
中图分类号:TP392 文献标识码:A
随着计算机技术的迅速发展和“信息高速公路”的逐步建立,人类社会已步入了信息时代,信息已成为社会赖以发展的重要基础。信息和数据是不可分离的,信息由数据表达,数据包含的意义就是信息。因此,研究如何科学地组织和存储数据,如何高效检索和处理数据,即对数据库技术的研究,已经成为当前信息技术领域里的重要研究方向。把先进的面向对象技术和数据库技术相结合形成新一代的面向对象的数据库系统(或称为第三代数据库系统)成为信息社会发展的必然产物。面向对象数据库已成为当前数据库技术研究的热点。
1 数据库技术的发展
数据库发展经历了三个阶段。第一阶段是层次和网状数据库,过程化程度较高,一般用户使用困难;第二阶段是关系数据库 (RDB),具有较高数据独立性,成为20世纪70年代到80年代中期的主流数据库。层次网状数据库和关系数据库尽管设计和控制方式不同:但都用于一般事务处理,统称为传统数据库。随着网络技术、多媒体技术、空间信息科学、信息管理、人工智能、软件工程技术和数据挖掘技术等领域的发展及新的社会需求出现,信息无论是从数量上还是结构上都远远超过了传统数据库能承受的范围。一种新的解决方案呼之欲出,而这个解决方案极有可能就是面向对象数据库技术。
2 面向对象数据库概述
面向对象数据库(OODB)以面向对象技术为基础,增加数据库内部数据处理功能,用以支持持久对象和现实数据共享。其概念可表达为:面向对象系统+数据库能力。它与关系型数据库相比,最大优点就是在于其建模和处理能力大大增强,面向对象数据库可以处理复杂和变化的事物对象,尤其在复杂系统的模拟、表达和处理能力上可以算得上是独树一帜,故被称为数据库史上一场革命。
3 面向对象数据库的特点
面向对象数据库将面向对象的能力赋予了数据库设计人员和数据库应用开发人员,从而扩展了数据库系统的应用领域,并能提高开发人员的工作效率和应用系统的质量。面向对象数据库具备如下特点:
首先,它是一个数据库管理系统,具有数据库管理系统的基本功能。一是永久性;二是存储管理;三是能并发控制;四是故障恢复能力;五是交互式查询功能。
其次,它是一个面向对象的系统。只有支持面向对象数据库模型,支持复杂对象,具有运用各种构造机制从简单对象组成复杂对象的能力。它还具备应用领域所需要的一些特性,如版本管理、长事务和嵌套事务、模式演化等等。
4 面向对象数据库的实现
4.1 填充关系数据模型
关于数据库已积累了相当成功的经验,并为工业界广泛接受。将成熟的关系数据库与OODB方法结合起来,可减少研制工作量,缩短研制周期。但这种方法的弱点是仍不能支持一些面向对象的语义,而且由于保留了关系数据库的存储结构而牺牲了一些OODB的特征,其性能、效率难有实质性的提高。
4.2 在面向对象语言中嵌入数据库功能而形成OODB
该方法的关键是如何在面向对象语言中增加持久性对象的存储管理。一般以Smalltalk、C++为语言扩充OODB。采用此法研制的OODB有Orion、02等系统。使用此法的困难在于视图、程序员界面标准化,且受面向对象语言的限制。
4.3 开发全新的数据模型,从底层实现OODB系统
该方法首先建立一个包含OODB核心概念的数据模型.设计相应的语言和相应的OODBMS核心。其优点是系统结构清晰、效率高。
5 面向对象数据库技术的发展趋势
面向对象数据库技术的发展并不是取代关系数据库系统,而是可望成为继关系数据库技术之后的新一代数据库管理技术。面向对象技术和数据库技术的结合有三种发展途径:一是标准化和形式化;二是改善和加强OODBS的性能;三是面向对象数据库应具有很强的建模能力;四是加强面向对象数据库的应用开发工具的研制和推广;五是视图、演绎能力、语义建模和长事务;六是加强面向对象数据库技术与关系数据库技术相结合的研究。
6 面向对象数据库技术的前景展望
面向对象技术是近20年来计算机技术界和工业界研究的一大热点。面向对象方法与先进的数据库技术相结合已成为当今数据库领域研究和发展的主要方向之一。将面向对象技术应用到数据库系统中。使数据库管理系统能够支持面向对象数据模型的数据库模式。对提高数据库系统模拟和操纵客观世界的能力,扩大数据库应用领域具有重要的意义;将面向对象技术应用到数据库的集成开发环境中,使数据库应用开发工具能够支持面向对象的开发方法并提高相应的开发手段,对提高应用软件的开发质量和软件的生产能力是十分重要的。
参考文献
[1] 邓娟,周冰.面向对象与数据库技术结合发展现状研究[J].科技资讯,2009(3).
[2] 张珊靓,支丽平.面向对象数据库技术初探[J].计算机与信息技术,2007(15).