XML數據庫中幾個容易混淆的概念(2)_Xml教程

      編輯Tag賺U幣
      教程Tag:暫無Tag,歡迎添加,賺取U幣!

      推薦:XSL簡明教程(7)XSL 的控制語句
      原著:Jan Egil Refsnes 翻譯:阿捷 七. XSL 的控制語句 1.條件語句if...then XSL同樣還有條件語句(呵呵~~好厲害吧,象程序語言一樣)。具體的語法是增加一個xsl:if元素,類似這樣 <

        Diets目錄包含了子目錄,并且每一子目錄很多XML的flat文件。

        關系數據庫

        關系數據庫中的XML數據庫可以分為三種模型:coarse-grained(粗糙紋理型), medium-grained(中等級別紋理型),或 fine-grained(優良紋理型)。

        coarse-grained(粗糙紋理型)模型在邏輯上與flat文件模型有些不同。你可以使用一個關系數據庫來存放每一個XML文檔。例如,以下的代碼可以存放一個XML文檔:

        Create table diets
        ( dietName varchar2(30),
         xmlDocument varchar2(32000)
        )

        fine-grained(優良紋理型)模型將XML文檔的每一成分映射到關系數據庫中。為了能夠將flat模型轉移到關系數據庫,你必須使用兩種改變方式。對以上的范例,你不能再使用子目錄名來代表diet的名稱,你也不能再使用文件的名稱來傳遞diet的日期。表A顯示了diet的XML文檔的文件類型定義(DTD);表B顯示了將DTD映射到關系表的數據定義語言(DDL)。除此之外,表C還包括了相應的XML語法。

        medium-grained(中等級別紋理型)模型介于coarse-grained(粗糙紋理)模型與 fine-grained(優良紋理)模型之間。使用這一模型,你可以將信息存儲在meals 表的xml_items列中。

        對象數據庫

        你也可以通過使用一個對象數據庫來執行NXD。有些對象數據庫是基于文檔對象模型(DOM),這允許XML與數據庫有緊密的結合。例如,一旦你提供一個食物方面的DTD,你可以開始保存這些食物,而不需要額外的配置。

        數據庫管理系統

        對于DBMS,你可以有多種選擇。你可以通過使用開放程序如eXist或Ozone來建立自己的DBMS,或者購買商業產品如Tamino XML Server。

        絕大多數關系數據庫賣主都使他們的數據庫能夠使用XML,至少的,XML數據庫(XEDBs)能夠返回XML文檔查詢的結果。另外很多也可以保存XML數據。例如,Oracle 提供了一個XML剖析器,一個Xpath引擎,一個XSLT處理器,一個XMLSQL工具,以及使用XML的方法。

        所以,使用關系數據庫存儲的NXD和存儲XML數據的XEDB有什么區別呢?一個NXD是基于XML文檔概念而建立,而XEDB與其它沒有過多的關聯。而且,很多規范適用于NXD,而DBMS只適用標準的查詢和存儲數據的XML文檔,比如Xpath。

        XML數據庫不是新概念

        XML數據庫在邏輯觀點上不是新概念,雖然在邏輯執行上是新的。如果你想要執行一個XML數據庫,你可以使用NXD,XEDB,或者是二者的結合。然而,如果你所在的公司對現有的數據庫已經有一定的投資,你所做的第一個調查就是核實你的DMBS賣主是否提供使用XML的工具。無論你使用的哪一種XML數據庫方式,你都要非常理解每一種數據庫的特性,這才是最重要的。

      分享:網頁編程必看:XML文法分析
      在進行XML文法分析之前,首先有必要了解XML語法的基本規則: 詞法特征:1)XML區分大小寫,如元素名在打開和關閉標記中應保持大小寫一致<mytag>…</mytag>,XML的保留詞

      共2頁上一頁12下一頁
      來源:模板無憂//所屬分類:Xml教程/更新時間:2008-08-22
      相關Xml教程