?

觸發器在酒店管理系統中的應用

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的倉儲管理系統實現
如何搞定語句銜接題
對觸發器邏輯功能轉換的分析
觸發器邏輯功能轉換的兩種方法
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合