freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

第2章xml與數(shù)據(jù)庫-中山大學(xué)信息科學(xué)與技術(shù)學(xué)院本科教育網(wǎng)站(編輯修改稿)

2024-12-13 13:57 本頁面
 

【文章內(nèi)容簡介】 abases) 數(shù)據(jù)庫 。 8 第三章 XML 文檔 與 數(shù)據(jù)庫的映射 關(guān)系數(shù)據(jù)庫的理論依據(jù)是關(guān)系模型,通過表來表示數(shù)據(jù)庫中的數(shù)據(jù),而 XML 文檔由 DTD 或 XMLSchema 來定義。 為了在數(shù)據(jù)庫和 XML 文檔之間傳遞數(shù)據(jù),必須在文檔結(jié)構(gòu)和數(shù)據(jù)庫結(jié)構(gòu)之間建立映射 。 即建立文檔結(jié)構(gòu)模型與數(shù)據(jù)庫數(shù)據(jù)模型之間映射關(guān)系 , 將 XML 映射到數(shù)據(jù)庫有兩種常見的方法:基于表的映射和對象 關(guān)系(或基于對象的)映射 [17]。這兩種方法都 是雙向的,因此可用于存儲和檢索 XML 文檔 。 模板驅(qū)動(dòng) 基于模板驅(qū)動(dòng)的映射沒有預(yù)先定義文檔結(jié)構(gòu)和數(shù)據(jù)庫結(jié)構(gòu)之間的映射關(guān)系 [11] ,需要在一個(gè)模板中嵌入帶參數(shù)的命令,并用數(shù)據(jù)傳輸諸如中間件等實(shí)體軟件進(jìn)行處理,基于模板驅(qū)動(dòng)的映射是一種淺層映射,以 XML 內(nèi)嵌的 SQL 執(zhí)行的數(shù)據(jù)結(jié)果集為依據(jù),不涉及數(shù)據(jù)庫賴以存在的關(guān)系模式或?qū)ο竽J桨逵成?。 比如下面的模板: 表單 31 模板 < ?xml version=?> < FlightInfo> < Intro> The following flights have available seats:< /Intro> < SelectStmt> SELECT Airline, FltNumber, Depart, Arrive FROM Flights< /SelectStmt> < Conclude> We hope one of these meets your needs< /Conclude> < /FlightInfo> 注意其中嵌入了一個(gè) SELECT 語句。當(dāng)用數(shù)據(jù)傳輸中間件進(jìn)行處理的時(shí)候,每一個(gè) SELECT 語句都會(huì)被它的結(jié)果所代替,用 XML 格式化形式 表現(xiàn)為 : 表單 32 處理后的結(jié)果 < ?xml version=?> < FlightInfo> < Intro> The following flights have available seats:< /Intro> < Flights> < Row> < Airline> ACME< /Airline> < FltNumber> 123< /FltNumber> 9 < Depart> Dec 12, 1998 13:43< /Depart> < Arrive> Dec 13, 1998 01:21< /Arrive> < /Row> ... < /Flights> < Conclude> We hope one of these meets your needs< /Conclude> < /FlightInfo> 基于模板驅(qū)動(dòng)的映射可以是相當(dāng)靈活的,比如,一些產(chǎn)品允許你把結(jié)果集放到 XML 文檔的任何位置,同時(shí)可以對 SELECT 語句設(shè)置參數(shù),并且可以使用 for 循環(huán)語句和 if 條件語句等。值得注意的是,當(dāng)前基于模板驅(qū)動(dòng)的映射只能應(yīng)用于在關(guān)系數(shù)據(jù)庫和 XML 文檔之間傳遞數(shù)據(jù)。 模型驅(qū)動(dòng) 模型驅(qū)動(dòng) 的數(shù)據(jù)轉(zhuǎn)換需要通過一些預(yù)定義的模型來進(jìn)行映射。利用 XML 文檔結(jié)構(gòu)對應(yīng)的數(shù)據(jù)模型顯示或隱式地將其映射成數(shù)據(jù)庫的結(jié)構(gòu),反之亦然。盡管它的靈活不如模板驅(qū)動(dòng)方式,由于它是基于具體的數(shù)據(jù)模型來進(jìn)行映射的,從而具有簡單易用的特點(diǎn)。 模型驅(qū)動(dòng)的映射方式又分為兩種 :基于表格的映射和對象 關(guān)系映射。 基于表格的映射 它把 XML文檔表示為一個(gè)單一的表格或者是表格的集合 , 與數(shù)據(jù)庫中的表對應(yīng) ,下面是兩種情況下的文檔結(jié)構(gòu): 表單 33 表映射(單表) Table Row1 Column_a … /Column_a Column_b … /Column_b Column_c … /Column_c /Row1 Row2 Column_a … /Column_a 10 Column_b … /Column_b … /Row2 … /Table 表單 34 表映射 ( 多表) Tables Table_1 Row1 Column_a … /Column_a Column_b … /Column_b Column_c … /Column_c /Row1 Row2 Column_a … /Column_a Column_b … /Column_b … /Row2 … /Table_1 Table_2 Row1 Column_a … /Column_a 11 Column_b … /Column_b Column_c … /Column_c /Row1 Row2 Column_a … /Column_a Column_b … /Column_b … /Row2 … /Table_2 /Tables 基于表格的映射比較簡單, 因?yàn)榻Y(jié)構(gòu)與關(guān)系數(shù)據(jù)庫的表及結(jié)果集匹配,根據(jù)這種映射編寫代碼很容易。代碼執(zhí)行快、伸縮性好,對某些應(yīng)用很合適,比如每次一個(gè)表在數(shù)據(jù)庫之間傳遞數(shù)據(jù)。但是,基于表的映射也有一些不足之處。它只能用于非常小的 XML 文檔子集。 對存取關(guān)系型數(shù)據(jù)比較適用 , 但不適于格式不符的 XML 文件 。 對象 關(guān)系映射 對象 關(guān)系映射, 將 XML 文件中的數(shù)據(jù)視為特定的對象樹的模型。在這個(gè)模型中,元素及其類型、元素內(nèi)容或混合內(nèi)容( 復(fù)合元素類型 )通常被視為類。只具有 PCDATA內(nèi)容的元素 (簡單元素類型 )、屬性以及 PCDATA 都被當(dāng)作簡單屬性。然后通過傳統(tǒng)的對象 關(guān)系映射技術(shù)將該模型映射到關(guān)系型數(shù)據(jù)庫。也就是說,類被映射到表格,簡單屬性被映射到字段,而值為對象屬性被映射為成對的主鍵 /外鍵。 表單 35 XML 格式的單個(gè)銷售訂單 SalesOrder Number=123 CustName新城工業(yè) /CustName 12 OrderDate20200808/OrderDate Item ItemNumber=1 Description pb大華汽車 /bbr/ 功能完備,外型時(shí)尚, 高性價(jià)比,終身保修 ./p /Description Price/Price Quantity8/Quantity /Item Item ItemNumber=2 Description pb填塞料 bbr / 鋁制 , 一年保修 ./p /Description Price/Price Quantity400/Quantity /Item /SalesOrder 銷售訂單文檔可以被看成一個(gè)對象樹,其中包括五個(gè)類: SalesOrder, Customer, Item, 和 Description。該文檔映射為 表單 36 所示的對象。 表單 36 銷售訂單文檔看成一個(gè)對象樹 object SalesOrder { number = 123。 13 customer = 新城工業(yè) 。 Orderdate = 20200808。 items = {ptrs to Item objects}。 } / \ / \ / \ object Item { object Item { Itemnumber = 1。 Itemnumber = 2。 Description = …。 Description = …。 price = 。 price = 。 quantity = 8。 quantity = 400。 } } 這種映射方法將 XML 文檔建模為針對文檔數(shù)據(jù)的一棵對象樹 ,然后將這些對象映射到數(shù)據(jù)庫。 它 主要在面向?qū)ο蠛蛯哟螖?shù)據(jù)庫中使用,通過傳統(tǒng)的關(guān)系 對象模型也可以映射到關(guān)系數(shù)據(jù)庫中 。 14 第四章 XML 文檔與 關(guān)系數(shù)據(jù)庫的轉(zhuǎn)換 在前言中,本文闡述了 XML 文檔與關(guān)系數(shù)據(jù)庫的轉(zhuǎn)換 的目的和原因,在這章將具體地介紹 XML 文檔與關(guān)系數(shù)據(jù)庫的 之間的相互 轉(zhuǎn)換 。 XML 文檔到關(guān)系數(shù)據(jù)庫的轉(zhuǎn)換 將關(guān)系數(shù)據(jù)庫中的數(shù)據(jù)轉(zhuǎn)換為 XML 文檔 , 重要的一個(gè)問題是,數(shù)據(jù)庫的表中的數(shù)據(jù),與轉(zhuǎn)換后的 XML 文檔中的數(shù)據(jù)能否一致,一致應(yīng)該有三個(gè)含義:關(guān)系模式 、 數(shù)據(jù)類型、數(shù)據(jù)值 [15],也一是數(shù)據(jù)的結(jié)構(gòu)與內(nèi)容。這 涉及 到 許多問題 , XML 文檔中涉及的是元素 、 子元素、屬性、處理指令、實(shí)體、實(shí)體引用等概念 , 一個(gè)數(shù)據(jù)庫涉及的 是表、記錄、字段 、關(guān)鍵字、 主 外鍵 、 視圖、索引等概念 。 XML 文檔到關(guān)系 數(shù)據(jù)庫轉(zhuǎn)換基本規(guī)則 XML 文檔到關(guān)系數(shù)據(jù)庫的 轉(zhuǎn)換 ,主要是元素和屬性到表和列的轉(zhuǎn)換 ,規(guī)則如下: ( 1) 對每個(gè)含有子元素或混合內(nèi)容的元素生成一個(gè)表和一個(gè)主鍵 字段 ; ( 2) 對每個(gè) 有混合內(nèi)容的元素生成一個(gè)單獨(dú)表,該元素保存的 PCDATA 數(shù)據(jù), 通過父表主鍵連接; ( 3) 為每一個(gè)元素的單值屬性和只出現(xiàn)一次的子元素創(chuàng)建一個(gè)字段,字段類型與 XML 數(shù)據(jù)模式中聲明的類型一致。如果該子元素或者該屬性在 XML 中允許為空,則 相應(yīng)的在數(shù)據(jù)庫中,該字段允許為空,否則反之; ( 4) 為每一個(gè)元素的多值的屬性或者能在文檔中多次出現(xiàn)的子元素創(chuàng)建獨(dú)立的表,該表與父表通過父表的關(guān)鍵字關(guān)聯(lián) ; ( 5) 對每個(gè)有子元素或含混合內(nèi)容的子元素,通過父表的主鍵連接父表到子元素的表 。 XML 文檔到關(guān)系數(shù)據(jù)庫轉(zhuǎn)換 規(guī)則 舉例 ( 1) 對每個(gè)含有子元素或混合內(nèi)容的元素生成一個(gè)表和一個(gè)主鍵字段 ,如 圖41 為一 DTD。 〈! ELEMENT order( orderNum, Date?, Item*)〉 〈! ELEMENT orderNum( PCDATA) 〉 15 〈! ATTLIST order CustNum IDREFS IMPLIED 〉 〈! ELEMENT Date( PCDATA)〉 〈! ELEMENT Item( ItemNum, Quantity, PCDATA*)〉 〈! ELEMENT ItemNum( PCDATA)〉 〈! ELEMENT Quantity( PCDATA)〉 其中 order 和 Item 含有子元素,將其轉(zhuǎn)換為兩表 Table1 order 含有字段 order_pk(r1)1 Table2 Item 含有字段 Item_pk (r1) 圖 41 規(guī)則一舉例 ( 2) 對每個(gè) 有混合內(nèi)容的元素生成一個(gè)單獨(dú)表,該元素保存的 PCDATA 數(shù)據(jù), 通過父表主鍵連接; 如圖 42 〈! ELEMENT order( orderNum, Date?, Item*)〉 〈! ELEMENT orderNum( PCDATA) 〉 〈! ATTLIST order CustNum IDREFS IMPLIED 〉 〈! ELEMENT Date( PCDATA)〉 〈! ELEMENT Item( ItemNum, Quantity, PCDATA*)〉 〈! ELEMENT ItemNum( PCDATA)〉 〈! EL
點(diǎn)擊復(fù)制文檔內(nèi)容
法律信息相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1