• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      探析觸發(fā)器在大型數(shù)據(jù)庫中的應(yīng)用

      2018-12-05 18:40何勰緋
      中國信息化 2018年11期
      關(guān)鍵詞:機(jī)主數(shù)據(jù)表觸發(fā)器

      何勰緋

      在對數(shù)據(jù)庫進(jìn)行設(shè)計的過程中,保證數(shù)據(jù)的完整性是尤為重要的,而觸發(fā)器是有效解決復(fù)雜數(shù)據(jù)完整性的一種科學(xué)、合理方法。通過大量實踐,本論文主要研究了四類觸發(fā)器的典型應(yīng)用,包括:不同數(shù)據(jù)庫系統(tǒng)之間的轉(zhuǎn)換(即系統(tǒng)集成)、對數(shù)據(jù)進(jìn)行有效拆分、對數(shù)據(jù)進(jìn)行有效合并、及數(shù)據(jù)級聯(lián)更新,并科學(xué)設(shè)計出對應(yīng)的模型。

      一、前言

      隨著數(shù)據(jù)的日益復(fù)雜及計算機(jī)被廣泛應(yīng)用,相應(yīng)的大型數(shù)據(jù)庫也受到了更加深入、更加廣泛的應(yīng)用。而對于大型數(shù)據(jù)庫來講,采取何種措施來保障數(shù)據(jù)的完整性、安全性等則是數(shù)據(jù)庫設(shè)計的一個特別重要的內(nèi)容。尤其是處理復(fù)雜程度很高并且要求較強(qiáng)數(shù)據(jù)完整性,這便是現(xiàn)階段數(shù)據(jù)庫設(shè)計的一個難點。本論文的作者通過大量工作實踐,明確發(fā)現(xiàn)觸發(fā)器能夠有效解決上述問題。

      二、觸發(fā)器的定義

      在數(shù)據(jù)庫(即SQL)中,觸發(fā)器是一種特殊類型的存儲過程。它能有效利用事件來觸發(fā)并被準(zhǔn)確、合理執(zhí)行,在存儲過程中能憑借相應(yīng)的存儲名字而被直接調(diào)用。倘若對某表執(zhí)行如下操作(即:DELETE、UPDATE等)的時候,SQL Server會自動準(zhǔn)確、嚴(yán)格執(zhí)行觸發(fā)器定義的相關(guān)SQL語句,以便更好的保證對數(shù)據(jù)的處理是滿足SQL語句定義的規(guī)則。

      三、觸發(fā)器的典型應(yīng)用

      (一)不同數(shù)據(jù)庫系統(tǒng)之間的轉(zhuǎn)換

      隨著企業(yè)規(guī)模的擴(kuò)展及業(yè)務(wù)的不斷發(fā)展,其對信息化的需求也在不斷發(fā)生著改變,要么是增加新的業(yè)務(wù),要么是對企業(yè)內(nèi)部的業(yè)務(wù)流程進(jìn)行優(yōu)化再造,要么是對數(shù)據(jù)的處理方式在發(fā)生著改變等,這些都需求企業(yè)增加新的業(yè)務(wù)模塊或者是對現(xiàn)有系統(tǒng)進(jìn)行優(yōu)化設(shè)計或者是設(shè)計新的業(yè)務(wù)系統(tǒng)。盡管企業(yè)原有信息管理系統(tǒng)也考慮到將來的可擴(kuò)展性,也相應(yīng)的為系統(tǒng)預(yù)留了接口或字段,但其很可能出現(xiàn)不能最大化的滿足新的業(yè)務(wù)需求。在這樣的情況下,要把企業(yè)原有的信息管理系統(tǒng)全盤推翻也是不太現(xiàn)實的,更不可能快速新建一個統(tǒng)一的信息管理系統(tǒng)。針對此種情況,通常采取數(shù)據(jù)耦合。

      而觸發(fā)器的出現(xiàn)便為科學(xué)、合理解決上述問題提供了有效的方法,具體如下圖1所示的系統(tǒng)集成模型示意圖。從圖中可以明顯的看出,轉(zhuǎn)換表不但可以建立在新的系統(tǒng)里面,也可以在原有系統(tǒng)里面進(jìn)行建立。此外,有關(guān)轉(zhuǎn)換表的設(shè)計是嚴(yán)格按照新系統(tǒng)的要求、格式等來進(jìn)行設(shè)計的,是完全符合新系統(tǒng)設(shè)計格式,與此同時,轉(zhuǎn)換表里面的數(shù)據(jù)也是來自原有數(shù)據(jù)庫系統(tǒng)之中。

      (二)數(shù)據(jù)的拆分

      通常來講,手機(jī)處理過程(如手機(jī)信息查詢、手機(jī)掛失、登入等)都具備如下要求,若用戶發(fā)送相應(yīng)的短信,其就會借助移動網(wǎng)關(guān)自動準(zhǔn)確無誤的增加到數(shù)據(jù)庫的表里面,而對編輯的短信內(nèi)容也規(guī)定有格式要求。其中,手機(jī)查詢格式為(LSGS#手機(jī)串號#手機(jī)型號#手機(jī)品牌#手機(jī)機(jī)主的姓名#機(jī)主聯(lián)系地址);登入格式為(LSGA#手機(jī)串號#手機(jī)型號#手機(jī)品牌#手機(jī)機(jī)主姓名#機(jī)主聯(lián)系地址);手機(jī)掛失的格式(LSGD#手機(jī)串號#手機(jī)型號#手機(jī)品牌#手機(jī)機(jī)主姓名#機(jī)主聯(lián)系地址)。一旦出現(xiàn)新的記錄,就會嚴(yán)格把手機(jī)短信的內(nèi)容根據(jù)“#”的格式來恰當(dāng)、準(zhǔn)確統(tǒng)計,之后,再把相關(guān)的內(nèi)容分別存儲到其它數(shù)據(jù)庫里面。倘若是LSGS,就把相應(yīng)的內(nèi)容存儲到C表里;倘若是LSGA,就把相應(yīng)的內(nèi)容存儲到A表里;倘若是LSGD,就把相應(yīng)的內(nèi)容存儲到B表里。

      倘若借助存儲過程來對相關(guān)的程序進(jìn)行編寫,存在的不足之處就是數(shù)據(jù)不具備實時性。為了更好解決上述問題,可以借助觸發(fā)器來對數(shù)據(jù)進(jìn)行有效拆分,通過觸發(fā)器來判定新寫入的數(shù)據(jù)是存到A表、還是B表或C表。圖2為數(shù)據(jù)拆分的模型示意圖。

      (三)數(shù)據(jù)的合并

      在實際業(yè)務(wù)開發(fā)實踐過程中,在對數(shù)據(jù)進(jìn)行維護(hù)的過程中通常會遇到如下一些需求:某單位由若干個部門來有效組成,其期望每一個部門都能夠單獨維護(hù)各自部門的數(shù)據(jù)信息,同時,其又期望能夠得到本單位的所有匯總數(shù)據(jù)信息(即把單位不同部門的數(shù)據(jù)進(jìn)行集中匯總)。比如:某工廠擁有多個生產(chǎn)車間,但工廠上級領(lǐng)導(dǎo)希望看到的是各車間的產(chǎn)量匯總;某單位擁有若干個銷售部門,但是,公司上層期望得到的數(shù)據(jù)是各銷售部門的銷量匯總數(shù)據(jù);某公司擁有多個財務(wù)人員,其都具備輸入財務(wù)數(shù)據(jù)的權(quán)限,但公司領(lǐng)導(dǎo)期望看到的是全部財務(wù)數(shù)據(jù)信息等。此時,若公司為每一個部門都建立相應(yīng)的表,而某些數(shù)據(jù)庫對instead of觸發(fā)器是不支持的,這樣的情況也很難得到部門間集中起來的匯總數(shù)據(jù);另外,若公司全部部門都共享同一張數(shù)據(jù)表,盡管這樣能夠得到公司所需求的匯總數(shù)據(jù)信息,但由于公司每一個部門對表都擁有修改權(quán)限,也需要各自部門去維護(hù)自己的數(shù)據(jù)信息等,所以,很難有效控制數(shù)據(jù)的安全性、可靠性等。

      通過合理應(yīng)用觸發(fā)器,便能有效解決上述問題。通過對公司的每一個部門設(shè)置結(jié)構(gòu)相同的數(shù)據(jù)表,并且,各自部門僅擁有對自己部門數(shù)據(jù)表進(jìn)行修改的權(quán)限;此外,再針對公司匯總數(shù)據(jù)也相應(yīng)建立一個表,并準(zhǔn)確在公司每一個部門的數(shù)據(jù)表上搭建觸發(fā)器,這樣,只要某部門的數(shù)據(jù)出現(xiàn)修改或更新,而匯總表里面對應(yīng)的數(shù)據(jù)也會做出相應(yīng)的修改或更新。涉及到的數(shù)據(jù)合并模型示意圖如圖3所示。

      (四)數(shù)據(jù)的級聯(lián)更新

      在對數(shù)據(jù)庫進(jìn)行設(shè)計的過程中,一旦設(shè)置外鍵也就相應(yīng)的搭建了不同表間的主從關(guān)系。而在實際業(yè)務(wù)執(zhí)行過程中,若主表的外鍵出現(xiàn)記錄刪除或被修改的情況,那么,從表也務(wù)必對相應(yīng)的數(shù)據(jù)進(jìn)行更改。由于大型數(shù)據(jù)庫存儲的數(shù)據(jù)復(fù)雜且被許多人所共享,它是不能夠像單機(jī)數(shù)據(jù)庫系統(tǒng)采用設(shè)置級聯(lián)來自動完成的。在這樣的情況下,若要實現(xiàn)上述功能,就需借助觸發(fā)器來有效、合理完成。具體實現(xiàn)過程如圖4所示的數(shù)據(jù)級聯(lián)更新模型示意圖。通過觸發(fā)器來進(jìn)行科學(xué)判定,倘若要刪除相關(guān)的記錄,那么,就直接對從表里面的記錄進(jìn)行刪除;倘若是更改記錄,需先判定是否對外鍵進(jìn)行更改,若是需對外鍵進(jìn)行更改,那么,從表里面相應(yīng)的記錄進(jìn)行更改就行。

      四、結(jié)束語

      通過上述四個觸發(fā)器的典型應(yīng)用案例可以明顯看出,面對大型數(shù)據(jù)庫及對數(shù)據(jù)庫不同表之間的復(fù)雜邏輯關(guān)系進(jìn)行處理的時候,恰當(dāng)?shù)氖褂糜|發(fā)器能使數(shù)據(jù)庫的設(shè)計變得更加簡潔,而對于復(fù)雜的表與表之間的處理也將變得更高效。此外,通過觸發(fā)器的機(jī)制能夠明顯看出,一旦操作建立有觸發(fā)器的數(shù)據(jù)表,便會相應(yīng)對數(shù)據(jù)庫里面對應(yīng)的程序進(jìn)行觸發(fā)。對于用戶經(jīng)?;蛘吒哳l率使用的表來講,若使用過長的觸發(fā)器或者使用過多的觸發(fā)器,這對提升數(shù)據(jù)庫的效率是顯得不利的。因此,要結(jié)合實際需求來恰當(dāng)、科學(xué)使用觸發(fā)器,與此同時,還需進(jìn)一步更多采用其它存儲過程。

      猜你喜歡
      機(jī)主數(shù)據(jù)表觸發(fā)器
      圖說
      配置觸發(fā)器有條件啟動Windows服務(wù)
      基于Multisim14.0的雙D觸發(fā)器應(yīng)用與仿真
      湖北省新冠肺炎疫情數(shù)據(jù)表(2.26-3.25)
      湖北省新冠肺炎疫情數(shù)據(jù)表
      湖北省新冠肺炎疫情數(shù)據(jù)表
      觸發(fā)器在酒店管理系統(tǒng)中的應(yīng)用
      你的智能手機(jī)將比你更懂你!
      英航母出洋相:被無人機(jī)“突襲”
      基于電路原理的觸發(fā)器波形分析
      文昌市| 宁明县| 宁南县| 清流县| 亳州市| 淄博市| 贵州省| 河南省| 呼和浩特市| 全椒县| 延庆县| 团风县| 比如县| 陕西省| 古蔺县| 安仁县| 赤峰市| 平利县| 屏东县| 乌拉特后旗| 龙泉市| 邹平县| 马鞍山市| 元谋县| 张北县| 名山县| 武隆县| 崇信县| 高淳县| 景德镇市| 神池县| 金坛市| 平潭县| 高碑店市| 鹿邑县| 天柱县| 贵溪市| 临沭县| 馆陶县| 嘉鱼县| 拉孜县|