先虹伶



摘 要:在本研究中針對sql server登錄觸發器技術進行分析,并將其運用于高校教務管理系統中,表明該登陸觸發器信息輸入可實現數據完整性維護,具有良好的應用效果,希望能給相關工作人員提供幫助。
關鍵詞:SQLSERVER;觸發器;數據;完整性
近年來隨著信息技術的發展,以及高校不斷深入開展教學改革,其教學管理方面逐漸實現變革,隨近年來推行學分制使高校教務管理工作日益復雜,因此對于高校教務管理來說,紛紛逐漸采用教務管理系統,在該系統中學生課程是重要數據,也是貫穿排課,選課,教學計劃,成績,基本信息等多項管理活動,是與教務系統中所有子系統具有一定聯系的,就目前高校所使用的教學管理系統來說可實現日常教學管理功能,但由于在系統設計過程上存在一些缺陷,導致后期在數據庫完整性維護方面存在一些難度。比如現有系統中對于學生學習管理以及選課數據是無關聯性的數據表,當學生退學時其學習信息發生變動將會刪除基本信息,但與其相關的選課數據仍在另一數據庫中,導致內部數據出現不一致,最終該學生所選課程成績無法提交。目前對于教務管理系統來說,無法解決數據完整性的問題,尤其對于教務管理人員來說需要避免出現數據不一致的問題,因此在本研究中提出登錄觸發器以解決數據完整性。
1登錄觸發器
數據完整性從一定程度上也是指數據庫中的數據有效性,正確性,可防止數據庫存在語義不符合規定的數據,或者系統輸入輸出無效信息,在數據庫中數據完整性主要包括參照、實體、用戶自定義完整性,當數據完整性存在問題時,可以借助登錄觸發器進行技術檢測。觸發器是通過事件觸發而實現自動執行的程序,可用于確保數據完整性,是基于表實現創建或多個數據修改的相關聯,在指定表中當數據發生變化,可以自動生成。當用戶對數據表進行修改刪除時,該觸發器可自動執行功能,因此觸發器能夠從一定程度上確保表實施完整性約束,其保護數據發生變化時會自動激活,防止出現數據的錯誤修改,在數據庫中按照事件不同,可將發起分為ddl和dml觸發器,其中后者是目前數據庫發生數據語言,使觸發器被觸發執行,目前主要運用于修改數據,強制執行業務以及數據完整性檢查中,而前者前者是在數據庫或者服務器出現語義語音事件時可以被調用,結合觸發時機可將其分為after和instead of觸發器,前者是指操作完成執行之后觸發,而后者是在操作被執行前觸發并能夠用于替代這種操作,結合觸發方式觸發器分為update,insert,delete型觸發器,在應用觸發器時通常設計兩個表,包括delete和insert的表,在向表中進行數據插入,更新時會觸發insert,觸發器執行功能,新的記錄能夠直接插入到相應的Excel表中,以及觸發器中delete表可用于保存已經刪除的數據記錄,當觸發delete觸發器時能夠在第2列表中存放刪除記錄,修改記錄實際上是與插入記錄相同的,同時進行舊記錄的刪除,當定義update觸發器表修改時,表中原始數據會移動到delete表,經過修改之后將所有的數據插入到insert的表,這兩個表是與被觸發表具有相似結構的,在系統中儲存無法實現數據修改,但用戶可以引用數據表,當觸發器執行時兩個表也會被系統自動刪除,在觸發器創建過程中需要制定下列內容,觸發器的名稱基于表、視圖種類激活的修改語句,執行語句可以利用sql語句進行觸發器的創建,具體格式如下。
2教務管理系統中登錄觸發器設計流程
對于目前的教務管理系統來說,可將其分為選課管理,學籍管理,成績,排課管理系統在不同的子系統中,比如學籍管理系統學籍發生變動,對于數據完整性具有嚴格要求,變動學習會影響學生的選課數據成績,如果僅依靠人為方式進行數據變動,則會使工作人員面臨較大的工作量,而且很容易出現錯誤,如果依靠程序調用sql語句時會出現浪費系統資源的問題,增加設計難度,引入觸發器之后,學習變動可觸發相應的選課成績數據實現自動更新,在這一過程中可以在數據庫服務器上完成提升系統運行性能,比如以學生退學作為研究對象,在整個管理系統中需要刪除相應學習信息,在沒有觸發器使用的情況下,能夠分別對學生成績表信息表刪除對應信息記錄,這種操作能夠確保數據完整性,同時引入這種觸發器之后,管理人員只需要刪除信息表信息便可以自動刪除相應的子系統中的詳細記錄,簡化流程操作,同時還能夠從一定程度上確保數據的完整性。
在數據庫中通常會存在多個關聯表操作,進一步能夠闡明觸發器確保數據完整性的使用應用,在數據庫程序設計中經常會遇到一個數據表操作,同時還會關聯多個數據表,確保數據表的數據完整性,一致性,通常采用的數據表包括存儲用戶信息表,存儲大版塊信息表,回復信息表等。在具體使用觸發器時需要進行需求分析,之后構建觸發器,執行觸發器流程,進而能夠使數據庫中的各個關聯表記錄保持一致,該過程是數據庫自動完成的。
3觸發器實現分析
在本研究中我們以學生數據管理作為研究對象,進一步說明教務系統中登錄出觸發器的設計和具體實現流程。比如某學生課程成績分別對應的內容,包括學號,姓名,性別,專業,班級,出生年月,籍貫;課程編號,名稱類型,學時,學分;學號,成績,課程編號等。如果出現學生退學,則管理人員需要及時刪除相對應表中的信息記錄,同時還需要在成績表中刪除選課記錄,確保數據的一致性完整性,構建觸發器代碼如下。
當出現學號變更時,此時的管理任務需要修改學生表的學號,并修改選課表學號,確保數據的一致性完整性,具體的觸發器代碼建立如下所示。
當新開設必修課時,在課本中插入對應的課程信息后,還需要向成績表中插入相關記錄,可實現成績自動填充,確保數據的一致性完整性,觸發器構建代碼如下所示。
當前在高校教務管理過程中,為確保數據的完整性和一致性,在系統設計開發時,需要了解目前教務系統對于數據操作的相關規則,能夠合理進行觸發器的設計,確保數據完整性。
小結
在本研究中以某教務管理系統數據完整性約束作為研究對象進行深入分析,結合教務管理工作特點,能夠對系統典型觸發器進行設計,通過sqls server數據庫實現確保數據完整性,這對于教務管理系統人員來說是十分重要的,能夠確保數系統實現高效運行,提升系統的安全性,可靠性,在教務系統中利用這種登錄觸發器可解決典型問題,該方法可被運用于其他數據庫的運行維護中。
參考文獻
[1]趙輝, 陸冷飛. SQL Server觸發器在保持數據庫完整性中的應用[J]. 電腦開發與應用, 2007, 20(3):43-45.
[2]王軍弟, 劉瑞玲. SQL Server中約束與觸發器差異比較[J]. 電腦與信息技術, 2011(02):79-81.
[3]沈晨鳴. 基于SQL SERVER觸發器技術的實現[J]. 江蘇廣播電視大學學報, 2002, 13(3).