国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

觸發(fā)器在酒店管理系統(tǒng)中的應(yīng)用

2018-11-26 09:32陳紅艷
電腦知識與技術(shù) 2018年22期
關(guān)鍵詞:觸發(fā)器語句管理系統(tǒng)

陳紅艷

摘要:該文主要介紹了 Microsoft SQLServer2008 數(shù)據(jù)庫系統(tǒng)中的觸發(fā)器的應(yīng)用,著重闡述了觸發(fā)器的作用、分類、編寫、測試并給出了實例。

關(guān)鍵詞:SQL Server 2008 ;數(shù)據(jù)庫;觸發(fā)器;insert;update

中圖分類號:TP393 文獻標(biāo)識碼:A 文章編號:1009-3044(2018)22-0001-02

1 引言

隨著現(xiàn)代網(wǎng)絡(luò)信息技術(shù)的發(fā)展和快捷酒店的興起,信息化管理酒店方式的也發(fā)生了深刻而具體的變革,如何快速、準(zhǔn)確、高校的完成日益繁雜的業(yè)務(wù)?因此酒店管理系統(tǒng)已成為眾多酒店的必然選擇。在酒店管理系統(tǒng)中客房、顧客、酒店收費項目是最重要的基礎(chǔ)數(shù)據(jù),貫穿顧客注冊、入住、消費、退房等各個管理過程,幾乎與酒店管理系統(tǒng)中所有子系統(tǒng)存在密切的關(guān)聯(lián) 。

盡管目前使用的酒店管理系統(tǒng)能很好地實現(xiàn)日常最基本的入住管理功能,但由于系統(tǒng)設(shè)計上的缺陷,導(dǎo)致在維護數(shù)據(jù)庫完整性方面存在困難.比如現(xiàn)行系統(tǒng)中顧客的賬戶余額與消費項目消費是獨立的,導(dǎo)致可能會有顧客余額不足卻也成功消費了其他娛樂項目。這就導(dǎo)致了酒店的損失,如何很好地解決這類數(shù)據(jù)完整性約束問題,作為酒店管理系統(tǒng)必須避免類似數(shù)據(jù)不一致情況的發(fā)生。在此提出采用觸發(fā)器技術(shù)來解決這類數(shù)據(jù)完整性問題

2認(rèn)識觸發(fā)器

2.1 觸發(fā)器的定義

Microsoft SQL Server 提供兩種主要機制來強制使用業(yè)務(wù)規(guī)則和數(shù)據(jù)完整性:約束和觸發(fā)器[1]。觸發(fā)器為特殊類型的存儲過程,可在執(zhí)行語言事件時自動生效。SQL Server 包括三種常規(guī)類型的觸發(fā)器:DML 觸發(fā)器、DDL 觸發(fā)器和登錄觸發(fā)器[2]觸發(fā)器就是一種特殊的存儲過程,它是在系統(tǒng)執(zhí)行某些特定的T-SQL語句時自動執(zhí)行的。一般觸發(fā)器可分為語句觸發(fā)器和對象觸發(fā)器。當(dāng)執(zhí)行DML語句操作時成功時觸發(fā)器生效的觸發(fā)器稱之為語句觸發(fā)器。在SQLServer2008中,當(dāng)用戶對數(shù)據(jù)庫(表)進行Create、Alter和Drop操作時,系統(tǒng)也會激活相應(yīng)的觸發(fā)器,這類觸發(fā)器稱之為DDL觸發(fā)器(對象觸發(fā)器)任何事物都不是盡善盡美的,觸發(fā)器也不例外,由于觸發(fā)器需要大量的代碼來實現(xiàn),因此運行觸發(fā)器也會花費大量的時間,有時會影響到系統(tǒng)的運行速度。

2.2 準(zhǔn)確設(shè)計觸發(fā)器

一般地,設(shè)計觸發(fā)器的過程包括用戶需求分析、確定觸發(fā)器的邏輯結(jié)構(gòu)、編寫觸發(fā)器代碼和測試觸發(fā)器[3] ,下面結(jié)合具體實例,介紹設(shè)計觸發(fā)器的一般步驟,最后,提供了該例子進一步完善的方法。

2.2.1客戶需求

酒店管理系統(tǒng)中有顧客表(guest),記錄著顧客的基本信息以及賬戶上的余額,另外有娛樂消費表,記錄顧客消費明顯,當(dāng)顧客消費后,其賬戶金額必然要減少。

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

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

2.2.2 確定觸發(fā)器的邏輯結(jié)構(gòu)

觸發(fā)器由觸發(fā)名、觸發(fā)對象、觸發(fā)事件和觸發(fā)主體四部分組成。確定觸發(fā)器的邏輯結(jié)構(gòu),就是確定觸發(fā)器名稱、觸發(fā)對象、觸發(fā)事件和觸發(fā)主體。一般情況,觸發(fā)名做到見其名知其義,接著確定觸發(fā)器的對象,通過分析我們發(fā)現(xiàn)是入住時,客房狀態(tài)改為1,所以觸發(fā)對象是ROOMSTAE表;觸發(fā)事件是成功的入住了,也就是當(dāng) ROOMSTATE表中insert了一條數(shù)據(jù)時,所以觸發(fā)事件是insert;當(dāng)退房時,結(jié)算反復(fù)房費,客房狀態(tài)改為0,最后確定觸發(fā)器主體做什么?

2.2.3編寫觸發(fā)器代碼

2.2.4 測試觸發(fā)器

觸發(fā)器創(chuàng)建之后,在正式使用之前,應(yīng)該對觸發(fā)器進行測試。測試的目的是保證建立了正確的觸發(fā)器,能夠正常工作。首先測試插入數(shù)據(jù)的操作。下面是一組插入數(shù)據(jù)的例子,把這些數(shù)據(jù)插入到ROOMSTAE 表中。這些數(shù)據(jù)插入之后,會觸發(fā) tri_update觸發(fā)器的執(zhí)行。

3 結(jié)束語

本文重點以酒店管理系統(tǒng)為基礎(chǔ),闡述了DML觸發(fā)器的創(chuàng)建思路及語法格式。將 INSERT、DELETE 和 UP-DATE 三個觸發(fā)器合并到一起,提高了系統(tǒng)性能。

參考文獻:

[1] 張峰,張莉莉.觸發(fā)器在數(shù)據(jù)處理過程中的應(yīng)用研究[J].計算機工程與科學(xué),2008,30(5):156-158.

[2] 鐘亞妹.觸發(fā)器在 SQL Server 數(shù)據(jù)庫開發(fā)中的應(yīng)用與研究[J].電腦知識與技術(shù),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數(shù)據(jù)庫管理與開發(fā)(慕課版)[M].人民郵電出版社, 2016.

[5] 劉俊強.SQL Server 2008入門與提高(配光盤)(軟件入門與提高叢書)[M].清華大學(xué)出版社,2014.

【通聯(lián)編輯:光文玲】

猜你喜歡
觸發(fā)器語句管理系統(tǒng)
基于James的院內(nèi)郵件管理系統(tǒng)的實現(xiàn)
重點:語句銜接
基于LED聯(lián)動顯示的違停管理系統(tǒng)
主從JK觸發(fā)器邏輯功能分析
海盾壓載水管理系統(tǒng)
使用觸發(fā)器,強化安全性
基于RFID的倉儲管理系統(tǒng)實現(xiàn)
如何搞定語句銜接題
對觸發(fā)器邏輯功能轉(zhuǎn)換的分析
觸發(fā)器邏輯功能轉(zhuǎn)換的兩種方法