




已阅读5页,还剩45页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要 本系统是运用可视化编程工具d e l p h i 开发并结合s h a 一1 的信息安全认证技术的题 库管理系统利用d e l p h i 所提供的各种面向对象的开发工具,建立系统应用原型,然后进 行需求迭代,不断修正和改进,直到形成满意的可行系统,并在系统里通过s 姒一1 数字签 名技术实现对密码的加密。该系统结构良好、使用方便,题库数据输入简单,系统能够实现 人工选题和随机抽题两大功能进行组卷,包括后台数据库的建立、维护以及前端应用程序 的开发两个方面。该系统有安全的用户登录模块、方便快捷的浏览界面、易于操作的功能 模块。本文的分析基于知识点的试题库结构基础上,阐述以知识点难度系数和题型为主要 控制参数的组卷算法的建立与实现方法,并且阐述s 姒_ 1 数字签名技术在该系统的实现。 该系统的运用不仅提高了教师进行题库管理和出卷的工作效率,而且可以实现真正意义上 通用性和使用时的安全性。 关键词:题库:管理系统:s h a i 算法:组卷 a b s t r a c t t h i ss y s t e mi sam a n a g e m e n ts y s t e mo ft h eq u e s t i o n sw h i c hu s i n gd e l p h iv i s u a l p r o g r a m m i n gt o o lf o rd e v e l o p m e n ti nc o m b i n a t i o nw i t h s h a 1a u t h e n t i c a t i o n t e c h n o l o g yo fi n f o r m a t i o ns e c u r i t y i tu t i l i z e sav a r i e t yo fo b j e c t o r i e n t e d d e v e l o p m e n tt o o l sd e l p h ip r o v i d e d ,e s t a b l i s h e sap r o t o t y p ef o rs y s t e ma p p l i c a t i o n , a n dt h e nc a r r i e so n a ni t e r a t i o no fn e e d s ,m o d i f i e sa n di m p r o v e st h er e s u l t s c o n s t a n t l y ,u n t i las a t i s f i e dv i a b l es y s t e mi sf o r m e d ,f i n a l l yi tg i v e st h es y s t e m e n c r y p t i o nw h i c hi sm a d eb yt h es h a 一1d i g i t a ls i g n a t u r et e c h n o l o g y t h i ss y s t e mi sw e l l s t r u c t u r e d ,c o n v e n i e n tt ou s e t h ed a t ao ft h eq u e s t i o n s b a n ki se a s yt oi n p u t i nt h es y s t e m ,t w of u n c t i o n sa r ea c h i e v e d ,i n c l u d i n g a r t i f i c i a ls e l e c t i o na n dr a n d o mf u n c t i o no ft h et i t l e s o nt h eo t h e rh a n d ,t h e s y s t e mc a nb ed i v i d e di n t ot w oa s p e c t s ,c o n s t i t u t e db yt h ee s t a b l i s h m e n ta n d m a i n t e n a n c eo ft h eb a c k g r o u n dd a t a b a s ea n d t h ed e v e l o p m e n to ff r o n t 。e n d a p p li c a t i o n t h e r ea r es e c u r eu s e rl o g i nm o d u l e ,c o n v e n i e n tb r o w s e ri n t e r f a c e , a n de a s y t o u s ef u n c ti o nm o d u le si nt h es y s t e m i nt h i sp a p e r ,a na n a l y s i si sf o r m e dw h i c hb a s e do nk n o w l e d g es t r u c t u r e i t e x p o u n d st h ee s t a b l i s h m e n ta n dm e t h o d so fi m p l e m e n t a t i o nf o ra l g o r i t h m ,u s i n gt h e d e g r e eo fd i f f i c u l t yo ft h ek n o w l e d g ep o i n t sa n dq u e s t i o n sa st h et w om a i nc o n t r o l p a r a m e t e r s a n di ta l s oe x p o u n d st h er e a l i z a t i o no ft h es h a 一1d i g i t a ls i g n a t u r e t e c h n o l o g yi nt h es y s t e m t h eu s eo ft h i ss y s t e mn o to n l yr a is e st h et e a c h e r si n t h em a n a g e m e n to ft h eq u e s t i o n s ,b u ta l s oi m p r o v e se f f i c i e n c yo ft h ev o l u m e i t c a na c h ie v ear e a lc o m m o ns e n s ea n ds a f e t yw h e nu s e d k e y w o r d s :q u e s t i o n sb a n k ;m a n a g e m e n ts y s t e m ;s h a 一1a l g o r i t h m ;p a p e r 厦门大学学位论文原创性声明 本人呈交的学位论文是本人在导师指导下,独立完成的研究成 果。本人在论文写作中参考其他个人或集体已经发表的研究成果,均 在文中以适当方式明确标明,并符合法律规范和厦门大学研究生学 术活动规范( 试行) 。 另外,该学位论文为() 课题( 组) 的研究成果,获得() 课题( 组) 经费或实验室的 资助,在() 实验室完成。( 请在以上括号内填写课 题或课题组负责人或实验室名称,未有此项声明内容的,可以不作特 别声明。) 磊黔多粥:日南链 护7 年月7 日 一 厦门大学学位论文著作权使用声明 本人同意厦门大学根据中华人民共和国学位条例暂行实施办 法等规定保留和使用此学位论文,并向主管部门或其指定机构送交 学位论文( 包括纸质版和电子版) ,允许学位论文进入厦门大学图书 馆及其数据库被查阅、借阅。本人同意厦门大学将学位论文加入全国 博士、硕士学位论文共建单位数据库进行检索,将学位论文的标题和 摘要汇编出版,采用影印、缩印或者其它方式合理复制学位论文。 本学位论文属于: () i 经厦门大学保密委员会审查核定的保密学位论文, 于年月日解密,解密后适用上述授权。 () 2 不保密,适用上述授权。 ( 请在以上相应括号内打“”或填上相应内容。保密学位论文 应是已经厦门大学保密委员会审定过的学位论文,未经厦门大学保密 委员会审定的学位论文均为公开学位论文。此声明栏不填写的,默认 为公开学位论文,均适用上述授权。) 声明人( 签名) : 年月日 基于s h a 一1 安全认证的题库管理系统 第1 章绪论 1 1 前言 随着计算机技术的不断发展,它被更广泛地应用在我国的各行各业中。其中计算机辅 助教育( c a i ) 在教育系统中的应用,收到了良好的效果,给教育改革带来美好的前景。 多媒体教学,电子课件,远程教育,学籍管理等项目的开发与应用倍受关注。在教学管理中, 为实现教考分开,更加合理,公平,公正,公开地进行各种考试,利用计算机进行考试题库 管理,辅助教师命题组卷已成为各校教学改革的重要内容之一。因此对于题库管理系统的 开发和应用就显得尤为重要。 1 2 系统开发背景 1 2 1 题库数据安全 随着计算机技术的飞速发展,数据库的应用十分广泛,深入到各个领域,但随之而来 产生了数据的安全问题。各种应用系统的数据库中大量数据的安全问题、敏感数据的防窃 取和防篡改问题,越来越引起人们的高度重视,不少的管理系统都不可避免地受到来自外 界的安全危胁,随着数据价值不断提升,以及存储网络化不断发展,数据遭受的安全威胁 日益增多,若无存储安全防范措施,一旦攻击者成功渗透到数据存储系统中,其负面影响 将是无法估计的。数据库系统作为信息的载体,是计算机信息系统的核心部件,其安全性 至关重要。因此,如何有效地保证数据库系统的安全,实现数据的保密性、完整性和有效 性,已经成为业界人士探索研究的重要课题之一,所以如何利用s h a 一1 加密技术做好题库 管理系统显得更重要。 1 2 2 题库管理的方法 试题管理与试题相伴而生,但并非每一位与试题有关的老师都有管理试题的经历,经 验和有效的方法。据一项不完全统计表明:约有8 5 的教师对管理试题和制作试题库有 兴趣,而曾经有过制作试题库行动的教师不到3 0 ,大约只有3 的教师曾经制作成功过小 型的试题库。只有不到1 的教师通过计算机来管理试题。造成这一现象的直接原因,一 是来自传统试题管理方案的弊端,二是源于现代计算机管理试题技术相对落后的状态。 我国许多学校教学信息技术设备使用率相对较低,在这样的状态下,很多教师如要管 理试题,则只能处在手工操作的低水平上,这样的题库建设思想和试题管理方法,技术十 基于s h a 一1 安全认证的题库管理系统 分落后,效率也极低。不仅试题复制困难,而且更新,查找也十分麻烦,合成试卷也不方 便,需要耗费相当大的人力手工劳动,其中有许多是重复劳动。学校往往对教师在备课, 上课,学生考试成绩等方面有明确的量化考核方法,而对教师管理试题缺乏明确的要求, 缺少适当的激励机制。加之现在现成的资料满天飞,大多数学校又都有快速扫描印刷设备, 依赖于一台复印机就能对付日常的练习和考试题,所以教师也缺少管理试题的主动性。 试题进入计算机不等于就对试题进行了有效的管理,试题一旦组合成试卷,在获得试 卷完整性的同时,也失去了试题的单一性和独立性,就目前状况,我们无法简单地从一个 完整的文档中去寻找和抽取合适的部分,除非再次找到这一份文档,否则,这些试题就永 远沉睡在计算机内。以我所在的学校为例,现有教师1 0 6 名,如果每学期以每人制作5 份练习或试卷计,每一份练习或试卷约5 0 题,一学期就约有2 6 5 0 0 道试题进入计算机, 由于不能对这些试题进行定性,无法对其中优秀的试题进行二次使用,有些练习或试卷可 能连一次都没有使用,便销声匿迹。为了制作曾经使用过的优秀试题,不得不重头做起。 仅此一项,所造成的人力,财力等方面的损失就无法计算。 1 2 3 题库管理系统的现状 从功能方面讲,现行题库管理系统有查询,添加,删除,保存等功能,基本上能满足一般 的少量的试题管理,但是对于管理现在的大量题目而言是远远不够的,而且由于功能不完 善不全面,不能够真正的起到帮助教师解决大量题目问题的功能。从操作方面讲,由于现 行题库功能比较少,操作起来就相应简单。总体来说,现行的题库管理系统还不够理想, 不够完善,特别是在系统安全性方面还不尽如人意。 1 2 4 题库管理系统开发的必要性 我国利用计算机管理试题起步较晚,主要是受社会发展水平的限制和国内计算机技术 的普及程度的制约。但是,随着计算机进入学校和家庭,利用计算机管理试题的技术日趋 成熟,利用计算机管理试题的人们也越来越多,伴随着互联网技术,各软件开发商和软件 爱好者也纷纷推出了自己的试题管理软件。各教育单位也竞相推出各自开发的题库管理系 统,在对已经开发出的各种题库管理系统的使用过程中,我们发现其多偏重于题库管理功 能的“大而全 ,虽然具有一定的通用性但缺乏针对性,在实际应用中操作烦琐,给出题 带来了不便。而且现行的题库不能自动生成试卷,试卷的难以程度也不能自由控制,这样就 会出现试题搭配不合理等现象,给教师对题库的管理带来很大的不方便。所以,开发一个 2 基于s h a 一1 安全认证的题库管理系统 操作方便,针对性强,试卷难以程度能够控制的系统具有很大的必要性。 1 2 5 题库管理系统开发的目标 本系统开发的目标是:开发一个具有针对性强,操作简便,成卷快,题目搭配合理,试卷 难易程度可控的系统,同时也具有一定的可扩展性的题库管理系统。方便教师有针对性的 运用题库进行辅助教学。教师可以通过简单快捷的操作选择相关章节题目,进行教学,考 核以及给学生布置作业,方便快捷。能够掌握题目的难以程度,帮助学生学习其他参考知 识,提高学生的自学能力,扩充学生的知识面,帮助教师管理大批量的试题,给教师节省 时间和精力。最重要的在系统中加入s h a 一1 加密技术,保证系统的安全。 1 2 6 题库管理系统开发的意义 现代科技的日益发展,计算机普及到现实生活的方方面面,能够运用计算机已经是很 普遍的技术了。在计算机上管理题库已经是大势所趋,及其必要的。运用计算机管理题库, 能够帮助题库的管理,方便题目的存取,编制以及查询,能够智能化的管理所有题目,准 确无误,避免了人为导致的错误,节省时间和人力。便于教师抽取题目,组合试卷,对学 生进行考核和布置作业。便于编s d e p 插入和删除。针对性强,章节分明,题目安排合理。 方便查询,使用者可以根据系统的特点很快掌握查询的方法,进而能够很方便快捷的进行 查询。组合试卷快,题目根据使用者爱好可以自由搭配甚是合理,而且试卷的难以程度可 以受使用者控制。同时也具有一定的可扩展性和通用性,完全可以作为其它课程的题库管 理系统。 1 3 可行性分析 1 3 1 技术可行性 近些年来,计算机技术飞速发展,硬件条件可以说是日新月异,其发展以令人惊讶的 速度成倍发展。软件方面同样进展神速,无论任何系统都难不倒如今的计算机。本系统就 是由d e l p h i 与s q ls e r v e r 2 0 0 0 数据相结合而设计出来的。本系统开发环境:w i n d o w s 2 0 0 0 x p 2 0 0 3 操作系统,d e l p h i7 0 ,s q ls e r v e r 2 0 0 数据库,并且题库管理系统的程序 功能比较简单只需要通过简单的培训便能操作系统,节省大量的人力,用户登陆界面后能 够通过简单的操作自动生成试卷,并且题目搭配合理,难度可受用户自由控制,这一点具有 很大的可行性。 3 基于s h a l 安全认证的题库管理系统 1 3 2 经济可行性 题库管理涉及的范围以及用到的功能少,不想其他较大的系统,复杂繁琐。一方面, 系统的开发不需要额外增加设备购置费,软件开发费,管理和维护费用。另一方面,运行费 用方面,由于系统比较小,不必进行太多的运行维护。在计算机联网后,数据在网上传递, 可以实现数据共享,避免重复劳动,规范数据管理行为,从而提高了管理效率和水平。题 库管理系统以计算机为工具,通过对题库系统管理,不仅把教师从繁琐的编辑和制作试卷 中解脱出来,而且优化了管理体系,使其高效化,简易化,智能化。而且本系统自动生成 试卷,难易程度可自控和可查询历史纪录等优点都是很智能化,高效化的。这些潜在的优势 能给题库管理带来极大的经济回报。 1 3 3 社会可行性 计算机以强大的信息处理能力作为人类脑力劳动的有利助手登上历史舞台后,已渗透 到社会生活的各个领域,使现代社会组织,公司以及学校的信息处理能力适应现代化管理 的要求,且系统逐步从单项事务信息处理系统迅速向综合服务( 决策支持系统) 的管理信 息系统发展。本系统使用界面良好,易于操作,能对题库进行优越的管理,从而提高教师 制作试卷的速度,节约时间和精力。 4 基于s h a l 安全认证的题库管理系统 第2 章数据库理论基础和开发工具 2 1 数据库理论基础 数据库处理在信息系统的研究中一直是非常重要的主题,然而,近年来,随着w o r l d w i d ew e b ( w w w ) 的猛增及i n t e m e t 技术的迅速发展,使得数据库技术成为最热门技术之 一。数据库技术能使i n t e t n c t 应用超越具有早期应用特点的简单的发布,同时,i n t c m e t 技术提供了一种向用户发布数据库内容的标准化的访问方法。这些技术没有脱离经典数据 库技术的要求,它们只是加重了数据库技术的重要性。 数据库的设计和开发是一个要先理解用户的需求,然后把它们转变为有效的数据库 设计,把设计转变为实际的数据库,并且这些数据库带有功能完备、高效能的应用,是一 个工程过程。 数据库的目的是帮助人们跟踪事务。经典的数据库应用涉及数据量较大、需要密切关 注的事务。最近,由于数据库的普及,数据库技术已经被应用到了新的领域,诸如用于 i n t e r n c t 的数据库或用于公司内联网的数据库。数据库也被越来越多地应用于生成和维护 多媒体应用程序上。 2 1 1 数据库管理系统 数据管理系统( d b m s ) 是用描述、管理和维护数据库的程序系统,是数据库系统 的核心组成部分,它建立在操作系统的基础上,对数据库进行统一的管理和控制。其主要 功能有: 1 ) 2 ) 3 ) 4 ) 描述数据库:描述数据库的逻辑结构、存储结构、语义信息和保密要求等。 管理数据库:控制整个数据库系统的运行,控制用户的并发性访问,检验 数据的安全、保密与完整性,执行数据的检索、插入、删除、修改等操作。 维护数据库:控制数据库初始数据的装入,记录日志,监视数据库性能, 修改更新数据库,重新组织数据库,恢复出现故障的数据库。 数据通信t 组织数据的传输。 2 1 2 数据库系统设计 在软件需求分析阶段,搞清楚了软件“做什么 的问题,形成了目标系统的逻辑模 型。现在我们所要做的就是要把软件“做什么 的逻辑模型变换为“怎么做 的物理模 型,即着手实现软件的需求。首先,我们需要描述的是系统的总的体系结构 5 基于s 姒一l 安全认证的题库管理系统 ( 1 ) 数据库模块设计:系统的概要设计中最重要的就是系统模块化设计。模块化是指解 决一个复杂问题时自项向下逐层把软件系统划分成若干个模块的过程。每个模块完成一个 特定的功能,所有的模块按某种方法组织起来,成为一个整体,完成整个系统所要求的功 能。将系统划分为多个模块是为了降低软件系统的复杂性,提高可读性、可维护性,但模 块的划分不能是任意的,应尽量保持其独立性。也就是说,每个模块只完成系统要求的独 立的子功能,并且与其他模块的联系最少且接口简单,提高模块的独立性,为设计高质量 的软件结构奠定基础。 ( 2 ) 数据表设计:数据表的设计是指设计数据库中表的结构,数据表的逻辑结构包括: 属性名称,类型、表示形式、缺省值、是否关键字、可否为空等。关系型数据库要尽量按 关系规范化要求进行数据库设计,数据表设计不仅要满足数据存储的要求,还要增加一些 如反映有关信息、中间数据的字段或临时数据表。 ( 3 ) 存储设备和存储空间组织:确定数据的存放地点、存储路径、存储设备等,备份方案, 对多版本如何保证一致性和数据的完整性。 ( 4 ) 数据使用权限设置:针对用户的不同使用要求,确定数据的用户使用权限,确保数据 完全。 2 1 3 数据库设计范式分析 建立起一个良好的数据指标体系,是建立数据结构和数据库的最重要的一环。一个良 好的数据指标体系是建立d b 的必要条件,但不是充分条件。我们完全可以认为所建指标 体系中的一个指标类就是关系数据库中的一个基本表,而这个指标类下面的一个个具体指 标就是这个基本表中的一个字段。但如果直接按照这种方式建库显然还不能算最佳。对于 指标体系中数据的结构在建库前还必须进行规范化的重新组织。 在数据的规范化表达中,一般将一组相互关联的数据称为一个关系( r e l a t i o n ) ,而在这 个关系下的每个数据指标项则被称为数据元素( d a t ae l e m e n t ) ,这种关系落实到具体数据库 上就是基本表,而数据元素就是基本表中的一个字段( f i e l d ) 。规范化表达还规定在每一个 基本表中必须定义一个数据元素为关键字( k e y ) ,它可以唯一地标识出该表中其它相关的 数据元素。在规范化理论中表是二维的,它有如下四个性质: ( 1 ) 在表中的任意- - n 上,数据项应属于同一个属性 ( 2 ) 表中所有行都是不相同的,不允许有重复组项出现 ( 3 ) 在表中,行的顺序无关紧要 6 基于s h a 一1 安全认证的题库管理系统 ( 4 ) 在表中,列的顺序无关紧要,但不能重复 在对表的形式进行了规范化定义后,数据结构还有五种规范化定义,定名为规范化模 式,称为范式。在这五种范式中,一般只用前三种,对于常用系统就足够了。而且这五种 范式是“向上兼容的,即满足第五范式的数据结构自动满足一、二、三、四范式,满足 第四范式的数据结构自动满足第一、二、三范式,依此类推。 第一范式( f i r s tn o r m a lf o r m ,简称1 s tn f ) 就是指在同一表中没有重复项出现,如果有 则应将重复项去掉。这个去掉重复项的过程就称之为规范化处理。在本文所讨论的开发方 法里,1 s tn f 实际上是没有什么意义的。因为我们按规范化建立的指标体系和表的过程都 自动保证了所有表都满足1 s tn f 。 第二范式( s e c o n dn o r m a lf o r m ,简称2 n dn f ) 是指每个表必须有一个( 而且仅一个) 数据 元素为主关键字( p r i m a r yk e y ) ,其它数据元素与主关键字一一对应。通常我们称这种关系 为函数依赖( f u n c t i o n a ld e p e n d e n c e ) 关系。即表中其它数据元素都依赖于主关键字,或称该 数据元素唯一地被主关键字所标识。 第三范式( t h i r dn o r m a lf o r m ,简称3 r dn f ) 就是指表中的所有数据元素不但要能够唯 一地被主关键字所标识,而且它们之间还必须相互独立,不存在其它的函数关系。也就是 说对于一个满足了2 n dn f 的数据结构来说,表中有可能存在某些数据元素依赖于其它非 关键宇数据元素的现象,必须加以消除。 为防止数据库出现更新异常、插入异常、删除异常、数据冗余太大等现象,关系型数 据库要尽量按关系规范化要求进行数据库设计。 2 2 数据库开发工具 d e l p h i 类可以粗略地分成两部分:一部分是组件类,这些组件类通常以某种方式出现 在组件面板上,当用户从组件面板上点取一个类的图标后,在程序中就自动生成了该类的 对象( 非可视组件除外) ;另一部分是功能类,这些功能类的对象通常出现在程序代码中, 起着不可代替的作用,但是这些功能类在组件面板上是找不到的。在d e l p h i 中,每一个 类的祖先都是t o b j e c t 类,整个类的层次结构就像一棵倒挂的树,在最顶层的树根即为 t o b j e c t 类。这样,按照面向对象编程的基本思想,就使得用户可用t o b j e c t 类这个类型代 替任何其它类的数据类型。实际上在d e l p h i 的类库中,t o b j e c t 类派生出了为数相当众多 的子类,它们形成了一个庞大的体系,通常情况下,如果不自行开发组件,就不必了解整 个类的体系结构,只用到类层次树的叶结点就足够了。 7 基于s 卧一l 安全认证的题库管理系统 2 2 1 d e l p h i7 0 具体特点 d e l p h i 具有以下的特性:基于窗体和面向对象的方法,高速的编译器,强大的数据库 支持,与w i n d o w s 编程紧密结合,强大而成熟的组件技术。d e l p h i 提供了各种开发工具, 包括集成环境、图像编辑( i m a g ee d i t o r ) ,以及各种开发数据库的应用程序,如 d e s k t o p d a t a b a s ee x p e r t 等。除此之外,还允许用户挂接其它的应用程序开发工具,如 b o r l a n d 公司的资源编辑器( r e s o u r s ew o r k s h o p ) 。 在d e l p h i 众多的优势当中,它在数据库方面的特长显得尤为突出:适应于多种数据 库结构,从客户机服务机模式到多层数据结构模式:高效率的数据库管理系统和新一代 更先进的数据库引擎;最新的数据分析手段和提供大量的企业组件 2 2 2 基本数据库组件 用d e l p h i7 0 开发数据库应用,重点是和各种数据库组件打交道,数据集是一组离散 的数据记录的集合。 在d e l p h i 中,数据集有3 种表现形式:表,查询,存储过程;3 种形式的数据集分别 用t t a b l e ,t q u e r y , t s t o r e d p r o c 来操纵。而t t a b l e ,t q u e r y , t s t o r e d p r o c 的直接上级是 t d b d a t a s e t ,t d b d a t a s e t 而是从t d b e d a t a s e t 派生的,而t d b e d a t a s e t 又是从t d a t a s e t 派生的。这些数据集间的继承关系如图1 所示 图1 :数据集的关系 8 基于s h a l 安全认证的题库管理系统 t d a t a s o u c e 对象用于在d a t a s e t 对象( 包括t t a b l e ,t q u e r y , t s t o r e d t h o c ) 和数据感知组 件之间提供一个连接的纽带,以便在窗体上显示数据库中的数据,在数据库中导航定位与 编辑数据集中的数据。 数据感知组件负责数据库的显示,并把用户对数据的修改传回。这里面的绝大多数 组件,如d b e d i t ,d b t e x t ,d b m e m o ,d b c o m b o b o x 等的功能和对应的非数据感知组件相同。 结合自己的系统,我使用了以下的数据库应用的逻辑三层的结构:如图2 所示: 图2 :逻辑三层结构 2 2 3d e l p h i7 0 的一些控件 ( 1 ) 数据控制类d a t a c o n t r o l ( 2 ) 数据访问类d a t a a c c e s s 2 3 在d e l p h i 中通过b d e 连接数据库 2 3 1b d e 概述 要开发数据库应用程序首先要解决数据源的问题,那么什么是数据源昵? 简单来讲数 据源就是实实在在的数据,通常是各种数据表。有了数据源我们就有了开发程序的依据, 然而一般情况下应用程序并不能直接和数据源打交道,必须通过某些中介,这些中介被称 9 基于s h a l 安全认证的题库管理系统 为数据库驱动器,通常每一种数据库都有至少一种数据库驱动器,如:a c c e s s ,f o x p r o ,d b a s e 等数据库都有自己的数据库驱动器,有了这些数据库驱动器,为了编程的方便起见,接着 就产生了管理这些数据库驱动器的引擎,有了数据库引擎,程序员在编程时就不要为访问 不同的数据库驱动来费脑经了,只要按照统一的方法访问数据库引擎,而让数据库引擎去 完成不同数据库驱动器的转换,数据库引擎就像一个公共接口,为访问数据库提供了统一 的方法 b d e 是( b o r l a n dd a t a b a s ee n g i n e ) b o r l a n d 数据库引擎的缩写,它不仅能访问本地的不 同数据库,还可以将应用从本地上传到客户机一服务器系统,而且有很高的效率 b d e 能访问的数据分两类: 一:本地数据。 二:客户机服务器体系的异地数据 2 4s q l 语言在d e l p h i 中的运用 在d e l p h i 中使用s q l 语言非常方便,一般来说,都是通过t q u e r y 组件来使用s q l 语言的。可以在t q u e r y 组件的s q l 属性中设置s q l 语句。设计程序时,在该组件的属 性对话框中选择s q l 属性,单击带省略号的按钮,就可以打开s t r i n gl i s te d i t o r 对话框, 然后我们就可以在对话框中添加s q l 语句。还可以使用d e l p h i 的s q lb u i l d e r 来自动生 成s q l 语句,这样可以避免手工编写s q l 而可能造成的语法错误。静态s q l 语句在程 序设计时便已固定下来,它不包含任何参数和变量。动态s q l 语句,也被称作参数化的 语句,在其中间包含着表示字段名或表名的参数,例如下面的语句是一条动态s q l 语句: s e l e c t 宰f r o muw h e r ei d = :i d ; 其中的变量i d 便是一个参数变量,它由一个冒号引导,在程序运行过程中,必须要为该 参数赋值,该条s q l 语句才能正确执行,每次运行应用程序时可以为该参数变量赋予不 同的值。为参数赋值有三种方法: 根据参数在s q l 语句中出现的顺序,设置t q u e r y 部件的p a r a m s 属性值为参数赋值。 直接根据s q l 语句中各参数的名字,调用p a r a m b y n a m e 方法来为各参数赋值。 将t q u e r y 部件的d a t a s o u r c e 属性设置为另一个数据源,这样将另一个数据源中与当 前t q u e r y 部件的s q l 语句中的参数名相匹配的字段值赋给其对应的参数。利用这种 方法也能实现所谓的连接查询,创建主要明细型数据库应用。 在程序运行过程中,要想设置t q u e r y 部件的s q l 属性,必须首先调用c l o s e 方法, l o 基于s h a 一1 安全认证的题库管理系统 关闭t q u e r y 部件,然后再调用c l e a r 方法清除s q l 属性中现存的s q l 命令语句, 最后 再调用a d d 方法为s q l 属性设置新的s q l 命令语句。例如: q u e r y l c l o s e 关闭q u e r y l ) q u e r y l s q l c l e a r 清除s q l 属性中的s q l 命令语句) q u e r y l s q l a d d ( s e l e c t 幸f r o mu ) ; q u e r y l s q l a d d ( w h e r en a m e = ”g r n d ”) ; 在为t q u e r y 部件设置s q l 属性时调用c l o s e 方法总是很安全的,如果t q u e r y 部件已经 被关闭了,调用c l o s e 方法时不会产生任何影响。在应用程序中为s q l 属性设置新的s q l 命令语句时,必须要调用c l e a r 方法以清除s q l 属性中现存的s q l 命令语句,如果不调 用c l e a r 方法,便调用a d d 方法向s q l 属性中设置s q l 命令语句,那么新设置的s q l 命令语句会追加在现存s q l 命令语句后面,在程序运行时常常会出现出乎意料的查询结 果甚至程序无法运行下去。在这里要特别注意的,一般情况下t q u e r y 部件的s q l 属性只 能包含一条完整的s q l 语句,它不允许被设置成多条s q l 语句。当然有些数据库服务器 也支持在t q u e r y 部件的s q l 属性中设置多条s q l 语句,只要数据库服务器允许这样, 我们在编程时可以为s q l 属性设置多条s q l 语句。在为t q u e r y 部件设置完s q l 属性 的属性值之后,也即编写好适当的s q l 程序之后,可以有多种方式来执行s q l 程序。在 设计过程中,设置完t q u e r y 部件的s q l 属性之后将其a c t i v e 属性的值置为t r u e ,这样 便可以执行s q l 属性中的s q l 程序,如果应用中有与t q u e r y 部件相连的数据浏览部件 ( 如t d d g r i d t d b e d i t 等) 那么在这些数据浏览部件中会显示s q l 程序的执行结果。 在应用程序运行过程中,通过程序调用t q u e r y 部件的o p e n 方法或e x e c s q l 方法可 以执行其s q l 属性中的s q l 程序。o p e n 方法和e x e c s q l 方法是不一样的。o p e n 方法只 能用来执行s q l 语言的查询语句( s e l e c t 命令) ,并返回一个查询结果集,而e x e c s q l 方 法还可以用来执行其它常用的s q l 语句( 如i n s e r t , u p d a t e ,d e l e t e 等命令) ,例如: q u e r y l o p e n ( 这样会返回一个查洵结果集) ,如果调用o p e n 方法,而没有查询结果时,会 出错。此时应该调用e x e c s q l 方法来代替o p e n 方法。如:q u e r y l e x e c s q l ( 没有返回结 果) ,当然在设计应用程序时,程序设计人员是无法确定t q u e r y 部件中的s q l 语句是否 会返回个查询结果的。对于这种情况应当用t r y e x c e p t 模块来设计程序。在t r y 部 分调用o p e n 方法,而在e x c e p t 部分调用e x c e s q l 方法,这样才能保证程序的正确运行。 d e l p h i 中用a d o q u e r y 来使用s q l 语句同样十分方便。在a d o q u e r y 组件中首先 通过c o n n e c t i o n s t r i n g 属性值来联接数据源,然后就通过双击s q l 属性值来写入s q l 基于s i t a 一1 安全认证的题库管理系统 语句。在d e l p h i 中调用数据库,就可以调用a d o q u e r y 组件,通过修改其中的s q l 属 性中的s q l 语句来实现对数据库的各项操作。值得注意的是,a d o q u e r y 组件只有在激 活的情况下才可以被正确地使用,这样就提出了一个问题,也就是说,在每次修改 a d o q u e r y 组件的s q l 属性时都必须先行进行关闭,待清除掉s q l 中所有的s q l 语 句后才可以添加新的s q l 语句。而且,在每一次修改完成以后,还应该记得重新将 a d o q u e r y 激活。其它的使用方法与t t q u e r y 有许多的相似之处。 2 5s q ls e r v e r2 0 0 0 简介 微软的s q ls e r v e r2 0 0 0 界面友好,易学易用且功能强大,与w i n d o w s2 0 0 0 操作系 统完美结合,可以构造网络环境数据库甚至分布式数据库,可以满足企业及i n t e m e t 等大 型数据库应用。以下简单介绍它的功能特性: 1 实现了客户机服务器模式 客户机服务器( c s ) 模式数据库计算是一种分布式的数据存储、访问和处理技术, 它已成为大多数企业计算的标准。m i c r o s o f ts q ls e r v e r 是客户服务器系统应用的完美 的例子。 2 与i n t e m e t 集成 s q l s e r v e r2 0 0 0 数据库引擎提供完整的x m i 支持。具备构造大型w 曲站点的数据 存储组件所需的可伸缩性、可用性和安全性。 3 具备很强的可伸缩性和可用性 s q ls e r v e r2 0 0 0 包含企业版、标准版、开发版和个人版等4 个版本,使同一个数据 库引擎可以在不同的操作系统平台上使用,从运行w i n d o w s9 x 的便携式电脑,到运行 w i n d o w s 2 0 0 0d a t ac e n t e rs e r v e r 的大型多处理器的服务器。增强的图形用户界面管理工 具,使管理更加方便。 4 具备企业级数据库功能 s q ls e r v e r2 0 0 0 关系型数据库引擎支持当今苛刻的数据处理环境所需的功能,可同 时管理上千个并发数据库用户,其分布式查询使用户可以引用来自不同数据源的数据,同 时具备分布式事务处理系统,保障分布式数据更新的完整性。 5 易于安装、部署和使用 s q ls e r v e r2 0 0 0 的安装向导可帮助用户方便地实现各种方式的安装,如网络远程安 装、多实例安装、升级安装和无人职守安装等。s q ls e r v e r2 0 0 0 还提供了一些管理开发 基于s h a l 安全认证的题库管理系统 工具,使用户可以快速开发应用程序。 6 数据仓库功能 企业在正常的业务运作过程中需要收集各种数据,包含企业的动态历史记录,数据仓 库的目的是合并和组织这些数据,以便可对其进行分析并用来支持业务决策。数据仓库是 一种高级、复杂的技术。m i c r o s o f ts q ls e r v e r2 0 0 0 提供的强大工具,可帮助您完成创建、 使用和维护数据仓库的任务。如:数据转换服务、复制、a n a l y s i ss e r v i c e s 、e n g l i s hq u e r y 。 和m e t a d a t as e r v i c e s 等。 s q ls e r v e r2 0 0 0 的安全性管理是建立在认证( a u t h e n t i c a t i o n ) 和访问许可 ( p e r m i s s i o n ) 两者机制上的认证,是用来确定登录s q ls e r v e r 的用户的登录账号和密码 是否正确,以此来验证其是否具有连接s q ls e r v e r 的权限。但是,通过认证阶段并不代 表能够访问s q ls e r v e r 中的数据,用户只有在获取访问数据库的权限之后,才能够对服 务器上的数据库进行权限许可下的各种操作( 主要是针对数据库对象,如表、视图、存储 过程等) ,这种用户访问数据库权限的设置是通过用户账号来实现的。同时在s q ls e r v e r 中,角色作为用户组的代替物大大地简化了安全性管理,所以在s q ls e r v e r 的安全模型 中包括以下几部分: a s q ls e r v e r 登录 b 数据库用户c 权限d 角色 m ss q ls e r v e r 能在两种安全模式下运行: a w 心d o w s 认证模式b 混合模式 w i n d o w s 认证模式 s q ls e r v e r 数据库系统通常运行在n t 服务器平台或基于n t 构架的w i n d o w s 2 0 0 0 上,而n t 作为网络操作系统,本身就具备管理登录,验证用户合法性的能力,所 以w n d o w s 认证模式正是利用这一用户安全性和账号管理的机制,允许s q ls e r v e r 也可以使用n t 的用户名和口令。在该模式下,用户只要通过w 小d o w s 的认证就可连 接到s q ls e r v e r ,而s q ls e r v e r 本身也没有必要管理一套登录数据。 w i n d o w s 认证模式比起s q ls e r v e r 认证模式【4 】来有许多优点,原因在于 w n d o w s 认证模式集成了n t 或w i n d o w s2 0 0 0 的安全系统,并且n t 安全管理具 有众多特征,如安全合法性,口令加密,对密码最小长度进行限制等。所以当用户试图登 录到s q ls e r v e r 时,它从n t 或w n d o w s2 0 0 0 的网络安全属性中获取登录用户的账 号与密码,并使用n t 或w i n d w o s2 0 0 0 验证账号和密码的机制来检验登录的合法性, 1 3 基于s h a l 安全认证的题库管理系统 从而提高了s q ls e r v e r 的安全性。在w i n d o w sn t 中使用了用户组,所以当使用 w i n d o w s 认证时,我们总是把用户归入一定的n t 用户组,以便当在s q l s e r v e r 中对 n t 用户组进行数据库访问权限设置时,能够把这种权限设置传递给单一用户,而且当新 增加一个登录用户时,也总把它归入某一n t 用户组,这种方法可以使用户更为方便地 加入到系统中,并消除了逐一为每一个用户进行数据库访问权限设置而带来的不必要的工 作量。 混合认证模式 在混合认证模式下,w i n d o w s 认证和s q ls e r v e r 认证这两种认证模式都是可用 的。n t 的用户既可以使用n t 认证,也可以使用s q ls e r v e r 认证。前面已经介绍了 w i n d o w s
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论