APP下载

基于网络数据库的存储过程和触发器应用研究

2019-09-10邹佛新

电子商务 2019年2期
关键词:触发器

邹佛新

摘要:存储过程和触发器都是存储在数据库中的一段程序,用户可以调用程序完成某种操作,将前台程序和后台程序分开设计,简化了系统设计的过程。本文简单概述了存储过程与触发器的特点,并根据这些特点将其应用在某书城电子图书会员购物系统,取得了良好的效果。

关键词:网络数据库;存储过程;触发器

引言

随着互联网的发展,计算机信息技术广泛应用在社会各个行业。在信息化过程中,每天产生海量的数据库,数据库的管理已经成为企事业单位发展的重要内容。数据库应用系统开发过程中,只考虑应用系统的工作流程和功能,忽视了系统的性能,导致系统应用过程中出现兼容性能差,很容易出现系统崩溃或者无法操作等问题,严重影响到软件系统的应用效果。因此,通过在操作程序中添加数据存储过程和触发器,可以有效提高软件运行效率,方便书城的管理。

1、存储过程与触发器的概述

1.1 存储过程概念

数据库存储过程中指为了实现某一项特定任务,并一组编译的好SQL语句存储在服务器中,可供用户直接或者间接调用,也可以作为参数被传递或者修改,或者嵌套使用。存储过程分为自带存储过程、扩展存储过程以及自定义存储过程三种。其中自带存储过程是一种特殊的管理存储过程,主要用于系统管理;扩展存储过程指在编程语言创建新外部存例程;自定义存储过程指用户根据自身实际需求,自定义封装可重用代码的模块,让模块可以接收输入参数修改、添加或者调用数据定义语言,并将数据操纵语言参数返回。和传统的数据查询方式相比,存储过程中具有以下优点:第一,安全性更高。存储过程只给访问用户存储过程的权限,用户没有访问表和视图的权限。第二,提高了执行的效率。存储过程将第一次执行进行编译时,将编译好的代码保持在高速缓冲中,用户可随时调用,按照模块化的设计模式,这样大大提高了代码执行效率。如果服务器数据发生变化,只需要修改存储过程中的相关语句,不需要修改程序,则大大减少了程序修改的过程。第三,存储过程直接将编译好的程序存储在服务器上,使用者只需要向服务器发送请求执行存储过程的指令,服务器自动执行存储过程中所有的程序,并将结果返回。这样减少了用户服务端向服务器发送执行指令的数量,从而减少网络数据的传输量,也就减少了网络流量。

1.2 觸发器概念

触发器是一种特殊类型的存储过程,它与一般的存储过程不同,它的主要目的是给程序员或者数据分析员提供相对完整数据的一种方法。它与报表联系紧密,如果表需要执行添加、删除、修改等指令时,触发器程序自动启动维护数据完整性,而不需要人工或者程序调用,而是根据事件触发。如果需要对insert表进行操作,则触发器会自动启动。触发器主要用于数据完整性约束和业务规则制定方面的应用。触发器分为DML触发器、DDL触发器、登录触发器。其中DML触发器指的数据库数据表格出现变化,如果数据表格具有相应的DML触发器,则触发器自动执行并约束数据表格强制执行业务规则;DDL触发器主要用来审核和规范数据库中的表格删除、修改、添加等指令,如果数据库结构发生变化,需要记录数据库修改过程,并限制程序员修改某些制定表中的数据信息;登录触发器则是为了响应LOGIN事件激发存储过程,用户在登录过程会自动激发,如果用户登录失败,则不会激发登录触发器。触发器与存储过程相比,触发器可以通过数据数据库中相关表实现级联修改,触发器还可以用强制比CHECK约束定义对数据库中的规则进行约束,如果触发器使用另外一个表格插入数据库中,并更新数据信息,这个时候如果插入数据信息不符合业务规则,则会显示用户自定义信息错误。此外,数据库还可以评估数据修改以后的状态,并根据数据库变化采取相应的对策。虽然触发器拥有强大的功能,可以实现对数据库信息的修改、添加,但是如果随意使用触发器,则可能增加数据库以及应用程序的维护管理难度,导致数据库结构越来越复杂。

综上所述,可以发现存储过程和触发器两者具有以下优点:第一,存储过程和触发器在应用前,需要程序员进行编译,编译好以后存储在服务器中。这样避免了服务器与用户端不断进行数据交换,降低了数据传输的网络流量,提高了整各程序的运行效率。第二,存储过程和触发器存储在用户经常需要使用的服务器,可以简化客户端程序,提高应用程序开发效率。第三,存储过程的程序直接编译存储在服务器上,使用者只需要向服务器发送请求执行存储过程的指令,服务器自动执行存储过程中所有的程序,并将结果返回。这样减少了用户服务端向服务器发送执行指令的数量,从而减少网络数据的传输量,也就减少了网络流量。第四,如果数据库中的数据信息发生了变化,只需要简单修改存储过程的语句,而不需要修改应用程序。第五,触发器制定了相应的业务规则和约束条件,可以防止程序员或者使用者随意修改数据库中的数据信息,确保数据信息的完整性和安全性。将存储过程和触发器应用在网络数据库中,可以充分发挥存储过程和触发器的优势,更好地管理数据库和应用程序。比如将存储过程和触发器应用在高压电器实验室新站检测数据传输系统,该系统主要有服务器、客户机以及数据库构成,实验室将新站测检测的数据信息发送给数据库服务器,服务器接受实验室发送的数据信息并对其进行分析,服务器可以接收多个新站用户的检测数据信息,并对所有的数据信息进行管理。这种结构模式,可以将服务器和用户端分开进行处理,但是又可以实现共同管理的需求。其次,这种系统具有很好的扩展性,可以根据实验室的业务和用户增长量,适当扩大服务器的容量。

2、基于网络数据库的存储过程和触发器应用

2.1 项目概述

某书城用SQL Server软件开发了书城购物管理系统,通过购物管理系统,大大提高书城的管理效率,方便了读者通过管理系统在网上自动下单购买书籍,从而降低降低了整个书城工作人员的工作量。然而在实际运行过程中,发现该购物系统还存在一定的缺陷。书城在引进新的书籍以后,需要将数据信息插入到购物管理系统的图书信息列表中。具体操作方法如下:管理人员通过INSERT INEO……VALUES这样的语句来实现书籍信息的录入,这种操作方式非常复杂,一定程度上降低了工作人员的录入速度。如果在录入新书籍信息过程中,通过编写存储过程,则录入新书书籍信息的时候,只需要给出相应的参数就可以自动调阅存储过程。如果输入的书籍信息是原来的图书信息列表中没有的,在录入过程中,图书管理人员需要在图书馆管理系统中搜索这个编号的图书,如果管理人员需要搜索的书籍信息比较多,则一定程度上增加了图书管理人员的工作量。在操作的时候,很容易输入错误的数据信息。如果在录入信息过程中插入一个触发器,直接插入到图书馆图书信息管理列表中,列表信息则可以自动搜索系统中是否存在相关编码,这样极大的提高了书城信息管理系统效率。

2.2 基于网络存储过程和触发器的设计方案

2.2.1 设计存储过程和触发器

每个星期、每个月或者每一个季度,图书市场上会增加很多新出版的图书。为了方便网上书城的管理,图书管理人员需要将新的图书信息插入到原来的图书管理系统中,将存储过程应用在图书馆列表信息插入环节,图书馆工作人员将新添加的数据列表信息插入到管理系统的服务器,服务器自动对数据信息进行处理。这种方式可以避免频繁操作系统,提高图书管理人员的工作效率。其具体存储过程如下图:

由于网上书城的图书信息比较多,为了避免插入图书编码出现相同的情况,可以在管理系统中添加触发器,图书馆工作人员将图书编码插入到网络书城图书信息管理列表中,会自动触發器程序,触发器自动检查图书信息表中是否存在同样的图书编号,如果存在这个图书编号,则可以直接插入到图书列表中,如果不存在则触发器拒绝插入,这样可以防止图书信息表中插入相同的图书信息编码,影响到会员购书效率。

2.2.2 书城购书系统设计

以某书城的购书系统为例,将存储过程和触发器应用在购书系统,可以避免了图书管理人员在信息录入过程中存在重复录入等现象。该书城购书系统主要内容有图书信息、图书类别信息、会员信息、购书信息、活动信息等内容,其中图书信息主要包括图书名称、图书作者、出版时间、出版社信息、图书价格、库存量等信息;会员信息则包括会员名称、会员密码、会员电话、联系地址等基本信息;会员购书信息包括会员号、图书编号、购买书名以及购买数量等;活动信息则主要包括活动图书、活动促销优惠价格等内容。由于用户购书信息系统涉及的图书信息比较多,新进书籍录入的时候,不需要使用INSERT INEO……VALUES SQL语言进行输入,而需要创建一个存储过程,按照图书录入信息情况,设置相关参数,工作人员在输入图书信息的时候,只需要输入阐述,就可以直接插入新书的数据信息,这样避免人工输入的繁琐。读者登录到书城的网上购物系统以后,需要注册购物网站的会员以后,才能在网站上购买书籍。用户登录到网上书城以后,输入用户名以后,系统需要验证会员信息是否存在,并给出相关的提示让用户进行下一步操作。在这个环节需要创建存储过程.并设置相关的参数,考虑到购书系统的实际情况,需要设置两种参数,一种针对会员,另外一种针对游客,也就是非会员,用户登录购书系统,可以快速验证会员输入的信息是否真实有效。管理人员将新引进的图书录入到图书信息列表中,操作人员没有保存相关信息,导致图书信息列表中无法搜索到这本图书,用户购买的时候,无法搜索到相关图书,从而影响到书城的销售。所以,在这个环节需要添加触发器,在管理系统中添加触发器,图书馆购书系统中插入图书信息后,刷新以后再次搜索图书列表信息,如果图书列表信息中有这本图书信息,则表示插入成功,如果没有则表示插入失败,需要重新插入。

网上图书商城每天在运营过程中会产生大量的数据信息,在管理过程中,一些会员可能提出申请退出或者会员号码已经过期等现象,这个时候需要将数据库删除这个会员的个人基本信息和购买图书信息,从而保证数据库的完整。如果一项一项删除会员数据信息,则一定程度上增加了管理人员的工作量。在这个过程中,在会员管理信息列表中安装删除触发器,管理人员只需要删除会员信息表中这个会员的数据信息,触发器会自动删除该会员相关数据信息,确保整个图书购书系统会员信息的完整性,有利于书城加强会员管理。通过这样的方式,很容易解决会员到期以及退出等问题,从而确保整个网上商城会员信息数据的完整性。

结束语

将存储过程和触发器应用在网上商城,将数据库信息进行批量处理,提高整个客户端应用程序访问数据库的效率和降低程度操作复杂性,应用在书城的网上商城效果比较明显,可以推广到其他网络数据库建设。

参考文献:

[l]沈黎.基于网络数据库的存储过程和触发器应用研究[J].西南师范大学学报(自然科学版),2016,(3):51-55.

[2]计系统在医院HIS数据库中的应用[J].新教育时代电子杂志(教师版),2014,(16):293.

[3]庞中强,一种基于数据库中间件和HTML5的智能家居控制软件系统[D].郑州大学,2015.

猜你喜欢

触发器
基于触发器消抖电路应用与教学研究
配置触发器有条件启动Windows服务
基于Multisim14.0的双D触发器应用与仿真
高中通用技术元器件教学优化策略探析
家庭影院智能化第一步
触发器在酒店管理系统中的应用
SQL Server数据库中触发器的应用研究
触发器逻辑功能转换的运用
预学单——引导数学先学的“触发器”
提高SQL Server数据库安全性的几点思考