亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        不依賴字符集的數(shù)據(jù)庫非標字段檢測方法

        2012-06-13 02:09:12孟凡奇
        東北電力大學學報 2012年4期
        關(guān)鍵詞:數(shù)據(jù)庫檢測方法

        孟凡奇,趙 雷

        (1.東北電力大學信息工程學院,吉林吉林132012;2.大慶油田電力集團油田熱電廠,黑龍江大慶163314)

        信息社會的絕大多數(shù)信息是存儲在MIS(Management Information System,管理信息系統(tǒng))中的,而MIS中真正存儲數(shù)據(jù)的是數(shù)據(jù)庫,人們從數(shù)據(jù)庫中獲取信息,同時也將新的信息錄入數(shù)據(jù)庫。因此,數(shù)據(jù)庫中的數(shù)據(jù)是否規(guī)范、正確就顯得尤為重要[1]。但是由于主觀故意或是數(shù)據(jù)錄入時的合法性檢測不嚴格等諸多原因,數(shù)據(jù)庫中難免出現(xiàn)少量非法數(shù)據(jù)。比如,電子郵箱的格式應為“郵箱名@域名.com”,錄入“victor@yahoo.com”是正確的、合法的,而“★☆*@7#.cn”就是不正確的電子郵箱地址,可以定義為“非法”數(shù)據(jù)。這些非法數(shù)據(jù)的顯著特征之一就是含有非ASCII(American Standard Code for Information Interchange,美國信息互換標準代碼)字符。本文將含有非ASCII字符的字段稱為“非標字段”。對于非法的非標字段除了以預防為主以外還要及時的檢查并糾正[2]。

        目前,大多數(shù)檢測非標字段的方法是依賴于數(shù)據(jù)庫所用字符集的,檢測時要指定字符集名稱或使用其中的字符編碼,這就迫使DBA(Database Administrator,數(shù)據(jù)庫管理員)要對現(xiàn)有的字符集有一定程度的了解,增加了其額外工作量[3]。本文從數(shù)據(jù)表中字段的ASCII值和存儲空間角度,提出了兩種不依賴字符集的數(shù)據(jù)庫非標字段檢測方法,實驗表明,這兩種方法與依賴于數(shù)據(jù)庫所用字符集的非標字段檢測方法取得了同樣的效果。

        1 基于字符集的檢測方法

        字符是各種文字和符號的總稱,包括數(shù)字、標點符號、圖形符號、各國文字等。計算機要準確識別、存儲和處理各種字符,需要對其進行編碼[4-6]。由于編碼的字符數(shù)量和規(guī)則不盡相同,因此形成了不同版本的字符的集合,簡稱字符集。字符集種類較多,數(shù)據(jù)庫中常用的字符集有:ASCII字符集、GB2312字符集、BIG5字符集、Unicode字符集等。

        ASCII字符集是現(xiàn)今最通用的單字節(jié)編碼系統(tǒng),對應的國際標準為ISO646。它用7位(bits)表示一個字符,共128個字符。而國內(nèi)數(shù)據(jù)庫常用的GB2312又稱為GB2312-80字符集,全稱為《信息交換用漢字編碼字符集·基本集》,是中國國家標準的簡體中文字符集。它所收錄的漢字已經(jīng)覆蓋99.75%的使用頻率,一個漢字用2個字節(jié)表示。GB2312收錄簡化漢字及一般符號、序號、數(shù)字、拉丁字母、日文假名、希臘字母、俄文字母、漢語拼音符號、漢語注音字母,共7445個圖形字符[7-9]。

        不同字符集中的字符能夠互相轉(zhuǎn)換,但非標字符轉(zhuǎn)換前后可能會發(fā)生變化。以Oracle11g數(shù)據(jù)庫為例,轉(zhuǎn)換工作可由CONVERT函數(shù)完成,其格式為:

        其中:“char”代表要轉(zhuǎn)換的字符串;“dest_char_set”代表目標字符集;“source_char_set”代表原字符集。

        利用該函數(shù)進行非標字段檢測,需要先將疑似非標字段轉(zhuǎn)換為ASCII,然后比較轉(zhuǎn)換前后字段值是否相等,若不相等即可斷定為非標字段。但在檢測之前DBA需要了解數(shù)據(jù)庫所使用的字符集。若數(shù)據(jù)庫采用 GB2312字符集,則應將參數(shù)“dest_charset”設置為“US7ASCII”,將參數(shù)“source_charset”設置為“ZHS16CGB231280”。可見,該方法是依賴于字符集的[10]。

        2 不依賴字符集的檢測方法

        依賴于字符集的檢測方法加重了DBA的負擔,考慮到ASCII字符使用1個字節(jié)的存儲空間,而非標字符使用2~3個字節(jié)的存儲空間,同時非ASCII字符集中的非標字符在轉(zhuǎn)換為ASCII時會發(fā)生改變[11-12],因此提出兩種不依賴字符集的非標字段檢測方法。

        2.1 基于長度對比的檢測方法

        數(shù)據(jù)庫中字段的物理存儲空間和字段的邏輯長度是不同的概念。存儲空間是字段占用的字節(jié)數(shù),邏輯長度是字段中字的個數(shù)。若字段中不含非標字符,那么二者是相等的,否則不相等。仍以Oracle11g數(shù)據(jù)庫為例,函數(shù)LENGTH(char)可計算字段的邏輯長度,函數(shù)LENGTHB(char)能計算字段的存儲空間,例如以下兩條查詢語句:

        語句(1)執(zhí)行后的返回結(jié)果為2,語句(2)執(zhí)行后的返回結(jié)果為4。若要判斷“e_mail”字段是否含有非標數(shù)據(jù)可以使用條件“l(fā)ength(e_mail)<>lengthb(e_mail)”進行判斷,若執(zhí)行結(jié)果為TRUE,說明該條記錄的“e_mail”字段數(shù)據(jù)的邏輯長度與存儲長度不相等,則“e_mail”字段必是非標字段。由于這種方法在使用時無需指定字符集,因此對于DBA而言是不依賴字符集的。

        2.2 基于取ASCII值的檢測方法

        將非標字符強制轉(zhuǎn)換為ASCII時,其值會發(fā)生變化,這是由字符集的編碼規(guī)則決定的。在Oracle11g數(shù)據(jù)庫中,函數(shù)ASCIISTR(char)可以計算字段的ASCII值。比如以下兩條查詢語句:

        語句(3)執(zhí)行后的返回結(jié)果為“〈FD8·97D”,語句(4)執(zhí)行后的返回結(jié)果仍將會是“abc”。根據(jù)這一特性,可以判斷取值前后的字段值是否相同,不相同則必是非標字段。若判斷“e_mail”字段是否含有非標數(shù)據(jù)可以使用條件“e_mail<>asciistr(e_mail)”進行判斷,若結(jié)果為TRUE,說明該條記錄的“e_mail”字段數(shù)據(jù)轉(zhuǎn)換前后并不相同,則“e_mail”字段必是非標字段。此方法也無需指定字符集,因此對于DBA而言也是不依賴字符集的。

        3 實驗及結(jié)果

        數(shù)據(jù)庫服務器采用DELL Power Edge T410。以Oracle11g數(shù)據(jù)庫中dba_objests視圖為藍本,通過“create table test as select* from dba_objests”語句創(chuàng)建測試數(shù)據(jù)庫。Test表的結(jié)構(gòu)如表1所示。

        表1 Test表的結(jié)構(gòu)

        然后向Test表插入4條含有非標字段的記錄(如圖1所示)

        重復執(zhí)行“insert into test select* from test”語句,直至數(shù)據(jù)表TEST中的記錄數(shù)達到8865920條,其中包括非標字段記錄512條??紤]到Oracle的共享池等機制能夠緩存查詢結(jié)果,提高對同一個表類似查詢的速度,因此將test表復制2份,分別命名為test2和test3。3條測試語句(表2所示)及其查詢結(jié)果(圖2所示)如下:

        圖1 含非標字段的4條記錄

        表2 測試用例及執(zhí)行時間

        圖2 測試語句的查詢結(jié)果(部分)

        4 結(jié) 論

        本文提出的兩種不依賴字符集的非標字段檢測方法與目前大多數(shù)依賴于字符集的檢測方法在性能上沒有明顯差別,同樣檢測到了含有中文、特殊符號等非標字符的記錄。但與傳統(tǒng)方法相比,DBA無需了解數(shù)據(jù)庫所使用的字符集,相對減輕了負擔。更重要的是為及時發(fā)現(xiàn)并糾正非法數(shù)據(jù),避免MIS運行風險提供了新的有效手段。

        [1]龔建華.基于多全體復制的Orache數(shù)據(jù)同步研究[J].辦公自動化,2011(3):27-29.

        [2]鐘小權(quán),葉猛.Oracle數(shù)據(jù)庫的SQL語句優(yōu)化[J].計算機與現(xiàn)代化,2011(3):124-130.

        [3]閃四清,楊強.Oracle Database 10g基礎教程[M].北京:清華大學出版社,2009.

        [4]孟凡奇.一種在JSP頁面上分頁顯示Oracle中記錄的方法[J].科技創(chuàng)新導報,2007(36):50-50.

        [5]岳國華,趙靜靜.基于ORACLE數(shù)據(jù)庫的多媒體數(shù)據(jù)SQL級操作探究[J].計算機技術(shù)與發(fā)展,2011,24(4):152-155.

        [6]孫風棟,閆海珍.Oracle 10g數(shù)據(jù)庫系統(tǒng)性能優(yōu)化與調(diào)整[J].計算機技術(shù)與發(fā)展,2009,9(2):13-16.

        [7]王君,祝永志.基于Oracle分布式數(shù)據(jù)庫的查詢優(yōu)化[J].計算機技術(shù)與發(fā)展,2008,18(1):43-45.

        [8]ZHONG Xiao-quan.Optimization of SQL Sentence for Oracle Database[J].Computer and Modernization,2011(3):124 -126,130.

        [9]華連生,丁憲生,呂剛.基于Oracle的氣象數(shù)據(jù)共享系統(tǒng)[J].計算機應用,2010,30(2):162-164.

        [10]DENG Zhong-liang,Optimizing Access to Spatial Data Based on Oracle and ArcSDE[J].Computer Engineering & Software,2011,32(2):78-80.

        [11]黃勇,趙靖.一種基于分布式數(shù)據(jù)庫的關(guān)聯(lián)規(guī)則挖掘新算法[J].計算機技術(shù)與發(fā)展,2011,21(2):147-150.

        [12]劉媛,涂曉東.關(guān)于外包數(shù)據(jù)庫完整性驗證的研究[J].計算機技術(shù)與發(fā)展,2011,20(5):147-149.

        猜你喜歡
        數(shù)據(jù)庫檢測方法
        “不等式”檢測題
        “一元一次不等式”檢測題
        “一元一次不等式組”檢測題
        數(shù)據(jù)庫
        財經(jīng)(2017年2期)2017-03-10 14:35:35
        可能是方法不對
        數(shù)據(jù)庫
        財經(jīng)(2016年15期)2016-06-03 07:38:02
        小波變換在PCB缺陷檢測中的應用
        用對方法才能瘦
        Coco薇(2016年2期)2016-03-22 02:42:52
        數(shù)據(jù)庫
        財經(jīng)(2016年3期)2016-03-07 07:44:46
        數(shù)據(jù)庫
        財經(jīng)(2016年6期)2016-02-24 07:41:51
        色婷婷七月| 少妇伦子伦情品无吗| 色一情一区二区三区四区| 亚洲另类国产综合第一| 国产精品国产三级国产an| 国内自拍视频一区二区三区| 成人午夜福利视频| 亚洲免费人成在线视频观看| 黄色大片一区二区中文字幕| 一区二区三区日韩蜜桃| 奇米影视7777久久精品| 国产真实乱人偷精品人妻| 欧美亚洲日韩国产人成在线播放| 老女人下面毛茸茸的视频| 国产色xx群视频射精| 毛片免费在线播放| 日本免费一区精品推荐| 亚洲中文字幕久久精品品| 婷婷五月六月综合缴情| 午夜国产一区二区三区精品不卡| 亚洲天堂线上免费av | 五月四房播播| 成 人 网 站 免 费 av| 无码高潮少妇毛多水多水免费| 精彩视频在线观看一区二区三区| 妇女bbbb插插插视频| 国产精品毛片无遮挡高清| 亚洲成人黄色av在线观看| 亚洲国产精品久久久av| 亚洲日韩欧洲无码av夜夜摸 | 久久综合精品国产丝袜长腿 | 日本视频一区二区三区| 好大好湿好硬顶到了好爽视频 | 日韩精品亚洲一区二区| 国产97在线 | 免费| 99成人无码精品视频| 手机免费高清在线观看av| 国产亚洲一本大道中文在线| 国产一级毛片AV不卡尤物| 少妇呻吟一区二区三区| 久爱www人成免费网站|