肖 陽(yáng)
(黃河科技學(xué)院,河南 鄭州 430072)
基于XML的數(shù)據(jù)建模應(yīng)用
肖 陽(yáng)
(黃河科技學(xué)院,河南 鄭州 430072)
XML已經(jīng)成為表示結(jié)構(gòu)化和半結(jié)構(gòu)化數(shù)據(jù)的標(biāo)準(zhǔn)格式,XML中采用DTD和XML Schema模式來(lái)描述數(shù)據(jù)結(jié)構(gòu)。結(jié)合XML Schema與面向?qū)ο蟮乃枷?,提出了一種基于XML Schema建模的方法,并輔以實(shí)例。
XML;數(shù)據(jù)建模;面向?qū)ο?XML Schema
XML(Extensible Markup Language,可擴(kuò)展標(biāo)記語(yǔ)言)是W3C(全球互聯(lián)網(wǎng)聯(lián)盟)正式推薦的下一代互聯(lián)網(wǎng)標(biāo)準(zhǔn),將逐漸取代HTML成為互聯(lián)網(wǎng)上數(shù)據(jù)表示和交換的主要工具,被譽(yù)為互聯(lián)網(wǎng)信息的世界語(yǔ)和構(gòu)造未來(lái)Web新的工具。
面向?qū)ο蟮姆椒ㄊ且环N分析方法、設(shè)計(jì)方法和思維方法。面向?qū)ο蠓椒▽W(xué)的出發(fā)點(diǎn)和所追求的基本目標(biāo)是使人們分析、設(shè)計(jì)與實(shí)現(xiàn)一個(gè)系統(tǒng)的方法盡可能接近人們的認(rèn)知。
隨著Internet的飛速發(fā)展,全球信息資源的傳遞和利用日益增加,網(wǎng)絡(luò)產(chǎn)生的大量數(shù)據(jù)主要以HTML格式的數(shù)據(jù)存在,而HTML的局限性也越來(lái)越明顯。它僅僅是SGML的一種固定標(biāo)簽的應(yīng)用文檔,并不是其子集,因而喪失了SGML的大部分功能。XML的誕生與發(fā)展,正好解決了這一問(wèn)題,以XML為基礎(chǔ)的新一代網(wǎng)絡(luò)環(huán)境是以Web數(shù)據(jù)為基礎(chǔ),不僅能兼容原有的Web應(yīng)用,而且能實(shí)現(xiàn)其信息交換與共享。可以預(yù)見將來(lái)的網(wǎng)絡(luò)上還將產(chǎn)生大量的數(shù)據(jù),不過(guò)越來(lái)越多的數(shù)據(jù)將采用XML格式。XML將被廣泛的應(yīng)用于電子商務(wù)、Web服務(wù)、數(shù)字圖書館和企業(yè)集成等應(yīng)用,因此XML文檔的設(shè)計(jì)十分重要。但是,如果XML文檔只是只有自己才能理解的標(biāo)記,而與其他人無(wú)法進(jìn)行數(shù)據(jù)交換,應(yīng)用程序就不能對(duì)XML文檔進(jìn)行處理,所以說(shuō)一個(gè)設(shè)計(jì)良好的XML模式是XML應(yīng)用的基礎(chǔ)。XML數(shù)據(jù)的結(jié)構(gòu)、元素的名稱、元素的數(shù)據(jù)類型以及元素的親子關(guān)系都需要仔細(xì)考慮,一定要設(shè)計(jì)成人和系統(tǒng)能夠理解的語(yǔ)言。
DTD(文檔類型定義)是近幾年來(lái)XML技術(shù)領(lǐng)域所使用的最廣泛的一種模式。從整體上看,XML文檔的邏輯結(jié)構(gòu)分為包含DTD的描述和不包含DTD的描述。DTD既可以與XML文檔聲明處于同一個(gè)文檔中,也可以作為外部文件單獨(dú)生成,然后引用它,因而DTD為XML文檔的編寫者和處理者提供了共同遵循的原則,使得與文檔相關(guān)的各種工作有了統(tǒng)一的標(biāo)準(zhǔn)。
DTD可以看做一個(gè)或多個(gè)文件的模板,它規(guī)定了XML的構(gòu)建方式。例如,小區(qū)人口普查表的DTD內(nèi)部規(guī)定如下:
隨著應(yīng)用的不斷深入,DTD也顯示出一定的局限性,它不能滿足XML自動(dòng)化處理的完全要求。DTD需要特定的語(yǔ)法才能被解析和處理,不能很好地實(shí)現(xiàn)對(duì)文檔結(jié)構(gòu)、數(shù)據(jù)類型、屬性等約束的足夠描述,所以XML Schema應(yīng)運(yùn)而生。XML Schema有一個(gè)可擴(kuò)展的內(nèi)容模型,而DTD則是固定和不可擴(kuò)展的。XML Schema相對(duì)于DTD的明優(yōu)勢(shì)是XML Schema文檔本身也是XML文檔,而不是像DTD使用自成一體的語(yǔ)法。這就方便了用戶和開發(fā)者,因?yàn)榭梢允褂孟嗤墓ぞ邅?lái)處理XML Schema和其他XML信息。
下面結(jié)合面向?qū)ο笏枷?,用XML Schema語(yǔ)言建立一個(gè)簡(jiǎn)單的高校研究生課程系統(tǒng)。
在建立模型之前,我們需要對(duì)數(shù)據(jù)有一些透徹了解,這些問(wèn)題包括:存在哪些數(shù)據(jù)?這些數(shù)據(jù)的關(guān)系?如何實(shí)現(xiàn)模型的轉(zhuǎn)換?
首先,在進(jìn)行數(shù)據(jù)建模第一步要設(shè)計(jì)標(biāo)準(zhǔn)的數(shù)據(jù)格式,考慮需要哪些數(shù)據(jù),這些數(shù)據(jù)如何表示,即涉及的事實(shí)數(shù)據(jù)模型的建立。一旦模型被建立,數(shù)據(jù)模型才可以轉(zhuǎn)換成XML Schema,然后才能結(jié)合XML Schema進(jìn)行具體數(shù)據(jù)的設(shè)計(jì)和處理。
以某大學(xué)為例,假設(shè)該校包括各個(gè)院系和其他職能部門。每個(gè)院系有院系號(hào)、院系名稱、院系聯(lián)系電話和研究生專業(yè);研究生專業(yè)中包括專業(yè)號(hào)、專業(yè)名稱、研究方向;研究方向包括研究方向代號(hào)、研究方向名稱、指導(dǎo)教師、學(xué)生人數(shù)和課程;課程包括課程號(hào)、課程名稱。經(jīng)以上分析,我們得到下圖1:
圖1 該校數(shù)據(jù)模型
我們用面向?qū)ο蟮乃枷敕治鰣D1,哪些對(duì)象屬于超類,哪些對(duì)象屬于子類,各類又包括哪些內(nèi)容信息等等,各類之間有父子關(guān)系、兄弟關(guān)系、各兄弟的次序以及各個(gè)類有哪些屬性等等,如圖2、3所示。根據(jù)面向?qū)ο笏枷?,自頂向下,逐步求精?xì)化。
圖2 各個(gè)對(duì)象(數(shù)據(jù))之間的關(guān)系
圖3 對(duì)象所含屬性
根據(jù)對(duì)上述模型的設(shè)計(jì)與分析,包含以下幾個(gè)主元素:CL、各院系、招生專業(yè)、研究方向。下面對(duì)各個(gè)主元元素進(jìn)行Schema建模。
在運(yùn)用XML語(yǔ)言進(jìn)行系統(tǒng)設(shè)計(jì)時(shí),利用XML進(jìn)行數(shù)據(jù)建模是非常關(guān)鍵的一步。XML允許文檔的編寫者制定自己的信息描述、體現(xiàn)數(shù)據(jù)之間的邏輯關(guān)系,確保文檔具有較強(qiáng)的易讀性、清晰性和易檢索性。另外,XMLSchema可以確保應(yīng)用程序收到一個(gè)有效的XML文檔,然后可以針對(duì)某一類XML設(shè)計(jì)出應(yīng)用程序接口,繼而使用DOM/SAX對(duì)XML進(jìn)行處理。本文以某高校專業(yè)設(shè)置情況為例,對(duì)專業(yè)目錄、研究方向等具體對(duì)象進(jìn)行了數(shù)據(jù)抽象,并用XMLSchema對(duì)其進(jìn)行設(shè)計(jì)與實(shí)現(xiàn)。
[1]鄭賢中,王乘.XML的數(shù)據(jù)建模極其應(yīng)用[J].計(jì)算機(jī)工程,2002,(5):35-36.
[2]范新燦,李雯.數(shù)據(jù)建模的XML應(yīng)用研究[J].計(jì)算機(jī)與現(xiàn)代化,2004,(3):92-94.
[3]徐義峰,徐云青.XML在OLAP多維數(shù)據(jù)建模中的應(yīng)用[J].信息技術(shù),2005,(8):22-25.
[4]孫 霞,程宏斌.基于XML Schema的數(shù)據(jù)建模應(yīng)用研究[J].常熟理工學(xué)院學(xué)報(bào),2006,(4):114-116.
[5]余露.科技論文DTD的設(shè)計(jì)及其XML文檔生成[J].蘇州大學(xué)學(xué)報(bào)(自然科學(xué)版),2001,(2):11-15.
XML-based Data Modeling Application
XIAO Yang
(Huanghe Science and Technology College,Zhengzhou Henan 430072,China)
XML has become a standard form of structured and semi-structured data.DTD and XML Schema are applied of describing the structure of the data.Based on XML Schema and Object-oriented thought,this article proposed a method of modeling data based on XML Schema and gave a example about graduate system in college for elaborating.
XML;Data Modeling;object-oriented;XML Schema
TP39
A
1674-5787(2011)05-0155-03
2011-10-30
肖陽(yáng)(1983—),女,河南鄭州人,黃河科技學(xué)院工作。
責(zé)任編輯 王榮輝