触发器在电子商务系统中的应用

点赞:18573 浏览:82809 近期更新时间:2024-01-27 作者:网友分享原创网站原创

摘 要:详细分析了触发器的概念、分类及工作过程,在此基础上,以电子商务系统为例设计了SQLServer2008系统下的触发器.结论证明,在应用系统中合理的使用触发器不仅能够保证数据的完整性和一致性,同时可以实现复杂的业务逻辑,提高系统的执行效率.

关 键 词:触发器SQLServer电子商务系统

一、触发器相关知识

(一)触发器的概念

触发器可以称为一种特殊类型的存储过程,与存储过程不同的是,它是在执行语言事件时被自动激活执行,而存储过程必须通过用户或应用程序显式的调用才能执行.触发器除了可以实现与数据库约束相类似的不同表中相关数据的引用完整性与一致性以外,还可以强制实施复杂的业务逻辑,如:复杂的跨多表的数据业务级别的约束,在数据库应用系统中可以替代大量的后台判断代码,从而提高程序的执行效率.

(二)触发器的分类

按照触发事件的不同,可以把SQLServer2008系统提供的触发器分成两大类型,即DDL触发器和DML触发器.DDL触发器是当怎么写作器或数据库中发生数据定义语言(DDL)事件,如CREATE、ALTER、DROP数据库对象等操作时执行的触发器;DML触发器是当数据库怎么写作器中发生数据操纵语言(DML)事件,如INSERT、UPDATE、DELETE时执行的触发器[1].

按照激活触发器的操作语句的不同,可将DML触发器具体分成3种类型:INSERT触发器、UPDATE触发器和DELETE触发器,当向表中插入数据、更新数据或删除数据时激活相应类型的触发器,当然,这三种触发器也可以组合使用.(注意:因为SELECT语句并没有修改表中的数据,所以SELECT语句不能激活触发器.)

(三)触发器的工作过程

SQLServer2008为每个触发器创建两个临时表:INSERTED表和DELETED表,它们存在于内存中.这两个表的结构与被触发器作用的表的结构相同,触发器执行后,这两个临时表也会被删除.两个表存放的数据如表1所示[2].

触发器在电子商务系统中的应用参考属性评定
有关论文范文主题研究: 关于电子商务系统的论文范本 大学生适用: 函授毕业论文、学校学生论文
相关参考文献下载数量: 75 写作解决问题: 怎么撰写
毕业论文开题报告: 标准论文格式、论文目录 职称论文适用: 期刊目录、中级职称
所属大学生专业类别: 怎么撰写 论文题目推荐度: 优秀选题

二、触发器在电子商务系统中的应用

电子商务系统简介

电子商务系统基于浏览器/怎么写作器应用方式,该系统下写卖双方可以在不谋面的情况下即能进行各种商贸活动,实现消费者的网上购物、商户之间的网上交易和在线电子支付等各种业务活动[3].电子商务系统可以实现用户浏览商品、查询商品、将商品放入购物车、下订单、管理员管理商品、管理订单和系统管理等功能.

电子商务系统中触发器的设计

通过分析发现,该业务需要同时完成4个操作:向订单表中插入新订单信息、向订单明细表中插入新订单的详情、为对应的用户增加积分值、修改相应商品的库存量和销售量.为了简化应用程序的操作,在此使用存储过程完成向订单表中插入新订单信息的操作(该操作省略),为订单明细表创建INSERT触发器,当向订单明细表中插入新订单的详情时同时完成用户积分的修改、对应商品库存数量和销售量的修改操作.


根据业务分析,需要在订单明细表上创建INSERT触发器,代码如下:

CREATETRIGGERTR_INSERT_ORDERDETAILS

ON订单明细表

AFTERINSERT

AS

BEGIN

DECLARE@用户varchar(20),@商品编号varchar(30),@商品数量int,

@积分int

SELECT@用户等于用户,@商品编号等于商品编号,

@商品数量等于商品数量,@积分等于积分

FROMINSERTED

UPDATE用户表SET总积分等于总积分+@积分WHERE用户等于@用户

UPDATE库存表SET销售量等于销售量+@商品数量,库存量等于库存量-@商品数量WHERE商品编号等于@商品编号

END

三、结论

通过在电子商务系统中使用触发器来完成负责的业务逻辑,使得数据库的设计更合理,同时提高了应用系统的执行效率.但同时也要认识到,过多的使用触发器将会增加应用系统内部结构的复杂性,加大各个业务的关联,导致系统维护的难度.因此,在应用系统开发中,要依据实际需求,合理的设计和使用触发器,使其发挥应有的作用.