SQLSERVER中利用触发器保证数据完整性

2019-10-21 18:47先虹伶
大众科学·中旬 2019年10期
关键词:触发器完整性数据

先虹伶

摘 要:在本研究中针对sql server登录触发器技术进行分析,并将其运用于高校教务管理系统中,表明该登陆触发器信息输入可实现数据完整性维护,具有良好的应用效果,希望能给相关工作人员提供帮助。

关键词:SQLSERVER;触发器;数据;完整性

近年来随着信息技术的发展,以及高校不断深入开展教学改革,其教学管理方面逐渐实现变革,随近年来推行学分制使高校教务管理工作日益复杂,因此对于高校教务管理来说,纷纷逐渐采用教务管理系统,在该系统中学生课程是重要数据,也是贯穿排课,选课,教学计划,成绩,基本信息等多项管理活动,是与教务系统中所有子系统具有一定联系的,就目前高校所使用的教学管理系统来说可实现日常教学管理功能,但由于在系统设计过程上存在一些缺陷,导致后期在数据库完整性维护方面存在一些难度。比如现有系统中对于学生学习管理以及选课数据是无关联性的数据表,当学生退学时其学习信息发生变动将会删除基本信息,但与其相关的选课数据仍在另一数据库中,导致内部数据出现不一致,最终该学生所选课程成绩无法提交。目前对于教务管理系统来说,无法解决数据完整性的问题,尤其对于教务管理人员来说需要避免出现数据不一致的问题,因此在本研究中提出登录触发器以解决数据完整性。

1登录触发器

数据完整性从一定程度上也是指数据库中的数据有效性,正确性,可防止数据库存在语义不符合规定的数据,或者系统输入输出无效信息,在数据库中数据完整性主要包括参照、实体、用户自定义完整性,当数据完整性存在问题时,可以借助登录触发器进行技术检测。触发器是通过事件触发而实现自动执行的程序,可用于确保数据完整性,是基于表实现创建或多个数据修改的相关联,在指定表中当数据发生变化,可以自动生成。当用户对数据表进行修改删除时,该触发器可自动执行功能,因此触发器能够从一定程度上确保表实施完整性约束,其保护数据发生变化时会自动激活,防止出现数据的错误修改,在数据库中按照事件不同,可将发起分为ddl和dml触发器,其中后者是目前数据库发生数据语言,使触发器被触发执行,目前主要运用于修改数据,强制执行业务以及数据完整性检查中,而前者前者是在数据库或者服务器出现语义语音事件时可以被调用,结合触发时机可将其分为after和instead of触发器,前者是指操作完成执行之后触发,而后者是在操作被执行前触发并能够用于替代这种操作,结合触发方式触发器分为update,insert,delete型触发器,在应用触发器时通常设计两个表,包括delete和insert的表,在向表中进行数据插入,更新时会触发insert,触发器执行功能,新的记录能够直接插入到相应的Excel表中,以及触发器中delete表可用于保存已经删除的数据记录,当触发delete触发器时能够在第2列表中存放删除记录,修改记录实际上是与插入记录相同的,同时进行旧记录的删除,当定义update触发器表修改时,表中原始数据会移动到delete表,经过修改之后将所有的数据插入到insert的表,这两个表是与被触发表具有相似结构的,在系统中储存无法实现数据修改,但用户可以引用数据表,当触发器执行时两个表也会被系统自动删除,在触发器创建过程中需要制定下列内容,触发器的名称基于表、视图种类激活的修改语句,执行语句可以利用sql语句进行触发器的创建,具体格式如下。

2教务管理系统中登录触发器设计流程

对于目前的教务管理系统来说,可将其分为选课管理,学籍管理,成绩,排课管理系统在不同的子系统中,比如学籍管理系统学籍发生变动,对于数据完整性具有严格要求,变动学习会影响学生的选课数据成绩,如果仅依靠人为方式进行数据变动,则会使工作人员面临较大的工作量,而且很容易出现错误,如果依靠程序调用sql语句时会出现浪费系统资源的问题,增加设计难度,引入触发器之后,学习变动可触发相应的选课成绩数据实现自动更新,在这一过程中可以在数据库服务器上完成提升系统运行性能,比如以学生退学作为研究对象,在整个管理系统中需要删除相应学习信息,在没有触发器使用的情况下,能够分别对学生成绩表信息表删除对应信息记录,这种操作能夠确保数据完整性,同时引入这种触发器之后,管理人员只需要删除信息表信息便可以自动删除相应的子系统中的详细记录,简化流程操作,同时还能够从一定程度上确保数据的完整性。

在数据库中通常会存在多个关联表操作,进一步能够阐明触发器确保数据完整性的使用应用,在数据库程序设计中经常会遇到一个数据表操作,同时还会关联多个数据表,确保数据表的数据完整性,一致性,通常采用的数据表包括存储用户信息表,存储大版块信息表,回复信息表等。在具体使用触发器时需要进行需求分析,之后构建触发器,执行触发器流程,进而能够使数据库中的各个关联表记录保持一致,该过程是数据库自动完成的。

3触发器实现分析

在本研究中我们以学生数据管理作为研究对象,进一步说明教务系统中登录出触发器的设计和具体实现流程。比如某学生课程成绩分别对应的内容,包括学号,姓名,性别,专业,班级,出生年月,籍贯;课程编号,名称类型,学时,学分;学号,成绩,课程编号等。如果出现学生退学,则管理人员需要及时删除相对应表中的信息记录,同时还需要在成绩表中删除选课记录,确保数据的一致性完整性,构建触发器代码如下。

当出现学号变更时,此时的管理任务需要修改学生表的学号,并修改选课表学号,确保数据的一致性完整性,具体的触发器代码建立如下所示。

当新开设必修课时,在课本中插入对应的课程信息后,还需要向成绩表中插入相关记录,可实现成绩自动填充,确保数据的一致性完整性,触发器构建代码如下所示。

当前在高校教务管理过程中,为确保数据的完整性和一致性,在系统设计开发时,需要了解目前教务系统对于数据操作的相关规则,能够合理进行触发器的设计,确保数据完整性。

小结

在本研究中以某教务管理系统数据完整性约束作为研究对象进行深入分析,结合教务管理工作特点,能够对系统典型触发器进行设计,通过sqls server数据库实现确保数据完整性,这对于教务管理系统人员来说是十分重要的,能够确保数系统实现高效运行,提升系统的安全性,可靠性,在教务系统中利用这种登录触发器可解决典型问题,该方法可被运用于其他数据库的运行维护中。

参考文献

[1]赵辉, 陆冷飞. SQL Server触发器在保持数据库完整性中的应用[J]. 电脑开发与应用, 2007, 20(3):43-45.

[2]王军弟, 刘瑞玲. SQL Server中约束与触发器差异比较[J]. 电脑与信息技术, 2011(02):79-81.

[3]沈晨鸣. 基于SQL SERVER触发器技术的实现[J]. 江苏广播电视大学学报, 2002, 13(3).

猜你喜欢
触发器完整性数据
酶可提高家禽的胃肠道完整性和生产性能
防止调度自动化系统漏监视告警的一些措施
配置触发器有条件启动Windows服务
基于Multisim14.0的双D触发器应用与仿真
触发器在酒店管理系统中的应用
公路工程试验检测存在的问题及措施
一种借助数据处理构建的智能食堂管理系统
浅谈计量自动化系统实现预购电管理应用
基于电路原理的触发器波形分析
谈书法作品的完整性与用字的准确性