基于高校教务管理系统中课程数据完整性问题探讨.doc_第1页
基于高校教务管理系统中课程数据完整性问题探讨.doc_第2页
基于高校教务管理系统中课程数据完整性问题探讨.doc_第3页
基于高校教务管理系统中课程数据完整性问题探讨.doc_第4页
基于高校教务管理系统中课程数据完整性问题探讨.doc_第5页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

基于高校教务管理系统中课程数据完整性问题探讨论文关键词:教务管理系统 课程 数据管理 数据完整性 论文摘 要:课程作为教务管理系统中最重要的基础数据,其完整性对整个系统的数据管理质量和运行效果影响重大。本文针对课程数据完整性的有关问题,诠释了课程数据完整性的基本内涵,探究了课程数据完整性受到破坏的主要原因,并提出了保证课程数据完整性的一些对策。 一、问题的提出 随着现代网络信息技术的发展和高校教学改革的不断深入,尤其是学分制的推行,应用教务管理系统已成为高校教学管理的必然选择。在教务管理系统中课程是最重要的基础数据,贯穿教学计划、排课、选课、考试、成绩、教材、毕业审查等各个管理过程,几乎与教务系统中所有子系统存在密切的关联。课程数据管理用来维护全校的课程信息,包括添加课程、删除课程、修改课程属性等,以建立课程基础数据库,供其它子系统引用。课程数据管理的科学、合理、正确与否,直接影响着教务管理系统的运行效果,对整个系统应用的成败至关重要。1 以某教务管理系统为例,通过对该系统用户的调查看到,高校在课程数据管理中存在着诸多数据异常错误或问题,主要表现在: 一是重复设课。在课程库中对实属同一门课程(课程名、学分、课程类型等属性均相同)而设置了多个课程号,直接的后果造成在分年级、分专业教学计划中对同一课程引用了不同的课程号,从而导致教学运行环节中课程安排、学生选课、课程重修、考试安排、毕业审查等管理工作经常出现重复课程,需要进行课程替换或合并等杂乱情况; 二是课程信息维护不完全或不准确。对课程数据的一些关键属性,比如课程类型、学分、学时等,没有全面维护或维护不准确,导致其它子系统对课程引用发生偏差或错误,比如学时不正确会引起任务书录入不准确而直接影响排课结果; 三是成绩库中出现一课多学分并存或已修学分发生变化。课程管理员随意修改课程库中的课程学分,而成绩子系统对课程学分刷新或记载存在不同步的差异,导致成绩库中一门课程出现多学分并存或已修学分发生变化的学分不一致的情况,对学生毕业审查结果影响极大; 四是数据表中出现无课程号数据。在教学计划、成绩、教学任务书等数据表中莫名出现有数据但无课程号的情况,这种情况是由于对课程库删除了被引用的课程导致,造成其它数据表中产生垃圾数据或异常错误。 种种问题的出现,造成教务管理系统中课程数据混乱或异常错误,严重影响着教务管理系统数据的准确性和系统运行效果。笔者认为,产生这些问题的主要根源在于高校对课程数据管理存在一定程度的随意性、盲目性,无论是系统控制还是业务规则都缺乏对课程数据完整性的约束。由此,我们针对课程数据完整性有关问题进行探讨。 二、课程数据完整性的涵义与约束 数据完整性是指数据库中数据的正确性和一致性,它是防止数据库中存在不符合语义规定的数据和防止因错误信息的输入输出造成无效操作或连带错误而提出的。它有两方面的涵义:数据取值的正确性,即字段列值必须符合数据的取值范围、类型和精度的规定,数据合法、有效、准确,符合业务规则;相关数据的一致性,即相关表的联系字段的列值匹配,要求在相关表中表示同一个事实的数据取值应相同。2 保证数据完整性是应用系统设计的基本要求,数据完整性实施的好坏关系到系统数据的正确性、一致性和可靠性,关系到系统的成败。 数据完整性约束一般包括三类:34 1.实体完整性 实体完整性约束的目的是确保数据库中所有实体的唯一性,也就是不应使用完全相同的数据记录。实体完整性要求一个关系或表中主码的属性不能取空值,也不能有重复值,即一个元组(关系表中的一行或一条记录)表示唯一的实体对象。所谓“空值”就是“不知道”或“无意义”的值。例如课程信息表“课程(课程号,课程名,学分)”中,“课程号”为主码,则“课程号”不能取空值或不唯一。如果主码取空值或元组不唯一,就会存在某个不可标识的实体,或存在歧义性,这与客观应用环境相矛盾,说明这个实体一定不是一个完整的实体。因此,保证课程数据实体完整性必须做到课程设置时课程号不能保存空值;课程号不能重复;同一门课程不能设置两个或两个以上课程号。 2引用完整性 引用完整性也称为参照完整性,是指在引用关系中外码的取值或者是空值或者是取被引用关系中某个元组的主码值。引用完整性是用来维护相关数据表之间数据一致性的手段,通过实现引用完整性,可以避免因一个数据表的记录改变而使另一个数据表内的数据变成无效的值。例如现有两个关系模式: 成绩(学号,姓名,课程号,课程名,成绩,学分) 和课程(课程号,课程名,学分)。成绩关系中的主码是“学号”,“课程号”是其中的一个基本属性,但它是课程关系中的主码,那么成绩关系中的“课程号”就是外码,外码的取值或为空或为被引用关系中的某个元组的主码值。 保证课程数据引用完整性要注意几个问题: 一是外码是否可以接受空值。外码能否为空是依赖于应用环境的,如上述成绩关系中的外码“课程号”不能为空,如果有空,说明学生不知选修了哪门课程,这与学校的应用环境不符。 二是删除课程元组时的考虑。有时想要删除课程库中一个元组,但存在引用关系中(计划、成绩等)若干元组的外码值与被删除的被引用关系中的元组主码值相对应,这时要进行级联删除,即将引用关系中的所有外码值与被引用关系中要删除元组主码值相对应的元组一起删除,如果引用关系同时又是另一个关系的被引用关系则这种级联删除应该级联下去。 三是修改课程属性时的考虑。有时需要修改课程元组的某些属性,比如课程号、课程名等,遇到这种情况时,做法同删除被引用关系的元组类似,要做级联修改,即修改被引用关系中元组属性值的同时,用相同的方法修改引用关系中响应的元组属性。 应注意的是,级联删除、级联修改是很危险的,可能涉及不同的业务管理范围,需经各方面的确认。一般情况如果一门课程被其它数据表引用,就应该禁止修改关键属性和删除数据。如中途修改学分,无论做不做级联修改都会造成成绩库中前后学分不一致的情况,就违反了数据引用完整性的原则。 3用户自定义完整性 任何关系数据库系统都应该支持实体完整性和引用完整性。除此之外,不同的关系数据库系统根据其应用环境的不同,往往还需要一些特殊的约束条件,用户定义的完整性就是用户根据实际应用中的需要自行规定数据应该满足的必需条件。常用的有域完整性约束,域完整性是指定一个表中某一属性(列)的输入有效性、正确性的限制,包括数据类型、取值范围、格式、精度以及是否允许取空值等。例如课程信息表中的学分、学时设定必须为数值型;课程名、课程类型、学时、学分规定不能取空值等,以保证数据库中数据不能包含任何无意义或者不合理的值。此外,还有函数依赖约束、统计约束等。 三、课程数据完整性受到破坏的原因 通过分析课程数据管理中存在的问题可以发现,造成课程数据完整性受到破坏既存在系统功能不完善的原因,也存在人为操作不当的因素。 1.在客观上存在系统功能性的欠缺 该教务管理系统已提供了一些数据完整性的约束机制,但仍然存在严重缺陷,不能有效保障课程数据的完整性、可靠性。潜在的功能缺陷有: 一是缺少数据录入时的完整性检验。目前,系统除了对课程号录入时具有 “不能为空”的检验外,并未对课程其它必要属性做出“不能为空”的定义。基于域完整性的考虑,在添加数据时系统应通过程序控制确定课程必填项目,比如学时、学分、开课单位、课程类型等。 二是缺少对数据修改、删除操作的检验和级联处理。根据引用完整性的要求,课程数据一经被其它表引用,有些属性就是“不可变”的,而该教务系统在进行课程数据修改和删除时没有对该数据进行引用检验,更没有级联修改和删除的功能。 由于应用系统软件功能缺陷使得用户日常处理中存在潜在风险,系统缺乏对用户操作的规范控制,就可能造成非法数据进入数据库,使数据完整性受到破坏就在所难免。 2.在主观上存在人为操作的随意性、盲目性 课程管理员在进行课程数据处理时,操作随意性大,对数据维护可能造成错误的“风险”意识不足,比如随意修改课程数据的学分、学时等关键属性;或随意删除课程数据;或数据信息维护不完整;或数据库管理员不经过应用程序,而通过数据库后台直接对数据库进行删除、修改和插入等操作,使得一些不符合缺省规则的数据进入数据库,破坏了数据的完整性,致使课程数据混乱或异常现象屡有发生。人为因素主要表现在“无章可依”、“有章不依”的状况。 首先,高校缺乏规范性操作标准和业务规则,管理人员不清楚或不知道操作规范。许多学校在使用教务系统时没有及时制定规范性的系统操作流程标准和数据标准,管理人员“不清楚”或“不知道”操作规范,形成“未知”错误,致使在增、删、改数据时忽视了数据的约束和限制,存在片面性、随意性。例如,在课程库中对同一课程设置了两个课程号,一旦教学计划中对两个课程号都进行了引用,就出现课程交叉使用的情况。 其次,工作责任心不强,防范意识淡薄,风险识别差。由于课程管理员缺乏计算机领域相关知识,不熟悉数据规范性、完整性要求,呈现风险识别能力差的现象;或者责任心不强,不遵守数据操作规范,造成在修改、删除数据时妄为操作,在添加数据时对其合法性、完整性未多加考虑,更没有及时发现操作中存在的错误,致使系统数据完整性不能得到保证,人为淡化了课程数据的完整性。 四、保证课程数据完整性的对策 在绝大多数情况下可以利用系统提供的数据完整性技术来保证数据的一致性,使得数据处于正确的状态,然而它并不是解决问题的全部,也难以避免人为因素,需要通过业务规则和操作规范进行控制。 1强化应用系统对数据完整性的控制是保障数据完整性最有效的手段 教务管理系统必须加强对课程数据完整性的控制。强化课程数据完整性可以利用Oracle数据库系统自身提供的完整性约束与触发器功能和应用程序执行完整性检验等方法来实现。5 应用系统应提供一些限制规则,这些规则规定用户在对数据库进行更新操作时,系统按照制定的规则检验操作的合法性,若不符合规则需进行相应的错误校验处理。限制规则可以分为三类:()完整性约束:它规定系统要检查什么样的错误,如添加数据不完整不能进行保存;()触发条件:它规定系统什么地方使用规则进行检查,比如修改数据学分属性时,如果课程已被其它表引用,程序触发“属性不可变”的校验检查;()违约响应:它规定系统如果检查出错误后应该进行怎样的处理,如删除数据应给予警告提示或不予处理。6 这些规则通过数据库定义或程序语句进行控制,从而使定义的规则自动起作用。 2建立业务规则是保证数据完整性的最重要保障 如果软件功能不能从源头上对数据质量进行控制,那么建立业务规则来强制数据完整性就成为最后的屏障。业务规则是对业务中某些定义和限制的描述,用于维持业务结构或控制和影响业务的行为。7 在这里,笔者主要强调课程编码规则和系统操作规范。 首先,要科学设置课程编码。课程是以课程代码进行标识的,课程代码必须保证同一门课程仅有一个唯一的代码,遵循同一性原则。目前,教务系统课程编码采取的是一级科目编码方式,未设置二级科目,那么,同一门课程就是指课程名称、学分、学时、课程类型相同的课程。在这方面教务系统只能限制课程号不能重复,而无法限制两个课程号表示同一门课程,需要在课程设置时通过业务规则来解决。 其次,要提高管理人员的责任意识,遵守操作规范。由于系统未做到或不能完全做到对数据进行完整性约束,因此,必须通过强化操作规范进行行为控制,避免随意性、盲目性人为错误的发生。在数据维护操作中要做到:在数据录入时,所有属性尽量维护完整、准确,对于课程号、课程名称、学分、学时、开课院系、课程性质等必要属性不能为“空”;在数据修改时,如果数据一经引用,对于不可变属性,比如学分,不能随意进行修改;在数据删除时,如果数据一经引用,就不能删除,如果确实需要变更,应先对引用处变更处理后再行删除。 五、结束语 保证数据完整性是管理系统设计的基

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论