【毕业设计论文】触发器技术在电子商务系统开发中的应用

上传人:zhuma****mei1 文档编号:53709752 上传时间:2018-09-04 格式:DOC 页数:7 大小:31.02KB
返回 下载 相关 举报
【毕业设计论文】触发器技术在电子商务系统开发中的应用_第1页
第1页 / 共7页
【毕业设计论文】触发器技术在电子商务系统开发中的应用_第2页
第2页 / 共7页
【毕业设计论文】触发器技术在电子商务系统开发中的应用_第3页
第3页 / 共7页
【毕业设计论文】触发器技术在电子商务系统开发中的应用_第4页
第4页 / 共7页
【毕业设计论文】触发器技术在电子商务系统开发中的应用_第5页
第5页 / 共7页
点击查看更多>>
资源描述

《【毕业设计论文】触发器技术在电子商务系统开发中的应用》由会员分享,可在线阅读,更多相关《【毕业设计论文】触发器技术在电子商务系统开发中的应用(7页珍藏版)》请在金锄头文库上搜索。

1、w触发器技术在电子商务系统开发中的应用触发器技术在电子商务系统开发中的应用摘要: 在数据库系统的开发和应用过程中,数据完整性是衡量系统性能的重要标准之一。触发器作为数据库软件中的一个重要工具,能够在表中数据发生变化时,自动触发完成相关操作来保证数据的完整性。文章研究了在 sql server 环境下,如何通过设计合理的触发器,实现电子商务系统中数据的完整性。abstract: in the development and application process of the database system, data integrity is one of the important stan

2、dards to measure system performance. as an important tool in database software, triggers can ensure the integrity of data when the table changes. this article researches how to design reasonable trigger to realize the data integrity of e-commerce management system under the sql server environment.关键

3、词: 触发器;电子商务;sqlkey words: triggers;electronic commerce;sql0 引言在互联网经济环境下,电子商务已经成为社会经济最具活力的有机组成部分,越来越多的上市企业、商家加入电子商务领域。2012 年 3 月,在工业和信息化部发布的电子商务“十二五”规划中,指出电子商务是“企业降低成本、提高效率、拓展市场和创新经营模式的有效手段” 。w在电子商务系统的开发过程中,保证数据库中数据的完整性和安全性是一项非常重要的任务。在当今电子商务系统普遍使用的关系数据库中,普通的 check 约束等能够实现一些基本的数据完整性,而对于一些复杂的完整性操作,使用触发

4、器是最佳的选择1。本文以电子商务系统 webshop 为例,研究了在 sql server 2005 环境下,如何通过触发器技术实现数据库中数据的完整性。1 触发器概述触发器是一种特殊类型的存储过程,它在指定的表中数据发生变化时自动生效2。触发器在调用时自动执行insert、update、delete 和 select 语句,实现表间的数据完整性和复杂的业务规则。触发器主要有如下优点:强化约束,实现比 check 约束所定义的更为复杂的约束;跟踪变化,限制不允许数据库中未经许可的指定更新和变化;级联运行,通过侦测数据库内的操作,自动的级联影响整个数据库的相关内容。在 sql server200

5、5 中,根据触发事件不同分为 dml 触发器和ddl 触发器两类。1.1 dml 触发器dml 触发器是当数据库服务器中发生数据操作语言(dml)事件时要执行的操作3。dml 触发器用于在数据库修改时强制执行业务规则。根据触发器语句执行的时机,dml 触发器分为 alter 触发器和 instead of 触发器。after 触发器先执行 insert、updatew或 delete 操作,之后执行触发器语句;instead of 触发器在insert、update 或 delete 语句运行时使用触发器语句代替。1.2 ddl 触发器ddl 触发器是 sql server2005 的新增功能

6、,当数据库服务器中发生数据定义语言(ddl)事件时自动执行该触发器,一般用于数据库中的执行管理任务。与 dml 触发器不同的是,ddl 触发器不会由表或视图的 update、insert、和 delete 语句激发,而是由create、alter 和 drop 等 ddl 语句激发。2 触发器在电子商务系统开发中的应用下面以电子商务系统 webshop 为例,研究触发器在保证数据的完整性、级联操作等方面的应用。webshop 数据库主要包含以下表:商品表(goods) 、客户表(customers) 、订单表(orders) 、支付表(payment) 、员工表(employee) 。本例中主

7、要涉及的商品表、订单表结构如表 1、表2 所示(只包含主要字段):2.1 用触发器保证数据的完整性 应用 1:在电子商务系统数据库 webshop 中,实现生成订单,即往订单表(orders)中即插入订单记录时,进行如下数据完整性检查:如果插入的订单中的商品的商品号 g_id 不存在或者下达订单的会员号 c_id 不存在,必须取消订单插入操作,并返回一条错误信息。分析:此应用涉及多个表中的字段,使用普通约束无法实现。因此,在订单表(orders)中创建触发器,获取新订单中的商品w编号和会员编号,并和商品表和客户信息表中的相关字段进行对比,若新订单中的商品编号或会员编号在被参照表中不存在,则通过

8、一个事务回滚(rollback transaction)撤销插入,并给出错误信息。创建触发器代码如下:create trigger tr_addorder on orders for insert,updateasdeclare g_no char(6) -商品编号-获取新订单的商品编号select g_no=goods.g_idfrom goods,insertedwhere goods.g_id=inserted.g_idif g_no is null or c_no is nullbeginrollback transactionraiserror(不存在这样的商品不存在!)end在订单

9、表中插入一行新数据,可以验证触发器:insert into orders values(201206301012, c0001,010110,2012-06-30)w由于商品编号 010110 不存在,所以显示“不存在这样的商品!”2.2 用触发器实现数据库中相关表的级联更新应用 2:在电子商务系统中,当订单生成,订单表(orders)中添加订单记录成功时,商品表(goods)中该商品的数量应该同时减少。分析:此应用涉及订单表(orders)和商品表(goods)中的商品数量字段 g_number,在订单表(orders)中创建触发器,用于侦测 orders 表中数据的变化,若 orders

10、表中添加一条记录,则goods 表中 g_number 字段进行减 1 的操作。触发器代码如下:create trigger tr_change on orders for insertasbeginupdate goodsset g_number= g_number -1 where g_id=(select g_id from inserted)end在 order 表中插入一条记录,验证触发器的执行,结果如图 1、图 2 所示:insert into orders values(201206301012, c0001,010001,2012-06-w30)2.3 用触发器实现复杂的约束

11、触发器除了能够实现数据库中表的级联更新,实现数据的完整性外,还能够实现比 check 约束更为复杂的操作,从而保证事物的一致性。基本的 check 约束能够保证数据库中的数据满足约束。但对于约束不满足时,程序进行如何操作,则需要通过触发器来实现。应用 3:例如向商品表(goods)中添加商品信息时,要求商品价格大于零,若不满足条件,给出一个用户定义的错误提示。create trigger goods_check on goods for insert,updateasdeclare g_price floatselect g_price=inserted.g_priceif g_price=0

12、beginrollback transactionraiserror(对不起,商品价格必须大于零,请从新输入!)end验证触发器过程如下:执行 insert into goods values(010005,平板电脑 ,0,5),由于输入的价格为零,系统会提示“对不起,商品价格必须大于零,请从新输入!” 。3 结语w通过触发器在电子商务系统中的实际应用可以证明,电子商务系统开发过程中,合理的触发器设计能够实现比 check 约束更为复杂的数据完整性,使数据库的设计更加高效。然而,如果系统中使用过多的触发器,在并发情况下会使系统内部变得更加复杂,更加难以维护4。因此,在电子商务系统开发过程中,应该根据实际情况,合理使用触发器,并与其他约束、存储过程配合使用,这样才能够使系统功能变得更加完善。参考文献:1任治斌,刘静触发器在大型信息管理系统开发中的应用j内蒙古师范大学学报(自然科学汉文版) ,2011(9) 2刘志成,宁云智数据库系统原理与应用m机械工业出版社,2010(1) 3朱小娟触发器在高校工资管理系统中的应用j合作经济与科技,2012(3) 4白杨sql 触发器在系统开发中的应用j软件开发与设计,2012(1)

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 学术论文 > 毕业论文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号