中国韩国日本在线观看免费,A级尤物一区,日韩精品一二三区无码,欧美日韩少妇色

針對(duì)數(shù)據(jù)庫(kù)中元數(shù)據(jù)的采集方法設(shè)計(jì)與實(shí)現(xiàn)

發(fā)布時(shí)間:2015-02-13 08:16

摘 要:

摘 要:數(shù)據(jù)庫(kù)中元數(shù)據(jù)的采集是標(biāo)準(zhǔn)符合性檢測(cè)等工作的基礎(chǔ)。為了獲取數(shù)據(jù)庫(kù)中的元數(shù)據(jù)信息,文章提出了針對(duì)多種數(shù)據(jù)庫(kù)中元數(shù)據(jù)的采集方法設(shè)計(jì)。該采集方法采用了字符串連接數(shù)據(jù)庫(kù)的方法實(shí)現(xiàn)了對(duì)多個(gè)不同數(shù)據(jù)庫(kù)的連接,根據(jù)連接的數(shù)據(jù)庫(kù)使用相應(yīng)的元數(shù)據(jù)查詢SQL語(yǔ)句來(lái)實(shí)現(xiàn)對(duì)元數(shù)據(jù)的采集,最后使用xml文件的形式保存元數(shù)據(jù)。

關(guān)鍵詞:

關(guān)鍵詞:數(shù)據(jù)庫(kù) 元數(shù)據(jù) 信息采集

  元數(shù)據(jù)是指用于描述數(shù)據(jù)的數(shù)據(jù),是對(duì)數(shù)據(jù)及信息資源的描述性信息。本文中所要采集的數(shù)據(jù)庫(kù)中元數(shù)據(jù)主要是數(shù)據(jù)庫(kù)中對(duì)表的定義,字段的定義等,這些元數(shù)據(jù)信息是在標(biāo)準(zhǔn)符合性檢測(cè)工作中所需要檢測(cè)的信息。

  標(biāo)準(zhǔn)符合性檢測(cè)是指根據(jù)國(guó)家和行業(yè)信息化的系列數(shù)據(jù)標(biāo)準(zhǔn)、技術(shù)文件及信息系統(tǒng)設(shè)計(jì)文件等中的規(guī)定,對(duì)信息系統(tǒng)的數(shù)據(jù)字典、數(shù)據(jù)庫(kù)表結(jié)構(gòu)及數(shù)據(jù)庫(kù)內(nèi)容等與標(biāo)準(zhǔn)的符合程度進(jìn)行檢測(cè)的活動(dòng)。其中在對(duì)數(shù)據(jù)庫(kù)表結(jié)構(gòu)進(jìn)行標(biāo)準(zhǔn)符合性檢測(cè)時(shí),需要使用數(shù)據(jù)庫(kù)中表的元數(shù)據(jù)與相關(guān)標(biāo)準(zhǔn)進(jìn)行比較。數(shù)據(jù)庫(kù)中元數(shù)據(jù)采集的需求正是在這樣的條件下產(chǎn)生的。

  1 采集的元數(shù)據(jù)內(nèi)容

  根據(jù)標(biāo)準(zhǔn)符合性檢測(cè)的需求,我們將需要采集的元數(shù)據(jù)內(nèi)容確定為表的元數(shù)據(jù)與字段的元數(shù)據(jù)。表的元數(shù)據(jù)信息主要包括標(biāo)的名稱、表的記錄數(shù)、表的大小、表包含的字段、表的主鍵等,字段的元數(shù)據(jù)信息主要字段的名稱、字段的數(shù)據(jù)類型、字段占用字節(jié)數(shù)、字段是否允許為空、字段的備注信息等。

  對(duì)于不同的數(shù)據(jù)庫(kù),數(shù)據(jù)庫(kù)的元數(shù)據(jù)的存儲(chǔ)地址都不相同,元數(shù)據(jù)的信息存儲(chǔ)形式也不盡相同。如在SQL Server中字段的信息主要存儲(chǔ)在syscolumns、systypes 、sys.extended_properties等表中,而在Oracle數(shù)據(jù)庫(kù)中字段的信息主要存儲(chǔ)在USER_TAB_COLUMN 、USER_COL_COMMENTS表中且存儲(chǔ)的名稱也不相同。因此,采集元數(shù)據(jù)內(nèi)容時(shí)需要根據(jù)數(shù)據(jù)庫(kù)類型的不同,在不同表中采集數(shù)據(jù)庫(kù)元數(shù)據(jù)的信息。

  2 元數(shù)據(jù)查詢SQL語(yǔ)句的設(shè)計(jì)

  由于不同的數(shù)據(jù)庫(kù)中元數(shù)據(jù)信息存儲(chǔ)的方式不同,因此在元數(shù)據(jù)查詢SQL語(yǔ)句的設(shè)計(jì)中需要根據(jù)不同的數(shù)據(jù)庫(kù)來(lái)設(shè)計(jì)不同的SQL語(yǔ)句。針對(duì)SQL Server數(shù)據(jù)庫(kù)的SQL語(yǔ)句編寫(xiě)如下:

  從syscolumns表中獲取表的名字、字段序號(hào)、字段名、字段的數(shù)據(jù)類型、字段占用字節(jié)數(shù)、允許為空命名分別命名為dataTable、dataID、fieldName、dataType、fieldLen、idNull,再?gòu)膕ys.extended_properties表中獲取字段說(shuō)明命名為memo。在連表查詢時(shí)從systypes表中取xtype值為U的項(xiàng),確保表的信息是用戶創(chuàng)建的表,而非數(shù)據(jù)庫(kù)系統(tǒng)表。

  在oracle數(shù)據(jù)庫(kù)中字段的信息位置與SQL Server數(shù)據(jù)庫(kù)不同,因此,oracle數(shù)據(jù)庫(kù)與SQL Server數(shù)據(jù)庫(kù)的查詢SQL語(yǔ)句在列名稱,表名稱方面有所不同。

  在抽取不同數(shù)據(jù)庫(kù)的元數(shù)據(jù)信息時(shí),采用的SELECT語(yǔ)句的結(jié)構(gòu)順序必須相同,使生成元數(shù)據(jù)信息結(jié)構(gòu)相同,便于元數(shù)據(jù)信息的下一步使用和操作。

  3 采集的流程設(shè)計(jì)

  在采集數(shù)據(jù)庫(kù)中元數(shù)據(jù)時(shí),我們需要對(duì)數(shù)據(jù)庫(kù)進(jìn)行訪問(wèn)。在這里我們采用ADO的方式訪問(wèn)數(shù)據(jù)庫(kù)。采用ADO的方式訪問(wèn)數(shù)據(jù)庫(kù),在用C#語(yǔ)言實(shí)現(xiàn)時(shí)可以分為以下幾個(gè)步驟:

  第一, 調(diào)用命名空間。對(duì)于SQL Server數(shù)據(jù)庫(kù)需要引入System.Data.SqlClient命名空間。

  第二, 創(chuàng)建連接字符串。連接字符串的創(chuàng)建需要用戶在界面輸入服務(wù)器地址、數(shù)據(jù)庫(kù)類型、數(shù)據(jù)庫(kù)端口號(hào)、用戶名、密碼等目標(biāo)數(shù)據(jù)庫(kù)的信息。

  第三, 創(chuàng)建連接的對(duì)象。使用關(guān)鍵字SqlConnection創(chuàng)建連接的對(duì)象。

  第四, 連接數(shù)據(jù)庫(kù)。使用連接對(duì)象的Open()函數(shù)連接數(shù)據(jù)庫(kù)。

  第五, 創(chuàng)建SQL字符串 connString。創(chuàng)建設(shè)計(jì)完成的元數(shù)據(jù)SQL查詢語(yǔ)句。

  第六, 新建查詢的一個(gè)對(duì)象。使用關(guān)鍵字SqlCommand創(chuàng)建查詢的對(duì)象。

  第七, 對(duì)對(duì)象的操作。使用ExecuteScalar();ExecuteReader();ExecuteNonQuery()等函數(shù)獲得查詢的結(jié)果,將結(jié)果以datatable或dataset的形式存儲(chǔ)。

  第八, 關(guān)閉連接。使用連接對(duì)象的Close()函數(shù)關(guān)閉連接。

  經(jīng)過(guò)上面的數(shù)據(jù)庫(kù)訪問(wèn)步驟,就可以得到所要查找的元數(shù)據(jù)的內(nèi)容。將返回的元數(shù)據(jù)結(jié)構(gòu)在界面的dataGridView控件中顯示,用戶可以將元數(shù)據(jù)內(nèi)容保存為xml文件形式。

  4 采集后元數(shù)據(jù)的保存

  對(duì)于采集后的數(shù)據(jù)庫(kù)元數(shù)據(jù)信息采用xml文件的形式進(jìn)行保存。使用xml文件可以方便實(shí)現(xiàn)元數(shù)據(jù)內(nèi)容的傳送和保存。在保存數(shù)據(jù)時(shí)時(shí)我們自定義了xml文件的格式,使得xml文件的格式更加清晰明了。

  由于NET Framework也提供了一個(gè)快速、非緩存、只向前的方式動(dòng)態(tài)寫(xiě)入xml數(shù)據(jù)的類,即XmlWriter類。因此,在實(shí)現(xiàn)時(shí)調(diào)用這個(gè)類實(shí)現(xiàn)xml文件的寫(xiě)入和保存。自定義xml文件的具體實(shí)現(xiàn)為:使用WriteStartElement函數(shù)創(chuàng)建當(dāng)前節(jié)點(diǎn)的子節(jié)點(diǎn),并設(shè)置節(jié)點(diǎn)的屬性及其值,WriteEndElement函數(shù)來(lái)結(jié)束一個(gè)節(jié)點(diǎn)。WriteElementString函數(shù)來(lái)寫(xiě)入節(jié)點(diǎn)包含的屬性及值。

  5 結(jié)語(yǔ)

  在對(duì)數(shù)據(jù)庫(kù)中元數(shù)據(jù)的采集過(guò)程中,完成了對(duì)部分的元數(shù)據(jù)的采集和存儲(chǔ)過(guò)程,并提供了較為友好的展示界面,但是還存在采集的元數(shù)據(jù)信息不夠全面的問(wèn)題。在下一階段的研究中需要繼續(xù)研究元數(shù)據(jù)信息在不同的數(shù)據(jù)庫(kù)中的存儲(chǔ),并優(yōu)化查詢的SQL語(yǔ)句來(lái)獲取更多,,更全面的元數(shù)據(jù)。

  參考文獻(xiàn):

  [1]戴維森.SQL Server 2008數(shù)據(jù)庫(kù)設(shè)計(jì)與實(shí)現(xiàn)[M].北京:人民郵電出版社,2009.

  [2]徐菁.元數(shù)據(jù)的設(shè)計(jì)原則和實(shí)用中的問(wèn)題[J].圖書(shū)館理論與實(shí)踐,2008(6):48-51.

  [3]希爾伯沙茨.數(shù)據(jù)庫(kù)系統(tǒng)概念[M].北京:機(jī)械工業(yè)出版社,2008.

  [4]張紅強(qiáng). Oracle數(shù)據(jù)庫(kù)實(shí)例教程[M].天津:天津大學(xué)出版社,2009.

  [5]王珊. 數(shù)據(jù)庫(kù)系統(tǒng)概論[M].北京:高等教育出版社,2006.



本文編號(hào):14537

資料下載
論文發(fā)表

本文鏈接:http://www.lk138.cn/kejilunwen/jisuanjikexuelunwen/14537.html


Copyright(c)文論論文網(wǎng)All Rights Reserved | 網(wǎng)站地圖 |

版權(quán)申明:資料由用戶f8274***提供,本站僅收錄摘要或目錄,作者需要?jiǎng)h除請(qǐng)E-mail郵箱bigeng88@qq.com