趙雪琴 徐凱華
(鄭州大學(xué)西亞斯國際學(xué)院 河南 451150)
基于oracle 9i數(shù)據(jù)庫平臺的社會保險網(wǎng)上公共服務(wù)管理系統(tǒng)的設(shè)計目標(biāo),是為了進(jìn)一步完善現(xiàn)有社保業(yè)務(wù)管理服務(wù)社會化的要求,提高社保部門的服務(wù)水平,提高工作效率,減少用人單位的工作量,降低各項錯誤數(shù)據(jù)的產(chǎn)生,逐步實現(xiàn)參保單位辦理社保業(yè)務(wù)的標(biāo)準(zhǔn)化、規(guī)范化。數(shù)據(jù)庫中的繳費(fèi)職工信息如職工姓名、身份證號、參加工作時間等可能會發(fā)生變動,變化前的數(shù)據(jù)需要記錄到審計表中,供社保工作人員查詢、審計,該功能通過oracle觸發(fā)器實現(xiàn)。
審計(Audit)用于監(jiān)視用戶所執(zhí)行的數(shù)據(jù)庫操作,并且Oracle會將審計跟蹤結(jié)果存放到OS文件或數(shù)據(jù)庫中,可通過視圖進(jìn)行查看。
細(xì)粒度審計(FGA),是在Oracle 9i中引入的,能夠記錄SCN號和行級的更改以重建舊的數(shù)據(jù),但是它們只能用于select語句,而不能用于DML,如update、insert和delete語句,因此使用自帶的 FGA功能很難滿足對細(xì)粒度的實時性和準(zhǔn)確性的要求,而使用觸發(fā)器跟蹤用戶的行級數(shù)據(jù)的更改,成為唯一在oracle 9i中可靠的審計手段。
觸發(fā)器(trigger)是個一種特殊的存儲過程,它的執(zhí)行不是由程序調(diào)用,也不是手工啟動,而是由事件來觸發(fā),比如當(dāng)對一個表進(jìn)行操作(insert,delete,update)時就會激活它執(zhí)行。
(1)允許/限制對表的修改;(2)自動生成派生列,比如自增字段;(3)強(qiáng)制數(shù)據(jù)一致性;(4)提供審計和日志記錄;(5)防止無效的事務(wù)處理;(6)啟用復(fù)雜的業(yè)務(wù)邏輯。
審計表:Sjxglog(bdyy,origin,new,dqyf,gxsj,dw_dm,shbzh,bz)
社會保險網(wǎng)上公共服務(wù)管理系統(tǒng)中,不僅涉及數(shù)據(jù)庫的審計問題,同時涉及到很多后臺數(shù)據(jù)庫數(shù)據(jù)的安全性及完整性規(guī)則的問題,這些問題都可以利用觸發(fā)器來實現(xiàn),使該系統(tǒng)具有更精細(xì)和更強(qiáng)的數(shù)據(jù)控制能力。
[1]oracle.oracle OCP book DBA1.pdf:7-33.
[2]胡欣杰.O racle 9i數(shù)據(jù)庫管理員指南,北京:北京希望電子出版社,2002:417.
[3][美]Kevin Loney,George Koch.O racle 9i參考手冊.第一版(譯者:鐘鳴等),機(jī)械工業(yè)出版社,2003:41.
[4]朝樂蒙.neusoft.- http://neteye.neusoft.com/htm l/20060225/ 3129000000.htm l.