时间:2023-03-14 15:03:37
绪论:在寻找写作灵感吗?爱发表网为您精选了8篇数据库系统概论,愿这些内容能够启迪您的思维,激发您的创作热情,欢迎您的阅读与分享!
关键词:数据库;学习需求;教学方法
中图分类号:G40文献标识码:A 文章编号:1009-3044(2011)15-3625-02
《数据库系统概论》是高校计算机专业的必修专业课,同时它也是一门理论和实践性都较强的学科,传统的“黑板上讲理论,机房里练操作”的授课模式很难激发学生的学习兴趣,教学效果不佳。
往往一学期教学结束,和学生谈起本课程的学习,学生只是记住几个概念,至于数据库的技术没有多少能深入理解,更别提能应用于实际。数据库的应用虽然十分广泛,到处都是数据库,银行里、商店里、网络上等等。但是因为它是藏在“后台”的,不像多媒体、WWW等等,既作为对象,又作为外壳,直接呈现在人们面前,所以要简明扼要、深入浅出、生活化地诠释它,显然有更高的难度。
本人在《数据库系统概论》教学实践中体会到, 不能只看中理论,觉得学生只要知道是怎么一回事就可以了,需要学生亲身去参与项目的开发,去经历基本真实的项目制作,才能掌握知识。因此,在实际的教学中,采用任务驱动的案例教学法,配合直观的教学媒体,并布置学生的课下任务,多管齐下,让学生更全面的了解、使用数据库技术。
1 教学方法概述
对于计算机专业的课程来讲,教学方法大致有以下几种:
1.1 讲授法
这种方法能够使学生在短时间内获得大量系统的科学知识。但运用不好,学生学习的主动性、积极性不易发挥,就会出现教师满堂灌、学生被动听的局面。在讲述数据库概念的时候,常采用这种方法。
1.2 讨论法
这种方法是在教师的指导下,学生以小组为单位,围绕教材的中心问题,各抒己见,通过讨论或辩论活动,获得知识或巩固知识。在该课程的教学中,采用一两次,如并发事务的处理。在讨论中引导学生围绕题目发表意见,然后在结束时,概括讨论的情况,使学生获得了正确的观点和系统的知识。
1.3 直观演示法
通过展示各种案例或进行示范性实验,让学生通过观察获得感性认识。主要是演示实验的内容或要求课下学生实际操作的内容。
1.4 练习法
学生在教师的指导下巩固知识、运用知识、形成技能技巧的方法。实际操作的练习,旨在形成操作技能,在技术性学科中占重要地位。
1.5 读书指导法
读书指导法是教师指导学生通过阅读教科书或参考书,以获得知识、巩固知识、培养学生自学能力。在每次课后,都给学生布置相应的参看书目、参考文献或参考网站,引导学生主动地自学,并在课堂上适当地让学生发表自己看书的收获。
1.6 任务驱动教学法
这种方法要求给学生布置具体的学习任务,让学生自己查阅资料,并对知识体系进行整理,再选出代表进行讲解,最后由教师进行总结。这种方法可以让学生在完成“任务”的过程中,培养分析问题、解决问题的能力,培养学生独立探索及合作精神。在讲解关键的知识或技术时如数据库的设计,大多采用这种方法。
1.7 自主学习法
这种方法是给学生留思考题或是遇到的一些实际生产问题,让学生利用网络资源自主学习的方式寻找答案,提出解决问题的措施,然后提出讨论评价。这种方法能够充分发掘学生的创造潜能,提高学生解决实际问题的综合能力。
2 教学方法的实施
《数据库系统概论》的主要目的是要求学生能掌握数据库技术中的概念,并学会进行数据库的设计和实施,进而能结合前台对后台数据库进行各种操作。
2.1 数据库的概念
这一部分主要采用联系生活的实际讲授法来讲述。例如在讲述数据管理的发展时采用在图书馆查阅资料的例子,总结出常用信息资源管理的两种方法:手工管理(逐级分类)和计算机管理(采用数据库)。通过搜索引擎引入数据库,让学生感受数据库管理信息的优势:查找统计数据高效准确,数据库的共享性好,管理操作方便,管理大量信息占用空间小。 通过对图书管理数据库的解剖分析,了解使用数据库管理信息的基本思想和方法:采用表格的结构以及表与表之间的关系进行存储和管理信息的。然后编写数据库管理软件对数据库信息进行查找和统计操作。
2.2 数据库的设计
这一部分主要采用任务驱动的案例教学。先给大家一个总体的任务,比如图书管理系统。总体任务是设计一个图书馆数据库,在此数据库中保存有读者记录和书目。
首先作需求分析,将学生分组,一组代表读者,一组代表图书管理者。分别模拟读者和图书管理员的角色,采用各种方式收集各自的需求。并形成需求分析报告文档。其次,在拿到需求分析报告文档后,每个同学画出书面的E-R图,包括局部的和总体的E-R图,并利用Power Designer软件将书面的E-R图转换成电子的。然后,在得到总体的E-R后,分析怎样可以将E-R图转换成我们要求的二维表,依据是什么,转换后的结果是什么?并利用Power Designer软件提供的转换功能来进行验证。数据库设计的其他阶段在其他部分来讲述。
2.3 数据库的实施
这一部分采用实验课时使用的Oracle 10g来讲述。通过让学生自己下载、安装、运行Oracle 10g来完成数据库的实施。主要采用直观演示法来讲述该部分的内容。并形成了指导书,让大家有章可依。在实验指导书中,也设计了思考题,让学生能够在做完基本的操作后能再深入地思考某些问题。比如在建立基本表的时候,可以使用SQL命令,是否也可以建立相应的文件呢?怎样来建立文件,怎样来执行文件等。
2.4 后台数据库的连接
这一部分采用学生将要学习的JSP来进行后台数据库的连接。由于本课程主要是数据库概论及使用,所以仅仅要求只要能通过前台界面连接到数据库,并对数据库能进行维护即可。这一部分先采用直观演示法给大家演示了JSP和Oracle的连接步骤,并在演示的过程中进行了详细的讲解,然后采用任务驱动法让学生自己动手实践,若有问题,利用自主学习法来进行解决。有解决不了的,我们在一起共同讨论、分析是什么地方出现了问题,如何解决问题。
3 教学反思
“数据库”这部分内容对大二的学生而言是一个比较陌生的领域,平时接触挺多,但数据库隐藏较深,故学生理解不是很清晰。因此在情景引入、创设问题上的设计就成为教学的关键。
在实际的课堂教学中,我首先进行教学的设计,以期能够让学生尽快的接受新概念,熟悉新技术。例如在讲述数据库系统的优点时,就设计了大家最常用的图书馆借阅图书和在网上如何搜索问题的例子。找到大家的兴趣点,然后再切入正题。其次,在实际的教学中,不局限于某种具体的教学方式,而是采用各种教学方式,目的只有一个,如何让学生尽快接受新概念,如何理解和掌握新技术,从而完成相应的教学目标,为学生构建数据库技术的知识结构。在讲述SQL的时候,就通过直观演示的方法来教学;在讲述数据库设计的内容时,就使用讨论教学法。在指导学生实践的过程中,使用了任务驱动法。让学生参与项目的制作,教师和学生始终在互动的问题设置、问题解决中,突破了“技术”的约束,逐步从图书管理系统将注意力吸引到其技术内在价值的探究当中,即从数据库的概念理解与技术应用当中内化素养,提升能力,不断地达成数据库课程的教学目标,感受利用数据库存储、管理大量数据并实现高效检索方面的优势;了解使用数据库管理信息的基本思想与方法;能够进行数据库的设计;能够通过前台维护后台数据。在每次课后,又采用读书指导法、任务驱动法和自主学习法督促学生积极主动地自学、自己思考、自己设计解决问题的方法。几轮课程讲下来,学生反映效果不错。最后,及时思考。一场课下来就总结思考,写好课后一得或教学日记;一周课下来或一个单元讲完后反思,发现问题及时纠正;通过最后的结课考试,召开学生座谈会,听取意见,从而进行完整的整合思考;这样可以对以后自己在本课程的教学上有很大的帮助。
4 结论
通过多种教学方法,让学生自己体验和感受到数据库的优越之处,提高学生学习的主动性和积极性。所以在数据库的教学中,教师既要放眼课程建设与发展,又要做一个有心人,去寻找合适的例子,进行教学过程的设计,这样才能保证能够全面地将数据库的技术传授给学生。
参考文献:
[1] 王珊,萨师煊.数据库系统概论[M].4版.北京:高等教育出版社,2006.
关键词:数据库系统概论;纵向结构;横向结构;贯通式教学
数据库是数据管理的最新技术,是计算机科学的重要分支。数据库技术不断地涌现新的研究方向,使得该系列课程已经发展成为内容丰富的数据管理课程群。 数据库系统概论课程是计算机科学与技术专业以及相关专业的核心课程和必修课程,课程内容构建了一个完整的数据库系统的框架,从而为进一步学习其他数据管理课程打下坚实的基础。然而该课程内容丰富,概念众多,不少知识点或前后重叠或前后不断地在深度广度上递进,形成了复杂的知识网络,对教师的授课和学生的理解掌握都提出了严峻的挑战。通过对比分析大量国内外相关课程教材和多年的教学研究实践发现,可以把该课程的章节结构看作纵向结构,课程中散落在各章的相关或重叠讲授或递进扩展的内容看作横向结构,以贯通式教学法为策略实施教学。本文中的贯通式教学旨在按照课程纵向结构教学的过程中,合理组织和设计横向结构的知识点,将其贯通于教学的全过程,对横向知识点的掌握由表及里,由理论到实践,拉出明确的线条,从而保证学习的清晰、流畅,降低课程学习的难度和内容繁杂带来的混乱,提高教学效果。
1采用贯通式教学的原因
(1) 课程内容形成复杂的知识网络。
数据库系统概论是一门很特别的课程。该课程内容丰富,概念众多,且不少知识点在前后章节有重叠(并不是简单的重复)和递进。孤立地按照章节授课会令学生对相关知识点产生混乱和迷惑的感觉:这个概念不是前面定义过么?这个理论不是前面有过分析么?有的概念随着课程的推进在不断被深化、细致化、具体化,如码的定义;有的理论随着知识的展开不断被讨论、验证,一咏三叹,如完整性等。
(2) 课程的掌握需要学生能将课程内容融会贯通。
一方面知识的掌握由点及面,比如横向结构的知识点在此章节处是这样的含义,在整个课程中是怎么样的?另一方面知识的掌握将由理论贯穿到实际应用,理论与应用相统一,比如知识点在理论章节是怎样描述的,后续章节又是怎样实现的?
(3) 课程学时不断减少,教学内容亟待有效整合。
随着教学改革的不断深入,各门课程的教学课时数在不断减少,以期留给学生更多开放学习时间。贯通教学采用步步深入的方法,有效整合教学内容,在不同章节只解决关于相关知识点的某个问题,前面讲过的只用不重复,后面要讲的前面不提,有效利用有限的课时去解决问题。
(4) 教学设计充满迷惑和障碍。
2009年4月17日至19日,教育部全国高校教师网络培训中心组织数据库系统概论课程骨干教师对数据库系统概论的建设进行了指导性培训,在最后的教学互动环节,仍然有教师对课程的教学内容如何组织按何种顺序讲授充满疑惑。所以,透过课程纵向结构的表象,透彻理解课程横向结构内容的联系,教师才能游刃自如地组织教学内容、安排教学进程。
2课程内容的结构分析
数据库系统概论课程具有明晰的纵向结构和潜在的横向结构。
分析和研究大量中外教材(部分见参考文献)[1-10],纵向结构大致相同。典型的情况是将数据库系统概论课程分成4大部分内容,每部分由具体章节构成。不同的教材每部分内容会各有增减或前后调整。课程纵向结构分析如表1。
分析和研究大量中外教材(部分见参考文献)[1-10],横向结构包括的知识点不尽相同(主要是国外的教材通常涉及到更多更细致的内容)[3-5],各知识点在不同章节呈现的深度广度也不尽相同,有的教材偏重于理论,比如王珊老师的数据库系统概论[1],而有的教材偏重于应用,比如何玉洁老师的数据库原理与应用教程[9],但典型的情况如表2分析。
以上分析是主要的例子但并不完全,但从以上的分析已足以见该课程内容的丰富和繁杂。
3贯通式教学的设计与实施
根据以上分析可以看出课程内容似纷繁复杂的网络,如果只采用经典的按照章节为序的纵向结构方式教学,那么一方面会因为各章内容丰富觉得知识点众多,另一方面又会因为时时出现似曾相识的知识点而迷惑;一方面会因为前面的一些知识点不能透彻描述而理解不清,另一方面又会因为似曾相识的知识点在后面再度出现而厌倦。在纵向结构的教学过程中始终辅之以渗透横向结构的贯通式教学,将把该课复杂的网络结构简化成纵向和横向两条线性结构,消除由于知识点结构复杂造成的学习障碍,降低课程的难度,提高学习的效果。
贯通式教学可以这样设计和实施:
(1) 分析并明确各横向结构知识点。整理出所有相关的知识点,明确它们在本课程中不同章节处出现时所承担的不同作用,所完成的不同功能。
(2) 设计各横向结构知识点在各章节教学过程中的任务。安排各相关知识点在第几章的授课中具体讲什么内容,讲到什么程度。
(3) 横向结构知识点讲课过程中进行回溯。回溯要简明扼要。学生回忆起学过的内容,教师又同时不必消耗太多课时,温故知新,温故求新。
(4) 横向结构知识点完成时进行总结,为进一步探索指明方向。
(5) 明确学生在每部分学完需要掌握的程度。由于教材的缘故,相关的知识点在描述上难免有部分重复。在学习初期,有些描述学生不能完全看懂,而随着教学内容的展开和深入,那些似曾相识的内容会让学生厌烦和懈怠。明确相应进度相关知识点的相应深度,可消除学生的疑虑和困惑。
(6) 课程完成时,分别从纵向结构和横向结构对课程的内容进行总结。纵向使学生理解掌握课程的内容和递进思想,横向使学生掌握各知识点基于课程整体递进时内容的深化和实现。
(7) 因为讲授的内容安排与进度会与教材不一致,所以我们准备了充分的教学辅助手段,如网络课堂,包括课件、作业和答疑,以提供给学生及时和持续的指导。
4贯通式教学的难点
贯通教学的难点首先在于课程纵向结构和横向结构的明确。纵向结构不难确定,通常可以使用教材的章节结构,而横向结构潜伏于各章内容之中,只有对课程进行大量深入的挖掘和分析才能获得。通过几年的教学实践总结有以下几个难点:
(1) 要求教师熟悉课程中所有教学内容,杜绝边教边学的现象。课程应建立合理的教学梯队,需要有经验的教师对新任课教师的传、帮、带。
(2) 透过表象看本质,不能就教材的安排而拘泥。教材是主要的教学参考书而不是僵化教条的条令。横向内容安排的深浅详略不用完全依照使用的教材,而要根据各部分内容展开程度的需要进行安排,这需要对授课内容进行细致的研究。
(3) 贯通教学对教材的内容和结构可能会有调整。从学习的初期看,学生的课程温习可能不是很顺畅,会给学生带来困惑和疑虑,但长期坚持跟随教师的授课掌握了课程的学习方法则会事半功倍。
5教学效果总结与评析
(1) 将课程复杂的网络结构简化成纵向和横向两条线性结构,降低了课程的学习难度,学生学习由难趋易。知识点有打碎有融合。打碎是为了学习的量少,降低难度,融合是为了知识点的融会贯通和有效应用。
(2) 数据库理论和应用相互促进。横向结构保证知识点既在理论部分分析讨论又在应用部分基于某种具体的DBMS进行实现,知其然知其所以然,增强了学生学习的兴趣。
(3) 实现了知识的顺利迁移。数据库理论是广谱的通用知识点,这种DBMS的功能这样实现,另外的DBMS势必主要也包括了这样的内容,掌握了理论将方便学习和移植,把学习一个DBMS的方法迁移到另一个不同的DBMS上去。这个在学生毕业设计中得到了明显体现。课程实验使用SQL Server环境,毕业设计使用Oracle或MySQL或DB2等,通过自学,学生们顺利完成了任务。
(4) 学生掌握了一种新的学习方法,从而增强了自主学习能力。沿着教材的纵向结构学习是一种本能,发现知识的横向结构、提取它,然后以此掌握知识的内涵并应用于实践则进入了学习的更高一层境界。这种能力,可以用于这门课程,当然也可以用于其他课程;可以用于学习功课,当然也可用于应用实践。
(5) 形成了一种新的对课程的理解和讲授方法。把一门课讲给学生不难,吃透一门课不容易,而透彻地教给学生就更不容易。理清课程的本质,融会两个结构的教学,将对这一类课程的教学带来新的突破。
参考文献 :
[1] 王珊,萨师煊. 数据库系统概论[M]. 4版. 北京:高等教育出版社,2006.
[2] 黄德才. 数据库原理及其应用教程[M]. 2版. 北京:科学出版社,2006.
[3] C.J.Date. 数据库系统导论[M]. 7版. 孟小峰,王珊,译. 北京:机械工业出版社,2000.
[4] Abraham Silberschatz, Henry F. Korth. 数据库系统概念[M]. 5版. 杨冬青,马秀莉,唐世渭,译. 北京:机械工业出版社, 2007.
[5] Patrick O’Neil.Database Principles, Programming and Performance[M]. 2nd.ed. 北京:高等教育出版社,2001.
[6] 叶小平,汤庸,汤娜,等 . 数据库系统基础教程[M]. 北京:清华大学出版社,2007.
[7] 施伯乐,丁宝康,汪卫 . 数据库系统教程[M]. 3版. 北京:高等教育出版社,2008.
[8] 陈志泊,李冬梅,王春玲. 数据库原理及应用教程[M]. 北京:人民邮电出版社,2002.
[9] 何玉洁. 数据库原理与应用教程[M]. 2版. 北京:机械工业出版社,2007.
[10] 苗雪兰,刘瑞新, 宋歌. 数据库原理及应用教程[M]. 3版. 北京:机械工业出版社,2007.
The Research and Application of Teaching Method in Introduction to Database System
LIN Yin, LU Ying, YANG Chang-chun
(College of Information and Engineering, Jiangsu Polytechnic University, Changzhou 213164, China)
关键词 需求分析 实体及属性 概念模型
中图分类号:TP315 文献标识码:A
1托盘共用信息管理平台
在托盘共用系统中,托盘属于托盘运营商所有,托盘的质量控制、维护修理均由托盘运营商负责,托盘使用企业不必拥有托盘,只需按照租赁合同使用托盘,有利于节约使用企业自备托盘的成本。托盘运营商建立托盘租赁和回收点,负责托盘的租赁、回收与维护,并根据托盘租赁需求预测,向生产企业订购托盘。
目前由于托盘运营商经常会因信息滞后,无法预测或统计相关企业对托盘的需求量,而使托盘脱销或积压,造成较高的托盘的库存成本。同时无法及时了解托盘在运输过程中的具置,完整回收随商品发往各地的空托盘,或者托盘随着产品的运输一次性使用后就被丢弃,造成资源的浪费。在空托盘的回收方面,由于无法与邻近的回收点充分共享信息资源,经常会产生回程空载上的浪费,不能充分利用托盘。很多因信息滞后的弊端使得托盘运营这项产业初期投入高,回收低下,出现运营困境。进一步讲,托盘共用系统中流动着多种托盘物流,如用户与托盘租赁和回收点之间的空托盘物流、回收点之间的库存托盘物流、用户之间随货物流动的托盘物流及用户之间的转租托盘物流等。各类托盘物流的高度流动性,使托盘共用系统的管理变得十分复杂,于是以互联网为基础建立托盘信息管理平台就成为了对托盘共用系统进行有效管理的必然选择。
2需求分析
2.1引言
进行系统设计,首先要对系统的现状进行分析。根据系统的目标、需求和功能,制定和选择一个较好的系统方案,从而达到一个合理的优化系统。随着经济的发展和社会的进步,大部分的地区都会出现托盘共用的情况,建立一个托盘共用信息系统,是为了解决人工手动管理托盘信息在实践的问题,从而达到系统化、规范化、标准化的水平。该系统的建立不但给管理者带来了方便,也节省了工作时间从而提高了工作效率。
在构造系统时,首先从需求出发构造数据库表,然后再由数据库表结合需求划分系统功能模块。这样,就把一个大的系统分解成了几个小系统。这里把系统的层次划分为了四个部分:托盘维护,管理人员信息管理,托盘租赁管理,信息查询。能够实现以下功能: (1)进行新托盘入库、现有托盘信息修改以及删除;(2)能够实现对顾客基本信息的查询和编辑管理;(3) 能够进行当前财务以及人力状况的查询;(4) 能够进行租赁信息的查询功能。
2.2需求分析阶段的目标与任务
2.2.1处理对象
托盘信息:托盘条形码,托盘类型,托盘名称,托盘租赁次数,租赁价格,货位,存储数量,入库时间,供应商编号。
托盘公司信息:点编号,点名称,e-mail,地址,网址,电话,管理员,公司名称。
顾客:顾客编号,顾客名称,性别,租赁次数,顾客类型,电话,e-mail,注册日期。
托盘借还:租赁编号,实际归还时间,托盘条形码,租赁时间,验收员编号,是否归还,预计归还时间,顾客编号。
供应商档案:供应商编号,供应商公司名称,供应商类型,电话,e-mail,备注。
托盘供应:供应单编号,托盘条形码,采购员编号,供应数量,供应价格,供应日期。
托盘验收:验收单编号,托盘条形码,验收员编号,货位,接收数量。
管理员:管理员编号,名称,密码。
2.2.2处理功能及要求
(1)能够存储一定数量的托盘信息,并方便有效的进行相应的托盘数据操作和管理,这主要包括:①托盘信息的录入、删除及修改。②托盘信息的多关键字检索查询。③托盘的出借、返还及超期罚款或丢失赔偿。
(2)能够对一定数量的顾客、管理员进行相应的信息存储与管理,这其中包括:①顾客信息的登记、删除及修改。②管理员信息的增加、删除及修改。③顾客资料的统计与查询。
(3)能够提供一定的安全机制,提供数据信息授权访问,防止随意删改、查询。
(4)对查询、统计的结果能够列表显示。
3 系统概念模型设计
在托盘信息系统中,涉及到包括托盘供应商、托盘租赁公司、顾客在内的供应链,需要实现托盘信息的录入、删除及修改,托盘信息的多关键字检索查询以及托盘的出借、返还及超期罚款或丢失赔偿情况。因此初步构建整体E-R图1所示。
进一步地对M:N的联系转换为相应的连接实体,建立各实体的主键和外键,建立各实体间的联系并且设置必要的完整性约束。绘制最终包括全部的实体、主要的属性,标明主键和外键,建立各实体间完整E-R图。
参考文献
[1] 王珊,萨师煊.数据库系统概论[M].高等教育出版社,2006.
关键词:COM;DCOM;多数据库系统;分布式
1、前言
随着计算机网络技术和分布式计算的飞速发展,越来越多的用户希望能够访问和处理多个不同数据源中的数据。在此情况下,出现了多数据库系统。多数据库系统(MuitidatabaseSystem,简称MDBS)的研究开始于80年代,至今已经有二十多年的发展历史,多数据库系统是多个现存的、自治的、异构的数据库系统的联合。多数据库系统在所有局部数据库系统之上构成全局系统管理层,提供外部用户接口,使用户能实现对异构数据库的透明访问。
通过分析发现,目前的多数据系统只是对异地数据库访问支持,有很大的局限性,而对多数据库系统中的事务管理、异构模式消解、全局视图维护等关键技术都没有提供很好的解决方案。
90年代,网络技术的发展使组件化程序设计的思想促使人们把多数据库系统与COM/DCOM结合起来。一方面,可以大大提高系统的可管理性、可维护性、可伸缩性和可集成性等,使多数据库系统的开发、使用和维护都变得简单;另一方面,这两者的结合也为先进的分布式组件对象技术提供了一个广阔的应用领域。因此,分布式组件对象技术在多数据库系统领域里得到广泛应用。
2、COM/DCOM技术
基于对大型软件开发的困难性、软件开发的协调性、软件复用、软件的互操作性、软件的跨平台性等问题的研究,Microsoft提出了COM/DCOM技术,并得到科学实践的验证及进一步发展。
COM/DCOM是建立在面向对象技术的基础之上,是面向对象技术的扩充和发展。它继承了面向对象技术的优点,克服了面向对象技术的缺点,提供了分布式计算环境。它采用面向对象的多层客户/服务器计算模型,该模型将分布在网络上的全部资源都按照对象的概念来组织,为网络上的大型软件开发建立全新的技术框架。因此,COM/DCOM是一种构造软件组件的二进制标准。
2.1COM简介
COM是一种构造软件组件的二进制标准,而面向对象技术是组件式设计思想的基础。它使得组件和客户端无需任何中介组件就能相互联系,其规范所定义的组件模型具有面向对象、语言无关性、进程的透明性、可重用性等特点。目前,COM自身得到了很大的发展,己经遍布于Microsoft的各种软件产品中。
在Windows系统平台上,一个COM组件或是一个DLL(动态连接库)文件,或是一个EXE(可执行)文件。一个组件程序可以包含多个COM对象,每一个COM对象可以实现多个接口。它们的关系可展现如图1所示。
图1 COM组件、COM对象和COM接口关系
2.2DCOM简介
DCOM是COM的无缝扩展,它充分利用基于COM的应用、组件开发工具及知识,并把它们转移到分布式计算的应用领域,实现了不同计算机上的组件对象与客户程序之间或组件对象之间在网络上的相互通信,具有平台无关性、协议无关性、语言无关性、组件位置独立性和可扩展等优点。它建立在分布式计算环境(DCE)的远程过程调用(RPC)之上,采用DEC RPC的NDR格式来进行数据分组和传输,并利用DEC PC的安全机制进行数据的安全认证和一致性检查。
DCOM的基本工作过程如图2所示。
图2 DCOM的工作过程图
3、基于COM/DCOM的多数据库系统结构
随着COM/DCOM技术的发展及标准化工作的完善,COM/DCOM已成为主流技术,符合COM/DCOM规范的产品也逐渐不断地被推出并开始被广为采用。COM/DCOM目前已经是一项比较成熟的分布式面向对象技术,COM/DCOM非常适用于多数据库系统的有效管理。
本系统模型采用了一种全新的解决方法,在应用服务器中直接提供支持,这种方案才能保证分布式程序的运行效率,特别是在于需要大量数据进行处理的系统相连上尤为明显。采用本系统模型可以拥有分布计算的支持,可应用服务器支持移动计算工作方式。该模式是数据库缓存更新的发展,用户与应用服务器相连并且从应用服务器上获得数据,然后将缓存在本地的数据更新,可对数据进行各种离线处理和分析,用户与应用服务器重新连接后,可以一次新的将离线所作的处理更新到数据库服务器中。
COM组件主要负责Web服务器和数据库服务器,通过间接调用外部程序或脚本代码来访问数据库,因此可以提供与数据库相关的动态HTML页面,或执行用户查询并将查询结果格式转化成HTML页面,通过Web服务器返回给用户浏览器。
多数据库系统的体系结构如图3所示。
图3 多数据库系统的体系结构
4、系统实现
利用Visual C++中的ODBC技术可以极大地减少软件开发的工作量,提高了效率并增强了软件的可靠性。ODBC API是由ODBC提供的一组函数调用接口,其主要功能就是将SQL语句发送到目标数据库,然后处理这些SQL语句返回的结果。下面是通过ODBC API连接数据库的主要步骤及其所涉及到的重要函数。
4.1连接一个已经配置好的数据源
CDatabasem_database;
If(!m_database.IsOpen())
{If(!m_database.IsOpen(_T(""Test"")))
Assert(""不能打开该数据源"");
}
m_database.Close();
4.2动态连接数据库
由于与数据库的连接是通过Cdatabase类对象来实现的,所以可以通过赋予CrecordSet类对象参数m_pDatabase以连接不同数据库的Cdatabase对象指针,就可以动态地连接数据库:
void CDB::ChangeConnect()
{Cdatabase*pdb=m_pSet->m_pDatabase;
Pdb->close();
switch(m_id)
{
case 0:
if(pdb->Open(_T(""ES"")))
{AfxMessageBox(""打开失败"",""检查ODBC连接"";
exit(0);}
case 1:
if(!pdb->Open(_T(""Motor"")));
{AfxMessageBox(""打开失败"",""检查ODBC连接"";
exit(0);
}m_id=0;break;
}
}
4.3动态连接表
表的动态连接可以利用在调用CrecordSe:tOpen()函数时指定SQL语句来实现。
5、结束语
本文提出一种基于COM/DCOM的多数据库模型。COM/DCOM技术是解决多种异构数据库环境下的据库信息处理的一种有效的方法。由于其先进性、可扩展性、可配置性、灵活性、可靠性和先进的多层结构等的优点,它不但可以解决数据库异构的问题,更是解决操作系统异构的最有效的方法。我们有理由相信组件对象技术将是解决数据库系统集成的优良方案,在企业集成应用系统中将起到重要的作用,将是数据库技术的一个新的发展趋势。
参考文献:
[1]李瑞轩.多数据库系统原理与技术[M].电子工业出版社.2005.
[2]王珊,萨师煊.数据库系统概论(第4版)[M].高等教育出版社.2007.
1教材的选择
目前数据库系统教学的教材非常多,一类数据库教材是偏向理论研究的,另一类则是侧重数据库技术,着重介绍某一个具体数据库软件产品及其开发技术的,这两类教材都不太适合独立学院非计算机专业的学生。根据学生的特点和实际教学需要,建议采用将“数据库原理”和"、“数据库应用技术”这两部分相结合的教材,也就是说在力求寻找对数据库理论知识进行深入浅出的阐述的基础上,更加强调实践应用能力的教材。比如对于独立学院电子商务专业的学生,笔者选择了由何玉洁编著的《数据库原理与应用教程》,该教材在介绍了数据库系统的基本概念和基本理论的同时,还涉及了目前流行的SQL Server 2000的功能和使用方法,另外根据学生开设的前导课程Visual Basic语言,该教材还介绍了在Visual Basic 6.0中开发数据库前端应用的方法。由王珊和萨斯宣编著的《数据库系统概论》作为数据库教材的经典代表,对独立学院电子商务专业的学生来说,将其作为主要参考书,也是一个很好的选择。目前数据库教材名目种类繁多,授课教师应该针对一定的培养目标,对教材进行合理的选择。
2合理安排教学内容
根据教学改革的要求,目前很多课程的教学课时都被压缩,笔者所在独立学院的非计算机专业的数据库教学基本都在51个课时左右。对于基础相对薄弱的独立学院学生,尤其对文理兼招的电子商务专业,要想把所有的知识的都面面俱到,那显然是有困难的,也是不太现实的,所以讲授本课程的主要目的应该是引导学生入门,重点讲授核心内容,如关系数据库基本理论、SQL语言、关系数据库的设计等。另外,数据库作为一门理论和实际联系非常紧密的课程,为了增强学生的实际应用能力,还应该留出至少三分之一的课时作为学生的实践课程,尽量让学生将所学的理论知识能应用于实际,从而增强学生的学习积极性。
3灵活运用现代化教学方法
3.1教学案例应该尽量与专业相结合
前面讲到,数据库教材虽然众多,但有非常多的教材都是参考王珊和萨斯宣编著的《数据库系统概论》来编写的,导致教材中涉及的案例基本上都是围绕“学生-课程”数据库的设计和应用来编写的,笔者在教学过程中,为了增强学生的学习兴趣,在讲述课程时采用的是教材的案例,但是当学生进行实践操作时,则换成和电子商务相关的数据库,如“客户――商品”数据库等,这样既可以锻炼学生灵活运用基本知识的能力,也为学生今后的电子商务网站后台数据库的设计提供一些思路。
3.2将理论教学和实践有机结合。
以往数据库课程的教学是理论是实验先分离的,也就是在讲授了较多的理论知识后,再集中进行实验。而数据库课程中一部分理论知识听起来还是有些乏味的,比如课程刚一开始就讲授“数据库概述”和“数据库系统结构”这两个部分内容,由于理论性较强,概念也比较多,“填鸭式”的教学方法往往使学生听的云里雾里。这样严重的影响了教学效果,为了让学生对理论知识有一个感性认识,笔者在教学安排上调整了教材的前后讲授顺序,比如,在第一次课讲授了一部分数据库的理论知识后,在第二次上课的时候就安排了一次实验,让学生了解SQL Server 2000的主要功能和基本操作,并且把理论知识和这个软件先结合进行介绍,通过这种方法,使学生很快就分清楚了“数据库”和“数据库管理系统”的区别,同时也让学生对神秘的数据库有了一个初步的了解,从而增强了学生学习的兴趣。
另外,讲授该课程的过程中,可以结合一个小型项目的开发来深化教学内容,比如,“数据库设计”是一个理论性较强、听起来较为枯燥的一个章节,如果纯粹讲知识的,学生听起来很乏味,如果老师事先介绍该章节的重点,然后让学生按照数据库的设计步骤去设计一个数据库,同时要求写出相应的数据库设计文档,这样既可以使学生更深刻地理解每个抽象地概念和知识点, 也可以提高学生的实践能力, 同时可以使枯燥的理论课活起来, 使学生在学习过程中体验到理论的学习在实践应用中的重要作用。
关键词:高校;计算机专业;实例;数据库应用
中图分类号:G642 文献标识码:A文章编号:1009-3044(2007)05-11454-03
1 引言
《数据库原理及应用》这门课的主要任务是通过课堂教学和实践指导,使学生较全面地掌握数据库系统的基本概念、基本原理和基本方法,初步具备使用数据库技术解决实际问题的能力。当前国内高校计算机专业教育教学普遍存在以下基本情况:1、学生人数众多,实验室开放时间有限,条件不足。2、教师和学生的比例差距较大,指导并不充分。3、存在“重视理论大于实践;重视课本大于动脑”的现象,常常表现在SQL语句写的非常好的同学但是数据库设计却很茫然。然而在很多时候即使重视理论也很难将理论讲授深入,同时学生的课程任务繁重,自己动脑动手的时间不多,应试教育的因素又使得学生对于知识的渴望大于对实践的需求。针对这些,教师无形中不得不加强对理论的深入,于是教学进入了不良循环的一个怪圈:成绩好的学生在毕业设计阶段也可能表现出对数据库设计无从下手,甚至ER图都不会画或画错,学生成绩的优良并不能如实反映他们对于这门课知识的掌握程度。
我国信息技术发展时间较短,从业人员较少,专业教材的建设正在逐步完善,在这样的现状下,美国等发达国家在其计算机科学发展的几十年间沉淀的经典教材仍有许多值得借鉴之处。但是国内高校对于双语教学的尝试,进展比较缓慢效果并不明显,特别是采用英文原版教材对教学的实施难度较大。在这种情况下适当的引用英文原版教材中的实例甚至是国外高校教学中的实例,对《数据库原理及应用》课程极为重要。
2 实例教学的作用
(1)实例教学是一种生动、灵活、多样化的教学方法。实例教学打破传统的课堂教学概念,进行全方位,多层次的探索。学生由传统的以讲授法为代表的教学中的被动变为主动,并获得了模拟解决实际问题的各种练习机会;
(2)归纳和演绎恰当的结合,有利于学生创造能力的开发。采用实例教学,课堂气氛较为活跃,学生积极参与,各自提出解决问题的方案,再比较不同方案的利弊,最后找出一个比较可行的设计流程。当完成基本原理方法的讲解之后,都会安排一次大作业,这更加体现了实例教学的特点;
(3)以实例促教学,理论联系实际。通过实例,可以启发学生将理论与实践结合起来,从获得现成的知识到探索未知的领域飞跃。
3 实例在数据库教学中的运用
3.1 实例分析
实例分析一般采用课堂随机发言的方式展开讨论。教师将一些比较常见的或者相对比较容易理解的问题在课堂上提出,学生对此自由发言,最后教师归纳总结。将传统教学中表现出的弊端尽可能的避免,如:(1)不联系实际,如QBE、嵌入式SQL、事务、备份等;(2)无法提高学生实际动手能力,没有大容量、高复杂的数据库;(3)设计能力,没有正确的设计思路(三范式的错误用法),没有经过设计训练。这些问题经过教师启发之后,学生很容易抓住重点分析解决问题。
3.2 实例训练
数据库课程是一门比较重视实践的课程,而运用实例进行教学又是简单易行的办法。从课本之外的地方找到相关的实例是一种新颖有效的办法,因为课本上的实例一般都选择比较简单的和某一个主题相关的例子,学生独立看书的过程中很容易看懂这些实例,如果上课的过程中继续引用,反复讲解,难免会给学生造成烦躁的情绪,时间长了,学生会觉得这门课的内容相对简单,往往容易掉以轻心。这样就对教师提出了更高的要求。教师不仅要懂得和掌握实例分析的方法和技巧,而且要具有实践经验,以及驾驭课堂讨论的能力,这样才能把数据库原理的教学做好。
4 实例举例
《数据库原理及应用》课程最重要的实践环节就是让学生能够开发一个功能完善的数据库应用系统,通常数据库设计质量的好坏直接影响到数据库应用系统的运行质量,而数据组织的是否得当正是数据库设计的关键所在.因此,关系数据库设计所面临的一个问题是:给出一组数据,如何去构造关系以及每个关系中应包含哪些属性,许多设计者通过经验或者直觉进行设计,却往往在使用中遇到这样或那样的问题,关系数据库里的数据规范化理论对于此问题作了一些理论上的研究.
国内的教材中对于问题的分析往往用比较简单易懂的单独实例加以说明,就一个问题而言比较容易理解,但是不适合拓展和举一反三,实例没有连续性。这样的例子在学生头脑中易形成断断续续的知识点,而不是连续的设计思想。这很容易给学生造成设计无从下手的困境,这也是数据库教学过程中容易重视理论忽视实践的一个原因。
下面的实例选自英国northumbria大学课程中的一个实例,这个实例可以代替“关系数据理论”这一章书本中的内容直接讲解,也可以辅助这一章进行适当的补充,这就要求教师的理论知识比较扎实,有很高的课堂引导能力,讲解联系实际防止空洞,重视培养学生的设计能力。
4.1 回顾相关知识
在开始关系数据理论知识讲解之前,首先回顾概念:候选码、主键(码)、外键。回顾最好的办法是选择教师适当引导,学生主动回答的方式。让学生认识到关系理论设计的重要性,在关系数据库设计中,数据合理存储和组织的核心是设计科学的关系模式,能准确反映现实世界实体间的联系,最大限度的减少冗余这就是关系模式规范化的问题。
4.2 UNF Un-normalised Form(未规范化的形式)
表1UNF实例
4.3 1NF First Normal Form(1范式)
对于学生选课的例子,ModuleCode、ModuleTitle之外的其他属性都存在表中套表的情况,即一个给定的课程,对应于多个学生。所以我们将套的表分离为新表,具有外键关系的字段用*标识:
定义:符合1范式的关系,就是不存在表中套表的情况。表中套表:即一个给定的主键(码)的值,存在多个其他字段的值和它对应。
分析1NF:(1)插入异常。如果有新的学生来报道,具体数据有“N990036、JONE、25/11/1978”,插入数据时因为没有Module信息则无法完成;(2)删除异常。N990036如果放弃选择Module为IS705的信息,删除记录时会因为删除了Module信息,N990036信息也随之消失;(3)修改复杂、冗余大。学生若选择了K个Module,那么Student Name和Date of Birth都要毫无遗漏的出现K次。如果要修改一个Student Name,则需要修改所有出现这个Student Name的地方。带着这样的问题我们开始下面的内容。
4.4 2NF Second Normal Form(2范式)
在确定2NF的时候,我们要检查每一个非主属性,看他们是完全依赖于主键(码)(所有主属性),还是部分依赖于主键(码)。分析ModuleCode和ModuleTitle,因为主键(码)只有一个属性。第二个关系中主键(码)是由两个属性组成的,所以每一个非主属性都要进行检查。StudentName和DateofBirth属性只依赖于StudentCode,所以要分离为新的关系。Grade和Result属性依赖于ModuleCode和StudentCode两个属性,因为主键(码)的任何一个子集都不能充分决定这两个属性。2NF结果如下:
定义2NF:一个属于1NF的关系也属于2NF ,如果主键(码)只有一个属性组成,或者非主属性(non-key attributes)完全依赖于主键(码)(即依赖于所有主属性,而不是部分主属性)
4.5 3NF Third Normal Form(3范式)
在确定3NF的时候,我们要检查每一个非主属性,看他们是否不依赖于其他非主属性。ModuleCode和ModuleTitle的关系属于3NF。StudentCode、StudentName和DateofBirth的关系也属于3NF。Result属性依赖于Grade这个非主属性,因为我们知道了Grade,就能确定Result的值,这两个属性需要分离为一个新的关系。3NF的结果如下:
定义:一个属于2NF的关系也属于3NF,如果所有的非主属性都不依赖于其他非主属性,并且所有主属性也不依赖于其他主属性。(或者说消除了传递依赖)(这里的3NF实际上是书本上的BCNF!)
4.6 规范化小结
图2 各种范式及规范化过程
5 相关习题
根据给出的实例,让学生自己分析
表2 UNF习题
6 结束语
实例教学法是传统教学方法的一种补充,在本科生的教学中首次尝试,收到很好的效果。实例教学法的成功取决于(1)选择的实例合理;(2)教师的素质和教师在课堂上的表现;(3)学生在教学过程中的主动性发挥程度。总之,实例教学法有利于提高学生学习的积极主动性,很好的做到了理论联系实际,特别是采用国外的教材或者是国外高校的实例,会大大加强学生对于这门课程的兴趣。对于实例教学法的实施方法,有效的让学生学会学习,主动学习,极大的提高了分析和解决问题的能力。
参考文献:
[1]萨师煊,王珊.数据库系统概论(第三版)[M].北京:高等教育出版社.2001.
[2]王珊,陈红.数据库系统原理教程[M].北京:清华大学出版社,1998.
[3]DATE CJ.An Introduction to Database System(Ed.6)[M].Addison-Wesley.1995.
[4]李艳梅,罗建..《数据库系统概论》教学改革探讨[J].西华师范大学学报(自然科学版),2003,(01).
[5]冯玉才.数据库基础(第二版)[M].武汉:华中理工大学出版社.1993.
[6][美]Evangelos Petroutsos,Kevin Hough. 邱仲潘译.Visual Basic 6 高级开发指南[M].北京:电子工业出版社,1999.
[7]刘容.数据库课程教学改革初探[J].高等工程教育研究,1997,(4).
[8]何玉洁,武欣,邓一凡.Ryan K Stephens, Ronald R Plew.数据库设计[M].北京:机械工业出版社,2001.
[9]Silberschatz,杨冬青,唐世渭等译.数据库系统概念(原书第4版)[M].北京:机械工业出版社,2003(3).
[10]李红. 数据库原理及应用[M].北京:高等教育出版社,2003.
[11]伍俊良,刘飞.数据库原理与基础实践环节在信息专业类教学中的应用与教学要求解析[J].计算机教育,2004(6).
[12]崔巍.数据库系统及应用[M].第2版.北京:高等教育出版社,2003.
[13]Silberschatz, Abrah. Database system concepts[M].北京:高等教育出版社,2002.
关键词: 资源整合 异构数据库 互操作 联邦式数据库
1 引言
异构数据库互操作问题作为数据库领域的研究热点和难点课题,在国内外的学术界和工业界都引起了广泛的关注。自20世纪80年代以来,国外许多公司和科研单位对异构数据库的集成进行了大量研究,取得了不少成果,但国内对异构数据库集成的研究还处于开始阶段。
2 异构数据库互操作的概念
异构数据库(Heterogeneous Database)集成是数据库技术从完全集中到逻辑集中、物理分布(传统分布式数据库)乃至逻辑分布、物理分布(异构数据库)这一发展过程的结果,也是兼顾已有系统自治性并实现新的数据共享这一现实需求的有效手段。
异构数据库的异构特征包括两个级别:系统一级的异构和语言一级的异构,主要体现在以下几个方面。
(1)计算机体系结构的异构:各个参与的数据库可以分别运行在大型机、小型机、工作站、PC或嵌入式系统中。
(2)操作系统的异构:各个数据库系统的基础操作系统可以是Unix, Windows NT,Linux等。
(3)数据库管理系统的异构:一种是数据库概念模式的异构:有层次、网状、关系和面向对象4种;另一种是数据库物理模式的异构:指概念模式相同,但数据结构不同,比如Oracle与SQL Server同属关系型,但结构不同。
异构数据库互操作的实现包括三个功能要素:(1)为用户提供功能强大且操作灵活的互操作可视化界面,通过它用户可以直观地对多个异构数据库进行透明访问;(2)提供高级语言数据库访问调用级接口,至于调用级接口的实现层次可由设计者视具体清况而定;(3)支持环境开放性,可能的话还应该支持实现语言开放性。
异构数据库系统的目标在于实现不同数据库之间的数据信息资源、硬件设备资源和人力资源的合并和共享。异构数据库系统集成就是要将数据库系统的不同,操作系统的不同,操作平台的不同或者底层网络的不同进行屏蔽,使得用户就可以将异构数据库系统看成普通的数据库系统,用自己熟悉的数据处理语言去访问数据库,如同访问一个数据库系统一样,对其进行透明的操作。
3 实现异构数据库互操作的途径
面对异构数据库的互操作需求,主要从两个方面同时进行努力:一是建立标准,即建立统一的数据库规范,消除由于标准的不完善而造成的各数据库系统间的差异;二是构建异构数据库互操作平台,实现对多个异构数据库的透明访问。
随着对数据库互操作问题的深入研究,基于不同角度,许多研究者提出了可行的异构数据库互操作途径,这些途径在实现互操作的深度、广度和高度上各不相同,都有各自所适应的特定环境和需求。从异构数据库的核心思想出发,把实现互操作的途径归纳为两大类。
3.1 系统级异构互操作
对于DBMS系统一级异构的网络环境下的数据库互操作,主要有四种实现途径。
(1)数据库网关(Database Gateway)
数据库网关是一种中继器,它能提供应用级的异构数据库集成的手段。网关的主要作用是转换和通信。
数据库网关可以建立比较稳定和透明的数据库互操作,但是其缺点也较为明显。诸如不关心如何屏蔽数据库之间的异构性,不支持事务处理,资源冗余,用户受限于数据库厂商,不能任意选择客户机平台及目标数据库等问题。
(2)公共协议/数据转换协议技术
公共协议是异构数据库进行通信时采用的公认的数据协议,即公认的系统间传递SQL请求和结果的形式。最常见的协议是ANSI/ISO的关系数据存取(RDA)标准、SGA(SQL Access Group)规范和IBM的分布式关系数据库结构(DRDA)。
数据库网关相比,公共协议更具有可扩充性和开放性,能较好地实现异构数据库的透明访问、支持多种网络协议和多种客户平台,是实现异构数据库互操作的有效途径之一。
公共协议/数据转换协议的缺点是协议本身的低效率带来的速度问题。
(3)公共编程接口
公共编程接口包括客户应用编程界面(CAPI)和服务器应用编程界面(SAPI)。CAPI是一组过程库,通常驻留在客户端,通过装载后端专用的驱动程序访问不同的数据库。SAPI提供一个应用编程界面,控制服务器与客户应用请求和目标数据库之间的交互。如Microsoft 的ODBC、Oracle的SQL*NET 以及IDAPI。其优点有:由于提供了统一的调用级接口,使用户免除了应用程序随数据库改变而改变的痛苦;通过API可使应用程序直接操纵数据库中的数据。数据库访问API的缺点是:针对每一个数据库都需要有一个与其对应的驱动程序;由于不同的驱动程序所支持的数据类型和对数据的操作都不相同,其完全透明地访问异构数据库的能力有限;实现效率过分依赖于驱动程序,而驱动程序将标准语法转换成相应数据库的命令语法要花费大量的时间。
(4)中间件技术(Middle Ware)
中间件是处于应用程序及应用程序所在系统的内部工作方式之间的软件,它的基本思想是在各后端数据源和前端应用程序之间建立一个抽象层。把应用程序与系统所依附软件的较低层细节和复杂性隔离开来,使应用程序开发者只处理某种类型的单个API,而其他细节则可以由中间件处理。这样就使系统对每个不同数据源的操作变成对单一的中间件的操作,而后再对中间件进行异构处理。使用中间件技术解决异构数据库集成的问题,将会给系统集成带来很多的好处。这是因为中间件不仅能够使得前端用户访问后端的异构数据库实现透明化,并且保证了访问接口的开放性,这样可以使系统在以后功能上的扩展更加方便。通过中间件来访问数据库的另一个好处就是所有的客户端的请求都发送到了中间件上,减轻了数据库服务器的负担,保证了数据库服务器的性能不会降低。同时,中间件的采用极大地提高了系统的可维护性,在系统内部的某个逻辑发生变化时,只要改变中间层的相应处理程序,前台用户界面不需要做任何的改动,这样就大大降低了系统维护的费用。
3.2 数据结构与语义级异构互操作
目前,对于数据结构和语义一级异构的数据库互操作的研究有紧密耦合和松散耦合两种思想,具体体现于多数据库系统、联邦数据库系统和分布式数据库系统三种方法。
(1)多数据库系统
所谓多数据库系统就是一种能够接受和容纳多个异构数据库的系统,允许各个异构数据库的“自治性”。多数据库系统是一个广义的概念,是相对于如集中式数据库系统或分布式数据库系统那种逻辑上具有同一管理系统而言的,它以多元和分布为主要特征。多元是指它多个彼此区别的集中式或分布式数据库系统;分布则是指数据分布在不同场地的数据库系统中,由各自的管理系统进行管理。
多数据库技术的目标是为在多个数据库之间实现互操作,解决数据库资源共享找到一种技术途径。一般采用分布、异构、自治三个特性作为尺度来刻画多数据库系统。使用这种方法,用户需要显式地指明所要访问的数据库。多数据库系统采用自下而上的方法来实现。
(2)分布式数据库(Distributed Database)
分布式数据库的基本思想是抛弃原有的数据库系统,在网络环境下建立分布的数据库系统,在体系结构、事务处理模型等方面重新设计从而解决信息共享与互操作问题。分布式数据库系统分为同质分布式数据库和异质分布式数据库。像 Oracle、Sybase、Informix 等都是同质分布式数据库系统,这类系统的实现相对来说比较容易一些。异质分布式数据库管理系统大多是在已有的一些数据库管理系统的基础上实现的。
(3)联邦式数据库(Federated Database)
联邦式数据库系统是网络技术和分布式数据库技术发展的必然结果,它是由一组能协调工作,又可以独立自治的部件数据库组成。它可以是原先不分布的,又可以是分布的,具有分布性、自治性、异构性三大特性。
联邦式数据库与分布式数据库系统的区别在于:分布式数据库系统虽然在物理上是分散的,但因为有统一的数据模型及全局数据模式,所以它在逻辑上却是集中的,因此用户感觉到的是一个完整的数据库。显然,这种系统可用于某个专用领域的系统,但不适于不同领域间的异构系统的集成。相反地,联邦式数据库系统是由在不同结点上松散耦合分布的异构成员数据库构成,各联邦成员间的一种松散结合。构成联邦成员的可以是一个集中式数据库,也可以是一个分布式数据库,它们可以根据需要(按某种组合)加入联邦或者根据需要退出联邦。联邦式数据库没有全局模式,各子系统(即联邦成员)按自己的需求建立各自的数据模式。其成员之间的数据共享关系,通过由协商确定的输入/输出模式来建立,单个成员有权拒绝或允许其它成员结点对它的访问。因此,它能够支持多库系统的分布性、异构性和自治性,使之产生满意的集成。
异构数据库的互操作技术使得数据库在原有技术领域发挥重要作用的同时,在未来新的应用领域也有着重要的影响,如地球观测系统 EOSDIS、电子商务、保健信息系统、数字出版、协同设计等领域。
参考文献
[1] 萨师煊,王珊.数据库系统概论.北京:高等教育出版社,2000.2.
[2] 张水平, 万映辉等.异构数据库的集成与互操作. 计算机应用研究, 2000(1).
[3] 郑振楣, 于戈等编著.分布式数据库. 北京: 科学出版社, 1998.
[4] 刘艳梅. 基于 COM/DCOM 组件标准实现异构数据库的联合使用: [博士学位论文]. 北京:北京理工大学, 2000.
[5] 唐巍, 周俊林, 李晓. 异构数据库集成方法初探. 计算机应用研究, 1999(8).
[6] 王艳君, 王运格, 吴丽红. 异构数据库间数据集成的方法. 烟台师范学院学报, 1999, Vol.15(4).
关键词:数据库;网络安全;网络加密
中图分类号:TP311文献标识码:A文章编号:1009-3044(2008)17-21382-02
随着计算机技术应用的深入以及机构对信息系统依赖程度的增加,越来越多的机构将数据库系统作为日常操作和决策的数据管理技术,加上目前基于web应用的普及,对数据库系统信息泄露的威胁也越来越大,因此数据安全性和隐私性问题也越来越受到关注。数据库技术作为数据信息的存储方式, 在网络服务中发挥了巨大的作用,但病毒攻击,黑客入侵,人为安全等随之而来产生了数据的安全问题。应用安全与网络和主机安全之间虽存在很大区别,应用也千差万别,但攻击目标是相同的,即入侵数据库。
对数据库系统的安全,人们往往只关注产品或技术上的解决办法,经统计显示,引起数据库系统不安全因素的70%是由于内部制度或管理的不完善所造成。本文通过对数据库运行环境的系统分析,总结了数据库系统运行所涉及到的各种不安全因素,并提出了相应的防范策略,旨在使读者对数据库系统安全有一个较为全面的了解。
1 数据库的不安全因素
1.1 运行环境
数据库应用一般采用客户机/服务器(Client/Server)模式,即多台客户机共享一个数据库服务器。在客户机服务器结构中,客户机向服务器发出请求,服务器为客户机提供完成这个请求的服务。例如,当用户查询信息时,客户机将用户的要求转换成一个或多个标准的信息查询请求,通过计算机网络发送给服务器,服务器接到客户机的查询请求后,完成相应操作,并将查出的结果通过网络回送给客户机。数据库系统的网络拓扑图如图1所示。
1.2 不安全因素分析
由数据库系统的运行环境分析,数据库系统的正常运行包括由硬件组成的网络拓扑结构;由软件进行对数据库系统和网络数据流的管理;以及日常工作中制度制定和人员的管理。它的安全性问题相应包含了三个方面的内容:
(1)运行数据库系统的硬件安全性。即物理安全,包括服务器、交换机、电源等设备故障, 合理的网络拓扑结构,电磁辐射造成的信息泄漏,水灾、火灾等环境事故,有时攻击者通过在传输线路上安装专用设备进行窃听或恶意攻击。
(2)运行数据库系统的网络安全性。主要指数据库系统自身安全性以及数据库所处的网络环境面临的安全风险。如病毒入侵和黑客攻击、网络操作系统、应用系统的安全, 表现在开发商的Back-Door(后门)以及系统本身的漏洞上。
(3)运行数据库系统的管理安全性。主要包括因管理不善,培训不到位,制度不健全引起内部人员泄密、有意或无意破坏,造成日常管理中出现安全风险。因此除了技术以外日常管理也是实现网络安全的重要因素。
2 数据库系统的安全防范策略
通过分析数据库系统的不安全因素后,针对不同因素,给出数据库系统安全的主要防范技术和措施。它们是相辅相承的,各层次的防范重点和所采取的技术手段也不尽相同,一个好的安全系统必须综合考虑核运用这些技术,以保证数据的安全。
2.1 物理安全防护策略
物理安全保证重要数据免受破坏或受到灾难性破坏时及时得到恢复,防止系统信息在空间的扩散。在物理安全方面应主要采取如下措施:
(1)网络安全设计方案符合中华人民共和国有关网络安全方面的规定。安全设计应根据不同网络、系统和信息要求分别采用不同的安全防护措施;
(2)建立良好的电磁兼容环境,安装防电磁辐射产品,如辐射干扰机;
(3)产品采购、运输、安装等方面的安全措施;
(4)对重要设备和系统设置备份系统;
(5)数据库系统运行的服务器、网络设备、安全设备的安全防范,主要包括防水、防火、防静电等。
2.2 网络安全防护策略
从广义上讲,数据库的安全首先依赖于网络系统。可以说网络系统是数据库应用的外部环境和基础,数据库系统要发挥其强大作用离不开网络系统的支持,数据库系统的用户如异地用户、分布式用户也要通过网络才能访问数据库的数据。网络系统的安全是数据库安全的第一道屏障,外部入侵首先就是从入侵网络系统开始的。
(1)数据库系统的安全防护策略。主要表现在对数据的存取控制上,对不同用户设置不同权限,限制一些用户对数据库的访问和操作,避免数据丢失或泄露。用户口令是用户入网的关键所在,必须经过加密,以防止信息在网上传输时被截获而造成密码泄露,并给密码加上时效性即给用户定期更新密码, 防止密码泄露。数据库使用连接缓冲机制,把本系统的用户和数据库用户进行隔离,即使有了一个系统用户的密码,也不能跳跃数据库管理系统直接对重要数据库进行访问使用防火墙技术,提高系统的安全性,本系统只允许通过特定端口来访问,这样可以使用防火墙技术,进行包的过滤,在系统设计中,充分利用不同数据库系统提供的先进与完备的安全管理措施,建立备份服务器。其中,安全服务器支持自由访问控制和托管访问控制等强制安全措施,设置数据库监听服务器,它是可实现登录安全和多层次的审计控制,并支持用户有效性验证和与场地有关的加密算法。
(2)防火墙技术。防火墙是一个或一组在两个网络之间执行访问控制策略的系统,包括硬件和软件。防火墙的主要功能是拦截来自外部的非法访问并阻止内部信息的外泄,由软件和硬件组成的防火墙应具备:a)所有进出网络的通信流都应该通过防火墙;b)所有穿过防火墙的通信流都必须有安全策略和计划的确认和授权;c)理论上说,防火墙是穿不透的。但它无法阻拦来自网络内部的非法操作。防火墙技术主要有三种;数据包过滤器(packet filter)、(proxy)和状态分析(stateful inspection)。现代防火墙产品通常混合使用这几种技术。事实上,在Internet上的网站中,超过三分之一的网站都是由某种形式的防火墙加以保护,这是对黑客防范最严,安全性较强的一种方式,任何关键性的服务器,都建议放在防火墙之后。市场上的防火墙有以软件形式运行在普通计算机之上的,也有以固件形式设计在路由器之中的。防火墙技术应用于网络拓扑中如图2所示。
(3)网络防病毒技术。对于复杂的系统,其错误和漏洞是难以避免的,病毒就是利用系统中的漏洞,进行网络攻击或信息窃取,构成对网络安全的巨大威胁。因此,我们必须严防计算机病毒对网络的侵袭。管理上加强对工作站和服务器操作的要求,防止病毒从工作站侵入技术上可以采取无盘工作站、带防病毒芯片的网卡、网络防病毒软件,设立网络防毒系统和配备专用病毒免疫程序来进行预防,采用多重技术,互为补充。
(4)入侵检测(Intrusion Detection System)。入侵检测作为一种积极主动地安全防护技术,提供了对内部攻击、外部攻击和误操作的实时保护,在网络系统受到危害之前拦截和响应入侵。入侵检测是近年来发展起来的一种防范技术,综合采用了统计技术、规则方法、网络通信技术、人工智能、密码学、推理等技术和方法,对各种事件进行分析,从中发现违反安全策略的行为是入侵检测系统的核心功能。作为计算机系统的安全而设计与配置的一种能够及时发现并报告系统中未授权或异常现象的技术,系统已经成为安全防御系统的重要组成部分。在网络中同时采用基于网络和基于主机的入侵检测系统,则会构架成一套完整立体的主动防御体系。
(5)网络加密技术。采用网络加密技术,可实现数据传输的保密性、完整性。它可解决网络在公网的数据传输安全性问题,也可解决远程用户访问内网的安全问题。加密技术主要分为数据传输、数据存储、数据完整性的鉴别以及密钥管理技术四种。实现对传输中的数据流加密,预防在存储环节上的数据失密,并对介入信息的传送、存取、处理人的身份和相关数据内容进行验证,防止非法用户存取数据或合法用户越权存取数据。
2.3 管理安全防护策略
网络的使用与维护,数据库系统的安全运行,归根结底都离不开人,所以要时刻加强对操作人员的管理与培训。根据国家、行业等相关标准,结合实际机房、硬件、软件、数据和网络等各个方面的安全问题,制定切实可行的规章制度对操作人员进行培训,提高技术水平,对系统进行及时的升级并利用最新的软件工具制定、分配、实施和审核安全策略加强内部管理, 建立审计和跟踪体系,提高整体信息安全意识进行安全宣传教育。对操作人员结合机房、硬件、软件、数据和网络等各个方面的安全问题进行安全教育,严格执行操作规章,提高操作人员责任心。
3 结论
保障数据库系统安全,不仅涉及应用技术,还包括管理等层面上的问题,是各个防范措施综合应用的结果,是物理安全、网络安全、管理安全等方面的防范策略有效的结合。在具体实施时,应根据具体情况、环境和需求,因地制宜进行分析,采取相应有效措施保护数据库系统乃至整个网络系统的安全。
随着数据库系统的发展,对数据库系统的攻击方式也在不断改变,数据库系统的安全和维护工作,也应该根据自身需求,跟随技术和管理的发展而合理升级、更新。因此,针对数据库系统运行中不安全因素,应该时刻关注安全技术的发展,对安全防范系统进行必要升级,保障数据库系统运行安全。
参考文献:
[1] 王珊,萨师煊.数据库系统概论[M].4版.北京:高等教育出版社,2006.
[2] 周学广,刘艺.信息安全学[M].北京:机械工业出版社,2003.
[3] 杨方燕.数据库系统安全保密技术探讨[J].计算机科学与技术,2006,24(6):51-53.