999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

數據庫觸發器技術在Web軟件中的應用

2011-05-17 09:08:54魏權利李麗萍
網絡安全與數據管理 2011年9期
關鍵詞:銷售數據庫

魏權利,李麗萍

(青島科技大學 信息學院,山東 青島 266061)

隨著Internet技術的迅速發展和信息共享需求的不斷提高,數據庫技術和Web技術的結合日趨緊密,在使用瀏覽器/服務器結構的網絡應用軟件開發時,充分利用觸發器等數據庫技術,可以避免在網絡上傳輸大量的無用信息,極大地提高系統工作效率。本文重點介紹了在健身房會員管理Web應用軟件中,觸發器技術的實際應用。

1 觸發器的工作原理

1.1 觸發器的功能

觸發器是存儲在數據庫中的獨立對象,是現代數據庫管理系統中,用于響應數據變化的一種機制,是實現數據維護規則的有效機制。它是一種實施復雜的完整性約束的特殊存儲過程,是經過預編譯的SQL語句的集合[1]。當對它所保護的數據進行操作(包括插入、刪除、更新)時可自動激活,防止對數據進行不正確的、未授權的或不一致的更改。在Web應用程序中使用觸發器技術,使相應的數據處理工作在數據庫服務器上完成。這可充分發揮數據庫服務器的功能,減少網絡上的堵塞,提高系統的運行效率。

1.2 觸發器的工作原理

在設計數據庫觸發器時,需要定義點火觸發器的數據表,并且運行時數據庫服務器還要為每個觸發器創建兩個臨時的專用邏輯表:inserted表和deleted表。這兩張臨時表由系統維護,用戶不能直接對其進行操作,存放在服務器的內存中。臨時表的數據結構與點火觸發器數據表的數據結構相同。當用戶對指定的數據表進行操作時,DBMS將自動執行在相應觸發器中的SQL語句。觸發器完成本次觸發任務后,這兩張臨時表即被刪除[2]。

inserted表由于存放的是執行insert或update語句,需要而向該觸發器作用的數據表(也可以是點火觸發器的數據表)中插入所有新行。在執行插入或更新數據表的同時,也將新的行添加到inserted表中。因此,inserted表的內容是激活觸發器的數據表中新行的拷貝。

deleted表由于存放的是執行delete語句,而要從該觸發器作用的數據表中刪除的所有行。在執行刪除操作時,被刪除的行從激活觸發器的數據表中被移動到deleted表中。因此deleted表的內容和激活觸發器的數據表不會有相同的行。

1.3 觸發器的使用

觸發器也是一個數據庫對象,它與三部分的內容有關:定義數據庫中用于點火觸發器的數據表(或視圖)、激活觸發器的數據操作語句和觸發器要采取的動作。

觸發器可以由Transact-SQL語句創建,也可以通過企業管理器創建。以Transact-SQL語句創建為例,使用CREATE TRIGGER語句,其語法格式如下:

CREATE TRIGGER trigger_name ON table

FOR[INSERT,UPDATE,DELETE]

ASSql_statement

其中:

trigger_name:給出了觸發器的名稱;

Table:定義觸發器的表(或視圖);

FOR[INSERT,UPDATE,DELETE]:說明了激活觸發器的數據操作語句;

Sql_statement:定義了觸發器要采取的動作。

一張表最多可以建立三類觸發器,即插入觸發器、修改觸發器和刪除觸發器。一張表可以允許建立多個觸發器,但一個觸發器只能作用于一張表上,但一個觸發器可以包含很多動作,執行很多功能。

2 觸發器技術在Web程序中的應用

在開發健身房會員管理系統Web應用軟件中,采用了觸發器技術。會員的管理通過會員卡的方式進行,根據健身房會員管理軟件的數據處理要求,在新會員卡表、會員卡表、會員刷卡明細表這三張數據表上設計完成特定功能的插入式觸發器。

2.1 新卡號生成觸發器(addno_trg)

新會員卡表(Me_NewCard_table)用于管理待銷售的各種類型的新會員卡,管理的數據字段包括卡類型、銷售方式、數量、開始和結束卡號等信息。為了動態生成結束卡號和8位數據字符的連續卡號,在該數據表上設計新卡號生成觸發器,功能設計思想是根據新會員卡表中提供的卡初始號和所需生成的會員卡數量動態生成結束卡號。其次,將開始和結束卡號做為while語句的循環控制條件動態地生成連續的卡號并插入到新會員卡號表(Me_NewCard_No_table)中,供會員卡銷售選號使用。當設置新會員卡頁面進行提交將表單數據插入數據庫時,該觸發器點火完成預定功能。當卡的數量較多時,使用觸發器技術便于管理,可有效減少錯誤。主要程序段如下:

2.2 會員卡銷售觸發器(Sell_trg)

會員卡表(MemberCard_Table表)用于管理已銷售的各種類型的會員卡,管理的數據包括會員和所購會員卡的信息。其中會員卡使用有效期字段需在會員購卡時生成。售卡時,頁面根據預銷售的卡類型,從新會員卡號表中查詢卡號數據并將結果綁定在Web服務器DropList控件上供用戶選擇。為了保證會員卡信息的一致性和完整性,建立會員卡銷售觸發器,設計思想是根據銷售的會員卡類型和銷售日期動態生成卡有效期,并添入會員卡表的有效期字段中。在觸發器定義的SQL語句中,根據所銷售的會員卡類型使用DATEADD函數,生成卡有效期。若是年卡,則在當前銷售時間上加一年;若是半年卡,則在銷售時間上加六個月;季卡、月卡同理。其次,從新會員卡設置表中刪除所銷售的相關會員卡卡號,以此保證卡號數據使用的唯一性。關鍵程序代碼如下:

2.3 會員卡有效期驗證觸發器(CheckCard_trg)

會員通過使用已購置的會員卡進行消費。在前臺辦理進入手續,通過刷卡操作,對所持會員卡進行有效期的驗證。會員刷卡明細表(Me_ConsumDetail_table)用于管理會員的消費信息,數據字段包括會員卡號、刷卡時間等信息。在該數據表上建立會員卡有效期驗證觸發器。其功能設計思想是:當會員刷卡消費時根據會員卡卡號查詢會員卡表,讀取該會員卡的卡類型、卡有效時間,獲取當前消費時間(Me_Consum_Date)等信息。頁面提交將上述數據插入到會員刷卡明細表時,該觸發器點火,執行檢查會員卡有效期的SQL語句,根據獲取的當前消費時間與卡有效時間進行比較。當大于有效期時,利用SQL Server提供的事務管理功能,通過事務控制語句rollback transaction取消此次刷卡消費,并調用raiserror函數拋出已過期異常信息。觸發器主要程序如下:

為了能夠捕獲并處理觸發器拋出的異常信息,在global.asax文件中的Application_Error事件中編寫出錯時處理事件程序,設計思想是使用ASP.NET的Server對象、GetLastError()方法獲取異常,用 Response對象向瀏覽器輸出使用javascript客戶端腳本語言編寫的提示信息,程序如下:

本設計完成的三個觸發器之間關系密切,新卡號生成觸發器點火觸發后,動態生成相關類型的結束卡號和保存在新會員卡號表中連續的卡號集合;當進行會員卡銷售時,從新會員卡號表中選定卡號,點火會員卡銷售觸發器,自動為選定的會員卡建立卡有效期(有效使用時間),同時從新會員卡號表中刪除該卡號;當會員使用會員卡刷卡消費時,會員卡有效期驗證觸發器點火觸發,完成有效期的驗證,如果過期,頁面彈出警告對話框。在健身房會員管理軟件中,使用數據庫觸發器技術,保證了會員卡信息從制卡、銷售到使用過程中數據的一致性和完整性。而且,這種一致性和完整性是實時和同步的,有效地提高了前臺工作人員的工作效率。軟件設計符合用戶要求,操作簡便,運行正常。

[1]崔巍.數據庫系統及應用[M].北京:高等教育出版社,2008.

[2]周漢平.數據庫設計及其應用程序開發[M].北京:清華大學出版社,2010.

猜你喜歡
銷售數據庫
這四個字決定銷售成敗
數據庫
財經(2017年15期)2017-07-03 22:40:49
數據庫
財經(2017年2期)2017-03-10 14:35:35
數據庫
財經(2016年15期)2016-06-03 07:38:02
數據庫
財經(2016年3期)2016-03-07 07:44:46
數據庫
財經(2016年6期)2016-02-24 07:41:51
數據庫
財經(2010年20期)2010-10-19 01:48:32
銷售統計
中國化妝品(2003年6期)2003-04-29 00:00:00
銷售統計
中國化妝品(2003年3期)2003-04-29 00:00:00
銷售統計
中國化妝品(2003年1期)2003-04-29 00:00:00
主站蜘蛛池模板: 色综合久久无码网| 国产小视频网站| 欧美a在线| 91精品专区国产盗摄| 亚洲国产欧美国产综合久久| 亚洲一级毛片免费看| 亚洲欧洲自拍拍偷午夜色无码| 亚洲第一页在线观看| 国产玖玖玖精品视频| 日韩精品专区免费无码aⅴ| 亚洲高清中文字幕| 久草网视频在线| 中文字幕人妻无码系列第三区| 国产高清在线丝袜精品一区| 老司机aⅴ在线精品导航| 国产真实二区一区在线亚洲| 丁香五月亚洲综合在线| 亚洲精品卡2卡3卡4卡5卡区| 免费无码AV片在线观看国产| 国产95在线 | 亚洲二三区| 99精品一区二区免费视频| 国产精品蜜臀| 色吊丝av中文字幕| 91九色视频网| 欧美人与性动交a欧美精品| 国产精品网曝门免费视频| 国产在线第二页| 92午夜福利影院一区二区三区| 国产成人精品午夜视频'| 亚洲欧美日韩视频一区| 青青操国产视频| 成人国产精品视频频| 伊人精品视频免费在线| 欧美日韩免费| 在线欧美国产| 麻豆精品国产自产在线| 亚洲欧美极品| 色天天综合久久久久综合片| 国产91无码福利在线| 日韩精品毛片人妻AV不卡| 国产免费黄| 黄色a一级视频| 人妻一本久道久久综合久久鬼色| 国产精品短篇二区| 久久这里只精品国产99热8| 亚洲AV无码乱码在线观看代蜜桃 | 亚洲天堂伊人| 国产福利小视频在线播放观看| 日本一本在线视频| 天堂岛国av无码免费无禁网站| 老司机久久99久久精品播放| 91啪在线| 欧美亚洲日韩中文| 久久亚洲美女精品国产精品| 青青国产成人免费精品视频| 色悠久久久久久久综合网伊人| 97国产一区二区精品久久呦| 婷婷六月天激情| 99视频在线免费看| 欧美亚洲国产日韩电影在线| 欧美午夜在线视频| 国产精品成人AⅤ在线一二三四 | 91精品国产麻豆国产自产在线| 天天综合网站| 亚洲精品男人天堂| 超清无码熟妇人妻AV在线绿巨人| 热思思久久免费视频| 67194亚洲无码| 婷婷五月在线| 精品一区二区无码av| 欧美专区日韩专区| 亚洲国产精品不卡在线| 日本免费a视频| 国产伦片中文免费观看| 一级毛片在线免费视频| 日韩欧美国产综合| 国产成人亚洲无码淙合青草| 亚洲侵犯无码网址在线观看| 色亚洲成人| 玖玖精品视频在线观看| 国产成年女人特黄特色大片免费|