触发器在酒店管理系统中的应用

2018-11-26 09:32陈红艳
电脑知识与技术 2018年22期
关键词:触发器语句管理系统

陈红艳

摘要:该文主要介绍了 Microsoft SQLServer2008 数据库系统中的触发器的应用,着重阐述了触发器的作用、分类、编写、测试并给出了实例。

关键词:SQL Server 2008 ;数据库;触发器;insert;update

中图分类号:TP393 文献标识码:A 文章编号:1009-3044(2018)22-0001-02

1 引言

随着现代网络信息技术的发展和快捷酒店的兴起,信息化管理酒店方式的也发生了深刻而具体的变革,如何快速、准确、高校的完成日益繁杂的业务?因此酒店管理系统已成为众多酒店的必然选择。在酒店管理系统中客房、顾客、酒店收费项目是最重要的基础数据,贯穿顾客注册、入住、消费、退房等各个管理过程,几乎与酒店管理系统中所有子系统存在密切的关联 。

尽管目前使用的酒店管理系统能很好地实现日常最基本的入住管理功能,但由于系统设计上的缺陷,导致在维护数据库完整性方面存在困难.比如现行系统中顾客的账户余额与消费项目消费是独立的,导致可能会有顾客余额不足却也成功消费了其他娱乐项目。这就导致了酒店的损失,如何很好地解决这类数据完整性约束问题,作为酒店管理系统必须避免类似数据不一致情况的发生。在此提出采用触发器技术来解决这类数据完整性问题

2认识触发器

2.1 触发器的定义

Microsoft SQL Server 提供两种主要机制来强制使用业务规则和数据完整性:约束和触发器[1]。触发器为特殊类型的存储过程,可在执行语言事件时自动生效。SQL Server 包括三种常规类型的触发器:DML 触发器、DDL 触发器和登录触发器[2]触发器就是一种特殊的存储过程,它是在系统执行某些特定的T-SQL语句时自动执行的。一般触发器可分为语句触发器和对象触发器。当执行DML语句操作时成功时触发器生效的触发器称之为语句触发器。在SQLServer2008中,當用户对数据库(表)进行Create、Alter和Drop操作时,系统也会激活相应的触发器,这类触发器称之为DDL触发器(对象触发器)任何事物都不是尽善尽美的,触发器也不例外,由于触发器需要大量的代码来实现,因此运行触发器也会花费大量的时间,有时会影响到系统的运行速度。

2.2 准确设计触发器

一般地,设计触发器的过程包括用户需求分析、确定触发器的逻辑结构、编写触发器代码和测试触发器[3] ,下面结合具体实例,介绍设计触发器的一般步骤,最后,提供了该例子进一步完善的方法。

2.2.1客户需求

酒店管理系统中有顾客表(guest),记录着顾客的基本信息以及账户上的余额,另外有娱乐消费表,记录顾客消费明显,当顾客消费后,其账户金额必然要减少。

Guest表模式(gno,gname,gsex,gid,gtel,account,balance)

Roomstate表模式(rno,gno,atime,rtime,ltime,intoprice,days,flag)

2.2.2 确定触发器的逻辑结构

触发器由触发名、触发对象、触发事件和触发主体四部分组成。确定触发器的逻辑结构,就是确定触发器名称、触发对象、触发事件和触发主体。一般情况,触发名做到见其名知其义,接着确定触发器的对象,通过分析我们发现是入住时,客房状态改为1,所以触发对象是ROOMSTAE表;触发事件是成功的入住了,也就是当 ROOMSTATE表中insert了一条数据时,所以触发事件是insert;当退房时,结算反复房费,客房状态改为0,最后确定触发器主体做什么?

2.2.3编写触发器代码

2.2.4 测试触发器

触发器创建之后,在正式使用之前,应该对触发器进行测试。测试的目的是保证建立了正确的触发器,能够正常工作。首先测试插入数据的操作。下面是一组插入数据的例子,把这些数据插入到ROOMSTAE 表中。这些数据插入之后,会触发 tri_update触发器的执行。

3 结束语

本文重点以酒店管理系统为基础,阐述了DML触发器的创建思路及语法格式。将 INSERT、DELETE 和 UP-DATE 三个触发器合并到一起,提高了系统性能。

参考文献:

[1] 张峰,张莉莉.触发器在数据处理过程中的应用研究[J].计算机工程与科学,2008,30(5):156-158.

[2] 钟亚妹.触发器在 SQL Server 数据库开发中的应用与研究[J].电脑知识与技术,2011,7(11):2492-2494.

[3] Wu Dasheng,Wu Shengyu. Dynamically maintain the teaching examples of triggers and stored procedures about the course ofdatabase application[C]//2010 2nd International Conferenceon Education Technology and Computer (ICETC).[s.l.]:[s.n.],2010:525-527.

[4] 马俊,袁暋.SQL Server 2012数据库管理与开发(慕课版)[M].人民邮电出版社, 2016.

[5] 刘俊强.SQL Server 2008入门与提高(配光盘)(软件入门与提高丛书)[M].清华大学出版社,2014.

【通联编辑:光文玲】

猜你喜欢
触发器语句管理系统
基于James的院内邮件管理系统的实现
重点:语句衔接
基于LED联动显示的违停管理系统
主从JK触发器逻辑功能分析
海盾压载水管理系统
使用触发器,强化安全性
基于RFID的仓储管理系统实现
如何搞定语句衔接题
对触发器逻辑功能转换的分析
触发器逻辑功能转换的两种方法