文/宣光榮
所謂概念模型,最早是二十世紀七十年代IBM成員E.F.Codd博士提出的,并且在二十世紀末相關(guān)學(xué)者對其開展了深入的研究,將關(guān)系模型的概念逐漸發(fā)展,構(gòu)建成數(shù)據(jù)庫架構(gòu)整體的主流模型,而發(fā)展至今,關(guān)系模型主要就是指二維表格的模型,要想了解關(guān)系型數(shù)據(jù)庫,就要對關(guān)系模型中的常用概念進行分析。
關(guān)系模型中的“關(guān)系”,是指類似一張二維表的關(guān)系,其中各關(guān)系都有關(guān)系名(表名);其中的“元組”是二維表中的行;“屬性”是二維表的列,在關(guān)系型數(shù)據(jù)庫中分別被稱為“記錄”和“字段”;對應(yīng)屬性的取值范圍被稱為“域”;字段中的關(guān)鍵字是一系列具有唯一標識的元組,是由一個或多個行列組成的。
關(guān)系型數(shù)據(jù)庫是指通過融合關(guān)系模型技術(shù)所開展建設(shè)的關(guān)系模型數(shù)據(jù)庫。簡單來說關(guān)系模式就相當于二維表的模式,整體需要用行列進行數(shù)據(jù)存儲,從而更便于理解。用戶通過實際的Query(查詢)功能進行關(guān)系型數(shù)據(jù)庫的對應(yīng)數(shù)據(jù)字段檢索,在這其中就要鎖定對應(yīng)數(shù)據(jù)庫內(nèi)行列的SELECT標準語句。標準的關(guān)系型數(shù)據(jù)庫需要包括客戶端(Client)、數(shù)據(jù)庫處理器(Server)以及數(shù)據(jù)庫(Database)三部分。采用Structured Query Language(SQL)語言進行客戶端和數(shù)據(jù)庫處理器之間的請求和回復(fù)關(guān)系,并進一步存入到數(shù)據(jù)庫中,在這整個過程中關(guān)系型數(shù)據(jù)庫中的數(shù)據(jù)存儲和管理需要用二維表的形式開展。
相對于其他模型方式來說,關(guān)系型數(shù)據(jù)庫有著易理解、易操作、易維護的特點。首先二維表的整體結(jié)構(gòu)是較為貼近人們的邏輯世界的,其關(guān)系模型與其他模型方式來說有著更易于理解的特點;其次在使用上也更多的是采用Structured Query Language(SQL)語言進行處理,相關(guān)的程序員也可以在邏輯層面進行數(shù)據(jù)庫的操控,較為簡便實用;而關(guān)系型數(shù)據(jù)庫因其數(shù)據(jù)完整性大大降低數(shù)據(jù)錯誤的情況產(chǎn)生,有著更易于維護的特點。
近年以來,我國對于關(guān)系型的數(shù)據(jù)庫也有著較為深遠的發(fā)展。像網(wǎng)狀模型、半結(jié)構(gòu)化模型等都是有較高性能的數(shù)據(jù)庫模型。網(wǎng)狀模型也是一種性能十分高的模型,在對于性能要求較高的系統(tǒng)中尤為適用,對象的模型更多的是要符合對象應(yīng)用程序,從而可以更有效的對接程序,不需要進行中間轉(zhuǎn)換。當前我國許多OR Mapping的系統(tǒng)組建就是隨著XML的不斷發(fā)展而發(fā)展出現(xiàn)的,并且發(fā)展至今已經(jīng)有了許多較有體系的數(shù)據(jù)庫模型,整體理論不斷成熟,使用也更為高效便捷,這些原因讓關(guān)系型數(shù)據(jù)庫依舊成為系統(tǒng)發(fā)展與應(yīng)用的主流措施。
一般來說,XML的文檔類型主要包括兩種,一種是面向文檔處理;一種是面向數(shù)據(jù)處理。前者在處理文檔的過程中就是基于XML作為自然語言的文檔資源獲取,對于類似用戶手冊之類的文檔進行特征分析,把握其物理結(jié)構(gòu),將復(fù)雜或者無規(guī)則的結(jié)構(gòu)進行內(nèi)容的混合,整體表示和提供對應(yīng)信息,這種面向文檔的處理方式也被稱為面向表示層面的文檔;后者面向數(shù)據(jù)處理的文檔主要是利用XML進行數(shù)據(jù)的傳送,從銷售訂單、產(chǎn)品記錄以及科研數(shù)據(jù)等來說,面向數(shù)據(jù)的XML更多的是處理文檔的物理結(jié)構(gòu),數(shù)據(jù)存儲屬性通常并不重要,但其特征是較為有序的,這樣具有較多數(shù)據(jù)結(jié)構(gòu)的副本可以存儲關(guān)系數(shù)據(jù)庫中大量的記錄信息,也更側(cè)重于應(yīng)用程序之間的程序數(shù)據(jù)交換,在一定程度上稱為面向消息類型的文檔。這兩種文檔都是屬于XML文檔的范疇內(nèi),二者整體的區(qū)別其實不大,但在具體的文檔操作和執(zhí)行上卻有著較大的差異。對于前者面向文檔處理的XML數(shù)據(jù)文檔處理過程中,需要對于全體文檔內(nèi)容進行檢索和重排;對于后者面向數(shù)據(jù)處理的XML數(shù)據(jù)文檔處理過程中,往往只需要對于文檔檢索的指定區(qū)域進行結(jié)合和修改,為文檔的檢索構(gòu)建增添新元素即可。
對于XML數(shù)據(jù)庫來說,其更多的也是XML文檔集合,當前在相關(guān)領(lǐng)域的發(fā)展中,XML文檔數(shù)據(jù)庫的發(fā)展和應(yīng)用方式主要有三種:首先是XML Enabled Database(XEDB),這種數(shù)據(jù)庫在應(yīng)用的過程中可以較為流暢的應(yīng)用和處理XML文檔。這類數(shù)據(jù)庫應(yīng)用的特點在于原有數(shù)據(jù)庫系統(tǒng)上對于XML系統(tǒng)數(shù)據(jù)進行處理,從而讓其適應(yīng)XML文檔數(shù)據(jù)存儲和查詢需求。對于這種數(shù)據(jù)庫系統(tǒng)來說需要在整體運行結(jié)構(gòu)上進行映射層的添加和管理,由數(shù)據(jù)庫的供應(yīng)商來提供進行整體的建設(shè)。映射層在XML數(shù)據(jù)的管理和檢索中雖然可能失去原有的XML元數(shù)據(jù),但數(shù)據(jù)檢索結(jié)果依舊是可以保證為原有XML形式的,核心的方法也就在于將XML樹形結(jié)構(gòu)進行拆解。
關(guān)系型數(shù)據(jù)庫是指通過融合關(guān)系模型技術(shù)所開展建設(shè)的關(guān)系模型數(shù)據(jù)庫。其結(jié)構(gòu)相當于二維表的模式,整體需要用行列進行數(shù)據(jù)存儲,從而更便于理解;一般來說,XML的文檔類型主要包括兩種,一種是面向文檔處理;一種是面向數(shù)據(jù)處理,前者在處理文檔的過程中就是基于XML作為自然語言的文檔資源獲取,后者面向數(shù)據(jù)處理的文檔主要是利用XML進行數(shù)據(jù)的傳送,二者應(yīng)用也有不同的特點,應(yīng)當依據(jù)需求開展應(yīng)用,利用XML文檔進行存儲和數(shù)據(jù)整理,設(shè)計和應(yīng)用專有、高效的數(shù)據(jù)模型方法。