專利名稱::一種數(shù)據(jù)庫管理系統(tǒng)及輸入數(shù)據(jù)檢驗(yàn)方法
技術(shù)領(lǐng)域:
:本發(fā)明是有關(guān)于計(jì)算機(jī)技術(shù),且特別有關(guān)于數(shù)據(jù)庫系統(tǒng)維護(hù)。
背景技術(shù):
:隨著計(jì)算機(jī)性能與容量快速增長,儲存各種格式的文件、圖檔以及影音等多媒體數(shù)據(jù)已成為數(shù)據(jù)庫的一項(xiàng)重要任務(wù)。一般而言,不論數(shù)據(jù)庫系統(tǒng)提供內(nèi)建或是允許使用者自訂多媒體數(shù)據(jù)類型,其內(nèi)部儲存方式均為大型二進(jìn)制對象(BinaryLargeObject,簡稱BL0B),字段數(shù)據(jù)類型則定義為以定義域(Domain)定義為多媒體數(shù)據(jù)類型的LONGVARBINARY,例如CREATEDOMAINMP3TypeLONGVARBINARYCREATEDOMAINMSffordTypeLONGVARBINARYCREATETABLESong(PriceINTCHECKVALUE>0ANDVALUE<200,LyricsMSffordType,MusicMP3Type,此例中使用者自行定義兩個(gè)定義域“MP3Type”及“MSWordType”作為儲存多媒體數(shù)據(jù)使用,惟其基本數(shù)據(jù)類型仍為“LONGVARBINARY’’,因此仍可輸入任意內(nèi)容的數(shù)據(jù),卻不會(huì)有任何查驗(yàn)操作。例如以下列結(jié)構(gòu)化查詢語言(StructuredQueryLanguage,簡稱SQL)插入數(shù)據(jù)至上述表格“song”INSERTINTOSong(1,.image/coverOl.jpg',slide/slideOl.ppt',…);“Price”字段有限制條件(constraints),若給“Price”字段輸入錯(cuò)誤的類型或范圍,則系統(tǒng)將傳回錯(cuò)誤。但是,此處我們將圖檔“image/coverOl.jpg”插入MSWordType類型的“Lyrics”字段,PowerPoint檔“slide/slideOl.ppt”插入MP3Type類型的“Music”字段,系統(tǒng)卻不會(huì)傳回任何錯(cuò)誤消息。這會(huì)破壞數(shù)據(jù)庫的數(shù)據(jù)完整性(DataIntegrity)。提供內(nèi)建多媒體數(shù)據(jù)類型的數(shù)據(jù)庫也無法提供字段條件限制。例如,假設(shè)上例中MP3Type及MSWordType皆為內(nèi)建類型,但使用者仍無法將這個(gè)MSWordType字段的數(shù)據(jù)限制為MSWord9以上的版本。使用者自行新增的類型更無法做到。以往這些情形僅能靠應(yīng)用程序(Application)在數(shù)據(jù)輸入至數(shù)據(jù)庫以前自行檢查。然而如此將增加應(yīng)用程序本身的復(fù)雜度并降低可維護(hù)性。且數(shù)據(jù)類型檢查不是由數(shù)據(jù)庫系統(tǒng)把關(guān),會(huì)降低數(shù)據(jù)庫中的數(shù)據(jù)完整性。
發(fā)明內(nèi)容有鑒于此,本發(fā)明的目的在提供數(shù)據(jù)庫的輸入數(shù)據(jù)檢查方法及系統(tǒng)?;谏鲜瞿康?,本發(fā)明實(shí)施例提供一種數(shù)據(jù)庫的輸入數(shù)據(jù)檢查方法,執(zhí)行于數(shù)據(jù)庫管理系統(tǒng),包含下列步驟。于上述數(shù)據(jù)庫管理系統(tǒng)內(nèi)建立大型對象數(shù)據(jù)類型的名稱及限制條件。接收大型對象。檢查該大型對象是否符合上述限制條件。其中,本發(fā)明的方法可以利用程序?qū)崿F(xiàn),記錄于例如存儲器或存儲裝置的儲存媒體上,當(dāng)此程序加載至裝置中,則可執(zhí)行如上所述的數(shù)據(jù)庫的輸入數(shù)據(jù)檢查方法。另外,本發(fā)明實(shí)施例提供一種數(shù)據(jù)庫管理系統(tǒng),執(zhí)行于數(shù)據(jù)庫管理系統(tǒng)包含多個(gè)檢驗(yàn)?zāi)K及一數(shù)據(jù)輸入模塊。上述檢驗(yàn)?zāi)K于上述數(shù)據(jù)庫管理系統(tǒng)內(nèi)建立大型對象數(shù)據(jù)類型的限制條件。上述數(shù)據(jù)輸入模塊接收大型對象,并檢查該大型對象是否符合上述限制條件。圖1顯示數(shù)據(jù)庫管理系統(tǒng)實(shí)施例的結(jié)構(gòu)方塊圖;圖2顯示數(shù)據(jù)庫的輸入數(shù)據(jù)檢查方法實(shí)施例的流程圖;圖3顯示應(yīng)用程序端的運(yùn)作流程圖;以及圖4顯示本發(fā)明計(jì)算機(jī)裝置的一實(shí)施例的結(jié)構(gòu)方塊圖。[主要元件標(biāo)號說明]10(Γ數(shù)據(jù)庫管理系統(tǒng);11(Γ檢驗(yàn)?zāi)K;120—數(shù)據(jù)類型;13(Γ表格;140-應(yīng)用程序;150數(shù)據(jù)輸入模塊;C1、C2、…CrT字段;D1、D2、-DrT數(shù)據(jù)類型;VI、V2、…VrT查驗(yàn)?zāi)K;40(Γ計(jì)算機(jī)裝置;42廣通訊單元;422處理器423—存儲器;424存儲裝置;425輸入裝置;426顯示裝置。具體實(shí)施例方式以下說明是本發(fā)明的較佳實(shí)施例。其目的是要舉例說明本發(fā)明一般性的原則,不應(yīng)視為本發(fā)明的限制,本發(fā)明的范圍當(dāng)以申請專利范圍所界定者為準(zhǔn)。以下提出數(shù)據(jù)庫的輸入數(shù)據(jù)檢查方法及系統(tǒng)。圖1顯示數(shù)據(jù)庫管理系統(tǒng)(DatabaseManagementSystem)實(shí)施例的結(jié)構(gòu)方塊圖。數(shù)據(jù)庫管理系統(tǒng)100與應(yīng)用程序140相互通訊及運(yùn)作。應(yīng)用程序140接收大型對象以插入數(shù)據(jù)庫管理系統(tǒng)100,并且接收數(shù)據(jù)庫管理系統(tǒng)100回傳的消息。多個(gè)查驗(yàn)?zāi)K建位于數(shù)據(jù)庫管理系統(tǒng)100,例如圖1中的查驗(yàn)?zāi)KVI、V2、…Vn,其中1為正整數(shù)。查驗(yàn)?zāi)K用來檢查數(shù)據(jù)庫管理系統(tǒng)100中的大型對象數(shù)據(jù)類型對象是否符合預(yù)定限制條件。數(shù)據(jù)庫管理系統(tǒng)100建立大型對象數(shù)據(jù)類型D1、D2、-Dn0查驗(yàn)?zāi)KVI、V2、…Vn分別用來檢查數(shù)據(jù)類型Dl、D2、-Dn0數(shù)據(jù)庫管理系統(tǒng)100建立至少一表格,其中包含至少一字段屬于大型對象數(shù)據(jù)類型,例如數(shù)據(jù)類型D1、D2、…Dn的其中一者。數(shù)據(jù)庫管理系統(tǒng)100具有數(shù)據(jù)輸入模塊用以接收數(shù)據(jù),包含大型對象。當(dāng)數(shù)據(jù)庫管理系統(tǒng)100接收插入該字段的數(shù)據(jù)時(shí),啟動(dòng)該字段所屬的大型對象數(shù)據(jù)類型的對應(yīng)查驗(yàn)?zāi)K,以檢查上述接收數(shù)據(jù)是否符合預(yù)定限制條件。舉例來說,數(shù)據(jù)庫管理系統(tǒng)100建立表格130,其中包含字段C1、C2、…Cn屬于大型對象數(shù)據(jù)類型D1、D2、…Dn的其中一者。當(dāng)數(shù)據(jù)庫管理系統(tǒng)100接收插入字段Cl、C2、…Cn的數(shù)據(jù)時(shí),啟動(dòng)該等字段所屬的大型對象數(shù)據(jù)類型的對應(yīng)查驗(yàn)?zāi)KV1、V2、…Vn,以分別檢查上述接收數(shù)據(jù)是否符合各自的預(yù)定限制條件。模塊所執(zhí)行的檢查可以包含1.檢查該大型對象的文件類型是否符合上述限制條件中的預(yù)定文件類型。上述預(yù)定文件類型包含文書處理程序的文件文件類型、圖像文件類型、聲音文件類型、多媒體文件類型或其它文件類型。上述文書處理程序的文件文件類型例如MSWord、Excel、PowerPoint、AdobeAcrobatReader、及其它文件。上述圖像文件類型例如.jpg,.bmp,.gif,.tif,及其它圖像文件類型。上述聲音文件類型例如.mp3,.wav,.wma,.aac及其它聲音文件類型。上述多媒體文件類型例如mpeg4、H.264及其它多媒體文件類型。大型對象數(shù)據(jù)類型D1、D2、…Dn可以是各種文件類型。2.檢查該大型對象的對應(yīng)應(yīng)用程序版本是否符合上述限制條件中上述預(yù)定文件類型的對應(yīng)應(yīng)用程序版本。舉例來說,假設(shè)i為正整數(shù)且不大于n,數(shù)據(jù)類型Di為MSWord的文件文件類型。數(shù)據(jù)庫管理系統(tǒng)100執(zhí)行表格創(chuàng)建命令(createtablecommand)時(shí),設(shè)定屬于數(shù)據(jù)類型Di的字段Ci的限制條件為MSWord9以上的版本。數(shù)據(jù)庫管理系統(tǒng)100接收插入字段Ci的對象時(shí),檢查該對象是否符合上述限制條件中MSWord9以上的版本的限制。須要了解的是,應(yīng)用程序不限于MSWord,也可以是任何其它應(yīng)用程序。3.其它檢查。舉例來說,數(shù)據(jù)庫管理系統(tǒng)100檢查接收的對象是否有毀損、是否可正常開啟、是否有加密、是否無計(jì)算機(jī)病毒等。若查驗(yàn)?zāi)K檢查對象不符合限制條件,數(shù)據(jù)庫管理系統(tǒng)100可以產(chǎn)生錯(cuò)誤消息至應(yīng)用程序140。應(yīng)用程序140進(jìn)一步處理錯(cuò)誤。圖2及圖3顯示數(shù)據(jù)庫管理方法實(shí)施例的流程圖。數(shù)據(jù)庫的輸入數(shù)據(jù)檢查方法執(zhí)行于數(shù)據(jù)庫管理系統(tǒng),例如數(shù)據(jù)庫管理系統(tǒng)100。上述數(shù)據(jù)庫管理系統(tǒng)耦接應(yīng)用程序,例如應(yīng)用程序140。應(yīng)用程序接收大型對象以插入數(shù)據(jù)庫管理系統(tǒng)(步驟S200),接收數(shù)據(jù)庫管理系統(tǒng)回傳的消息(步驟S202)。并且在大型對象不符合限制條件時(shí),上述應(yīng)用程序進(jìn)一步處理錯(cuò)誤(步驟S204)。參照圖3,于上述數(shù)據(jù)庫管理系統(tǒng)內(nèi)建立至少一查驗(yàn)?zāi)K(步驟S300),對應(yīng)的大型對象數(shù)據(jù)類型的名稱及限制條件(步驟S301)。上述數(shù)據(jù)庫管理系統(tǒng)連接檢驗(yàn)?zāi)K至上述數(shù)據(jù)類型,以檢查屬上述數(shù)據(jù)類型的大型對象是否符合預(yù)定限制條件(步驟S302)。數(shù)據(jù)庫管理系統(tǒng)建立表格及限制條件(步驟S303),其包含屬于上述文件類型的字段,并接收大型對象(步驟S304)。上述數(shù)據(jù)庫管理系統(tǒng)呼叫檢驗(yàn)?zāi)K(步驟S305),以檢查屬上述數(shù)據(jù)類型的大型對象是否符合上述限制條件(步驟S306)。在上述檢查中包含檢查該大型對象的文件類型是否符合上述限制條件中的預(yù)定文件類型,及該大型對象的對應(yīng)應(yīng)用程序版本是否符合上述限制條件中上述預(yù)定文件類型的對應(yīng)應(yīng)用程序版本。當(dāng)上述大型對象符合其限制條件,數(shù)據(jù)庫管理系統(tǒng)100儲存上述大型對象(步驟S308)。當(dāng)上述大型對象不符其限制條件,數(shù)據(jù)庫管理系統(tǒng)100傳送錯(cuò)誤消息至應(yīng)用程序140(步驟S307)。數(shù)據(jù)庫管理系統(tǒng)100允許使用者自定數(shù)據(jù)類型,并自訂該類型的類型檢查及字段條件限制查驗(yàn)函數(shù).例如CREATEDOMAINMP3TypeLONGVARBINARY;CREATEDOMAINMSffordTypeLONGVARBINARY;ADDVALIDATOR'mp3_checkimy_validators.dll'FORMP3Type;ADDVALIDATOR‘msword_checkimy_validators.dll'FORMSffordType;CREATETABLESong(PriceINTCHECKVALUE>0ANDVALUE<200,LyricsMSffordTypeCHECKVALIDATE(,9+,,),MusicMP3Type,在上述程序代碼中新增了二個(gè)檢驗(yàn)?zāi)K(Validator),即MP3Type的檢驗(yàn)?zāi)Kmp3_check,及MSWordType的檢驗(yàn)?zāi)Kmsword-check,其位置皆在動(dòng)態(tài)聯(lián)結(jié)庫my_validators,dll。上述數(shù)據(jù)庫管理系統(tǒng)執(zhí)行表格創(chuàng)建命令(createtablecommand)時(shí),指定參數(shù),9+,給MSWordType的檢驗(yàn)?zāi)Kmsword_check以檢查該大型對象是否符合MSWord第9版。查驗(yàn)?zāi)K的名稱由使用者自訂,惟查驗(yàn)?zāi)K的呼叫接口需符合系統(tǒng)的規(guī)范。數(shù)據(jù)庫管理系統(tǒng)1OO允許兩個(gè)字符串類型的參數(shù),其內(nèi)容及用途均由使用者自訂,使用者用ADDVALIDATOR···FOR命令為自訂類型加入查驗(yàn)函數(shù)后即可。上述例子中Lyrics新增一條件限制,該使用者將其涵義定為MSWord9以上的版本,故數(shù)據(jù)插入時(shí)即會(huì)查驗(yàn)此為MSWord數(shù)據(jù)且版本正確,第二個(gè)參數(shù)則未使用。Music字段雖無CHECK條件限制,系統(tǒng)發(fā)現(xiàn)該類型有查驗(yàn)函數(shù),數(shù)據(jù)插入時(shí)即以無參數(shù)方式呼叫查驗(yàn)函數(shù)進(jìn)行使用者自訂的預(yù)設(shè)基本類型查驗(yàn)。數(shù)據(jù)庫管理系統(tǒng)1OO及上述方法可以由計(jì)算機(jī)程序構(gòu)成。當(dāng)工時(shí)記錄方法以儲存在計(jì)算機(jī)可讀取儲存媒體的計(jì)算機(jī)程序?qū)崿F(xiàn)時(shí),當(dāng)此計(jì)算機(jī)程序加載至計(jì)算機(jī)裝置中,上述計(jì)算機(jī)裝置則執(zhí)行上述數(shù)據(jù)庫的輸入數(shù)據(jù)檢查方法的步驟。圖4顯示執(zhí)行本發(fā)明的工時(shí)記錄方法或系統(tǒng)的計(jì)算機(jī)裝置的一實(shí)施例的結(jié)構(gòu)方塊圖。計(jì)算機(jī)裝置400包含通訊單元421、處理器422、存儲器423、存儲裝置424、輸入裝置425以及顯示裝置426。通訊單元421可以連接網(wǎng)絡(luò)或各種傳輸線,控制信息的傳輸接收。處理器422依照既定的程序進(jìn)行數(shù)據(jù)處理,例如儲存在存儲器423、存儲裝置424或遠(yuǎn)程主機(jī)上的程序。存儲器423用作處理器422的作業(yè)用存儲區(qū)域。存儲裝置424儲存程序,例如數(shù)據(jù)錄入系統(tǒng)1OO中的各模塊。存儲裝置424可以是軟式磁硬、光盤、硬盤、或外接式儲存設(shè)備。上述數(shù)據(jù)庫管理系統(tǒng)及其方法提供使用者及數(shù)據(jù)庫系統(tǒng)一個(gè)方便、彈性、完整、且一致的方式進(jìn)行字段的類型及條件限制檢查,允許使用者自定數(shù)據(jù)類型并自訂該類型的類型檢查及字段條件限制查驗(yàn)的方法。特別是土述數(shù)據(jù)庫管理系統(tǒng)允許使用者自訂字段的條件限制(Constraint)的多媒體數(shù)據(jù)類型,是對數(shù)據(jù)庫表格定義(TableDefinition)的一種改進(jìn),可增進(jìn)多媒體數(shù)據(jù)型在數(shù)據(jù)庫中的數(shù)據(jù)完整性(DataIntegrity),并可簡化應(yīng)用程序(Application)的開發(fā)。雖然本發(fā)明已以較佳實(shí)施例揭露如上,然其并非用以限定本發(fā)明,任何本領(lǐng)域技術(shù)人員,在不脫離本發(fā)明的精神和范圍內(nèi),當(dāng)可作各種的更動(dòng)與潤飾,因此本發(fā)明的保護(hù)范圍當(dāng)視所附的權(quán)利要求范圍所界定者為準(zhǔn)。權(quán)利要求1.一種數(shù)據(jù)庫管理系統(tǒng)及輸入數(shù)據(jù)檢驗(yàn)方法,其特征在于包含數(shù)據(jù)庫管理系統(tǒng)內(nèi)建立大型對象數(shù)據(jù)類型的名稱及限制條件;接收大型對象;以及檢查該大型對象是否符合上述限制條件;(1).在上述檢查中是檢查該大型對象的文件類型是否符合上述限制條件中的預(yù)定文件類型;(2).預(yù)定文件類型包含文書處理程序的文件文件類型、圖像文件類型、聲音文件類型、或多媒體文件類型;(3).檢查中是檢查該大型對象的對應(yīng)應(yīng)用程序版本是否符合上述限制條件中上述預(yù)定文件類型的對應(yīng)應(yīng)用程序版本;(4).數(shù)據(jù)庫管理系統(tǒng)呼叫檢驗(yàn)?zāi)K以檢查該大型對象是否符合上述限制條件;(5).數(shù)據(jù)庫管理系統(tǒng)執(zhí)行表格創(chuàng)建命令時(shí),連接上述檢驗(yàn)?zāi)K至上述大型對象的數(shù)據(jù)類型,以檢查該大型對象是否符合上述限制條件。2.根據(jù)權(quán)利要求1所述的一種數(shù)據(jù)庫管理系統(tǒng)及輸入數(shù)據(jù)檢驗(yàn)方法,其特征在于一種計(jì)算機(jī)可讀取儲存媒體,用以儲存計(jì)算機(jī)程序,上述計(jì)算機(jī)程序可加載至計(jì)算機(jī)裝置中以執(zhí)行如權(quán)利要求1所述的數(shù)據(jù)庫的輸入數(shù)據(jù)檢查方法。3.根據(jù)權(quán)利要求1所述的一種數(shù)據(jù)庫管理系統(tǒng)及輸入數(shù)據(jù)檢驗(yàn)方法,其特征在于一種數(shù)據(jù)庫管理系統(tǒng),執(zhí)行于數(shù)據(jù)庫管理系統(tǒng),包含檢驗(yàn)?zāi)K,接收上述數(shù)據(jù)庫管理系統(tǒng)內(nèi)大型對象數(shù)據(jù)類型的限制條件;以及數(shù)據(jù)輸入模塊接收大型對象,并檢查該大型對象是否符合上述限制條件,(1).在上述檢查中是檢查該大型對象的文件類型是否符合上述限制條件中的預(yù)定文件類型。全文摘要一種數(shù)據(jù)庫管理系統(tǒng)及輸入數(shù)據(jù)檢驗(yàn)方法,執(zhí)行于數(shù)據(jù)庫管理系統(tǒng),包含下列步驟于上述數(shù)據(jù)庫管理系統(tǒng)內(nèi)建立大型對象數(shù)據(jù)類型的名稱及限制條件,接收大型對象,檢查該大型對象是否符合上述限制條件。文檔編號G06F17/30GK102479184SQ20101055446公開日2012年5月30日申請日期2010年11月23日優(yōu)先權(quán)日2010年11月23日發(fā)明者欒曉健申請人:大連兆陽軟件科技有限公司