如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
触发器技术在电子商务系统开发中的应用摘要:在数据库系统的开发和应用过程中,数据完整性是衡量系统性能的重要标准之一。触发器作为数据库软件中的一个重要工具,能够在表中数据发生变化时,自动触发完成相关操作来保证数据的完整性。文章研究了在sqlserver环境下,如何通过设计合理的触发器,实现电子商务系统中数据的完整性。abstract:inthedevelopmentandapplicationprocessofthedatabasesystem,dataintegrityisoneoftheimportantstandardstomeasuresystemperformance.asanimportanttoolindatabasesoftware,triggerscanensuretheintegrityofdatawhenthetablechanges.thisarticleresearcheshowtodesignreasonabletriggertorealizethedataintegrityofe-commercemanagementsystemunderthesqlserverenvironment.关键词:触发器;电子商务;sqlkeywords:triggers;electroniccommerce;sql0引言在互联网经济环境下,电子商务已经成为社会经济最具活力的有机组成部分,越来越多的上市企业、商家加入电子商务领域。2012年3月,在工业和信息化部发布的《电子商务“十二五”规划》中,指出电子商务是“企业降低成本、提高效率、拓展市场和创新经营模式的有效手段”。在电子商务系统的开发过程中,保证数据库中数据的完整性和安全性是一项非常重要的任务。在当今电子商务系统普遍使用的关系数据库中,普通的check约束等能够实现一些基本的数据完整性,而对于一些复杂的完整性操作,使用触发器是最佳的选择[1]。本文以电子商务系统webshop为例,研究了在sqlserver2005环境下,如何通过触发器技术实现数据库中数据的完整性。1触发器概述触发器是一种特殊类型的存储过程,它在指定的表中数据发生变化时自动生效[2]。触发器在调用时自动执行insert、update、delete和select语句,实现表间的数据完整性和复杂的业务规则。触发器主要有如下优点:强化约束,实现比check约束所定义的更为复杂的约束;跟踪变化,限制不允许数据库中未经许可的指定更新和变化;级联运行,通过侦测数据库内的操作,自动的级联影响整个数据库的相关内容。在sqlserver2005中,根据触发事件不同分为dml触发器和ddl触发器两类。1.1dml触发器dml触发器是当数据库服务器中发生数据操作语言(dml)事件时要执行的操作[3]。dml触发器用于在数据库修改时强制执行业务规则。根据触发器语句执行的时机,dml触发器分为alter触发器和insteadof触发器。after触发器先执行insert、update或delete操作,之后执行触发器语句;insteadof触发器在insert、update或delete语句运行时使用触发器语句代替。1.2ddl触发器ddl触发器是sqlserver2005的新增功能,当数据库服务器中发生数据定义语言(ddl)事件时自动执行该触发器,一般用于数据库中的执行管理任务。与dml触发器不同的是,ddl触发器不会由表或视图的update、insert、和delete语句激发,而是由create、alter和drop等ddl语句激发。2触发器在电子商务系统开发中的应用下面以电子商务系统webshop为例,研究触发器在保证数据的完整性、级联操作等方面的应用。webshop数据库主要包含以下表:商品表(goods)、客户表(customers)、订单表(orders)、支付表(payment)、员工表(employee)。本例中主要涉及的商品表、订单表结构如表1、表2所示(只包含主要字段):2.1用触发器保证数据的完整性应用1:在电子商务系统数据库webshop中,实现生成订单,即往订单表(orders)中即插入订单记录时,进行如下数据完整性检查:如果插入的订单中的商品的商品号g_id不存在或者下达订单的会员号c_id不存在,必须取消订单插入操作,并返回一条错误信息。分析:此应用涉及多个表中的字段,使用普通约束无法实现。因此,在订单表(orders)中创建触发器,获取新订单中的商品编号和会员编号,并和商品表和客户信息表中的相关字段进行对比,若新订单中的商品编号或会员编号在被参照表中不存在,则通过一个事务回滚(rollbacktransact