1 / 25

<title> XML 與 XQuery ,新一代資料儲存標準 </title>

<title> XML 與 XQuery ,新一代資料儲存標準 </title>. <prof> 黃三益 </prof> <stud.>D954020009 尤濬哲 D954020002 李銘祥 </stud.>. Outline. 緒論 相關觀念 相關的SQL語法 XML 系統架構與相關產品介紹 結論. 1. 緒論 (1/4). XML 的歷史 XML 與 HTML ML 語言 HTML 的限制 1. 需使用規定的標籤 2. 結構較不嚴謹及 3. 以資料呈現方式為主. 1. 緒論 (2/4). XML 的一個範例.

zarola
Download Presentation

<title> XML 與 XQuery ,新一代資料儲存標準 </title>

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. <title>XML與XQuery ,新一代資料儲存標準</title> <prof>黃三益</prof> <stud.>D954020009 尤濬哲 D954020002 李銘祥</stud.>

  2. Outline • 緒論 • 相關觀念 • 相關的SQL語法 • XML系統架構與相關產品介紹 • 結論

  3. 1.緒論 (1/4) • XML的歷史 • XML與HTML • ML語言 • HTML的限制 • 1.需使用規定的標籤 • 2.結構較不嚴謹及 • 3.以資料呈現方式為主

  4. 1.緒論 (2/4) • XML的一個範例 <?xml version="1.0" encoding="Big5" ?> - <lib> <book> <title>XML大未來</title> <author>Mary</author> <price=>590</price> </book> - <book> <title>如何在 7-11 白吃白喝</title> <author>無名氏</author> <price>120</price> </book> </lib>

  5. 1.緒論 (3/4) • XML的特點 • 擴充性 • 共通性 • 自我描述 • Xquery • 是XML的查詢語言 • 2007/1/23 XQuery已接受W3C協會推薦 • 逐漸受到重視

  6. 1.緒論 (4/4) • XML的應用面 • 自動化電子商務應用 • 知識管理 • 資訊傳播 • 資料整合與應用

  7. 2.相關觀念 (1/4) (1)文件宣告 • DTD • Schema (2)文件內容 • 元素(Element) • 屬性(Attribute) • 實體參考(Entity Reference) • CDATA區塊和 PCDATA • PI(Processing Instructions)

  8. 2.相關觀念 (2/4) • XML資料庫 • XML-Enabled 資料庫(XED) • 支援XML的資料庫系統 • 本身可能是RD或其他種類 • 透過中介軟體與XML整合 • Native XML資料庫(NXD) • 本身資料模式即是XML • 不需經由中介軟體轉換 • 技術仍屬於發展階段

  9. 2.相關觀念 (3/4) • 一個XML資料庫架構範例

  10. XML查詢語言(Xquery ) 專屬於XML的查詢語言 W3C 於1999 年九月開始定義XML 2007/1通過最新版本Xquery 2.0 目前有20個以上的資料庫支援,包含MS SQL等大廠。 Xquery的要求 以XML 語法表示及以XML 格式做為輸出格式。 不需使用資料結構 保留文件的順序及關聯。 支援XLink及XPointer 名稱空間別名(Namespace Alias)應具獨立性。 程式化操作及在伺服器端處理 查詢操作功能需在同一XML 之查詢語言中。 2.相關觀念 (4/4)

  11. 3.相關的SQL語法 (1/10) • Xquery的三種語法 • Xpath為基礎的查詢 • FLWR語法 • 查詢關聯式資料庫 • Xpath為基礎的查詢 • Xpath是Xquery的子集 • Xpath的標準語法本身即是合法的XQuery

  12. 3.相關的SQL語法 (2/10) • Xpath查詢範例 列出所有為作者的元素 //Author -------------------------------------------------- 列出store中所有的Author Document("store.xml")//Author

  13. 3.相關的SQL語法 (3/10) • FLWR語法 • Xquery中的流程控制語法 • FlwrExpr:FOR或LET敘述其後必伴隨一個WHERE敘述 • WhereClause:WHERE敘述可在接另一串的合法的XQuery 查詢,包含另一串FLWR敘述 • ReturnClause:傳回查詢結果

  14. 3.相關的SQL語法 (4/10) • FLWR語法範例(1) 列出所有作者 LET $Author:=//Author RETURN $Author 列出所有作者 FOR $ Author IN // Author RETURN $ Author

  15. 3.相關的SQL語法 (5/10) • FLWR語法範例(2) 列出所有書籍的作者 FOR $book in //book FOR $author IN $book/author RETURN $author 解說: 第一層的FOR迴圈,$book被指派K次(所有book的數量),而每一次第二層的FOR迴圈將依據<book>元素中<author>子元素的數目指派查詢值給$author變數(可能有第一作者、第二作者等…),最後列出所有書籍作者。

  16. 3.相關的SQL語法 (6/10) • FLWR語法範例(3):匯總函數 列出所有出版書籍超過100本的出版商 FOR $p IN distinct(document("booklist.xml")//publisher) LET $b := document(“booklist.xml”)/book[publisher = $p] WHERE count($b) > 100 RETURN $p 列出所有書價超過平均書價的書籍名稱 LET $a := avg(//book/price) FOR $b IN /book WHERE $b/price > $a RETURN$b/title

  17. 3.相關的SQL語法 (7/10) Customer … mId m_Name m_bith Order oId mId pId num date Product … pId p_Name p_Price • XQuery 查詢關聯式資料庫 • 假設一個關連式資料結構如下

  18. 3.相關的SQL語法 (8/10) • Joint運算(1) • 列出購買過”資料庫的核心理論與實務”的產品的顧客姓名 SQL: Select c.c_Name From Customer as c, Order as o, Product as p Where p.p_Name='資料庫的核心理論與實務' and o.pId=p.pId and c.mId=o.Mid XML : FOR $p IN document("product.xml")//o_record[p_Name = '資料庫的核心理論與實務'] $o IN document("order.xml")//o_record[pId = $p/pId] $c IN document("customer.xml")//c_record [mId=$o/mId], RETURN $c/c_Name

  19. 3.相關的SQL語法 (9/10) • Joint運算(2) • 如要找出所有的曾經購買過的會員,並列出其購買的產品名稱 SQL: Select c.c_Name, p.p_Name From Customer as c, Order as o, Product as p Where o.pId=p.pId and c.mId=o.Mid XML : FOR $c IN document(“customer1.xml”)//c_record RETURN <customer1> $c/c_Name FOR $o IN document(“order.xml”)// order_record [mId = $o/mId]$p IN document(“product.xml”)//product_record [pId = $o/pId]RETURN $p/p_Name </customer1 >

  20. 3.相關的SQL語法 (10/10) • Group運算式(1) • 找出至少購買五次以上的顧客其平均消費金額 SQL: SELECT avg(p_Price) AS avgprice FROM order GROUP BY pId HAVING count(*) >= 5 XML : FOR $op IN distinct(document("order.xml")//pId) LET $o := document("customer1")//order_record[pId = $op] WHERE count($o) >=5 RETURN <customer1> $op,<avgprice> avg($o/price) </avgprice> </ customer1>

  21. 4. XML系統架構與相關產品介紹 (1/3) • Tamino簡介 • 第一套純粹XML資料庫(NXD) • 德國Software AG發展 • 主要架構 • 1.X-Engine • 2.Data Map • 3.Tamino Manager • 其他發展工具 • 1.Tamino Schema Editor • 2. Tamino X-Plorer • 3. Tamino X-Application

  22. 4. XML系統架構與相關產品介紹 (2/3) • Xquery執行效率評比(1) • 執行反應時間(Tamino-1較慢,MS SQL最佳)

  23. 4. XML系統架構與相關產品介紹 (3/3) • Xquery執行效率評比(2) • 執行深度的反應時間(Tamino-1較慢,MS SQL最佳)

  24. 5.結論 1. XML是當今最受注目的資料交換機制,而XQuery 則是XML的查詢語言,因此XQuery 是一種有前途的技術。 2. XQuery 的標準及技術仍未統一及成熟,甚至最新的版本並沒有Update的語法。 3. XQuery 執行效率相對於SQL而言差異頗大,對於操作大型資料庫顯的有點吃力。 4. XML與SQL仍會並存10年以上的時間,最後獲勝者則仍然未知。

  25. Q & A

More Related