XQuery

1 / 21
About This Presentation
Title:

XQuery

Description:

XML tr? th nh m?t chu?n trao d?i d? li?u gi?a c c h?t th?ng, ?ng d?ng ... V d? 1.2: T?ng h?p th ng tin tr n c c ngu?n d? li?u x c d?nh (tt) ... – PowerPoint PPT presentation

Number of Views:217
Avg rating:3.0/5.0
Slides: 22
Provided by: mikech2

less

Transcript and Presenter's Notes

Title: XQuery


1
XQuery ?ng d?ng
  • Nguy?n Vi?t Thành
  • B? môn H? th?ng thông tin Khoa Công ngh? thông
    tin
  • Ð?i h?c Khoa h?c t? nhiên TpHCM
  • 13/04/2004

2
M?c l?c
  • Gi?i thi?u
  • Cú pháp
  • ?ng d?ng
  • K?t lu?n

3
T?i sao XQuery ra d?i?
  • Nhu c?u truy v?n t? nhi?u ngu?n d? li?u g?m nhi?u
    lo?i khác nhau
  • Nhu c?u truy v?n d? li?u không c?u trúc hay
    bán c?u trúc
  • XML tr? thành m?t chu?n trao d?i d? li?u gi?a các
    h?t th?ng, ?ng d?ng
  • SQL không phù h?p v?i truy v?n d? li?u XML

XML DBMS
RDBMS
?
Apps
Docs
Enterprise Systems
4
M?t s? d?c di?m c?a XQuery
  • Mô hình d? li?u có th? bi?u di?n các lo?i d? li?u
    khác nhau
  • Có kh? nang x? lý tính có th? t? và phân c?p c?a
    d? li?u XML
  • Không ch? là ngôn ng? truy v?n don thu?n, mà còn
    h? tr? nhi?u d?ng bi?u th?c và d?nh d?ng k?t qu?

  • Hi?n chua hoàn thi?n (data manipulation, full
    text search)

5
XQuery và SQL
  • SQL s? khó khan trong vi?c tìm ki?m d? li?u n?u
    không bi?t tru?c d? sâu phân c?p.
  • VD Tìm các m?t hàng có màu d? (không bi?t c?u
    trúc d? li?u, ch? bi?t thu?c tính mô t? màu là
    color) thông qua XQuery //_at_color "Red"
  • D? li?u SQL tr? v? mang tính ph?ng còn d? li?u
    XQuery tr? v? là d? li?u XML phân c?p. XQuery
    có kh? nang d?nh d?ng d? li?u tr? v?.

..... return or b/title, a/last

6
XQuery và XPath, XSLT
  • XPath 2.0 là m?t thành ph?n c?a XQuery nhung
    không có nh?ng d?c di?m
  • Ð?nh nghia thành ph?n XML (d?nh d?ng d? li?u tr?
    v?)
  • Ð?nh nghia hàm
  • Ki?u d? li?u
  • XSLT v? kh? nang d?nh d?ng tuong t? XQuery
  • Không x? lý cùng lúc nhi?u tài li?u XML
  • Cung d?a trên n?n t?ng XPath

7
C?u trúc m?t câu truy v?n XQuery
  • Là m?t bi?u th?c bao g?m nhi?u bi?u th?c con k?t
    h?p v?i nhau m?t cách linh ho?t
  • Bi?u th?c Xpath /a//bc5
  • Bi?u th?c FLWR FOR LET WHERE RETURN
  • Thành ph?n XML
  • Bi?n và h?ng s? x, 5
  • Toán t? và hàm x y, foo(x,y)
  • Bi?u th?c di?u ki?n IF THEN ELSE
  • Vòng l?p EVERY bi?n IN bi?u th?c SATISFIES bi?u
    th?c
  • Bi?u th?c s?p x?p SORTBY (ASCENDING, )

8
Tài li?u XML ví d? - bib.xml
TCP/
IP Illustrated
Stevens W.
Addison-Wesle
y 65.95

9
Bi?u th?c Xpath
document(bib.xml) /bib/book/author /bib/book
/author1 TO 2 //authorlastStevens and fir
stW. //book authorlastStevens BEFORE
authorlastAbiteboul
TCP/
IP Illustrated
Stevens W.
Addison-Wesle
y 65.95

10
Bi?u th?c FLWOR co b?n
  • for
  • L?p tu?n t?
  • Bi?n cho t?ng node l?p
  • let
  • Bi?n luu giá tr?
  • where
  • L?c k?t qu?
  • order by
  • S?p x?p k?t qu?
  • return
  • Ð?nh d?ng k?t qu? tr? v?

for b in input()/bib/book let
a b/author where b/price lt 200 order by
a/last return b
/title, a/last
phy
11
Hi?n tr?ng c?a XQuery
  • Ðang du?c W3C xem xét d? công nh?n chu?n XQuery
    1.0
  • Cài d?t
  • Tuy chua du?c công nh?n chu?n nhung dã có khá
    nhi?u s?n ph?m thuong m?i s? d?ng XQuery
  • S?n ph?m DB2 Information Integrator for Content
    V8.2 c?a IBM có kh? nang tích h?p thông tin t?
    RDBMS (Oracle, DB2), tài li?u XML, Web services,
  • APIs (Application Programming Interfaces)
  • Nhi?u APIs c?a nh?ng ?ng d?ng d?c thù dã du?c
    cung c?p
  • Microsoft h? tr? XQuery trong phiên b?n ti?p theo
    c?a Visual Studio.NET (2005 - thu?c l?p
    System.XML)
  • XQuery API for Java (XQJ)

12
Tuong lai c?a XQuery
  • XQuery 1.0
  • S?p du?c công nh?n là chu?n W3C
  • XQuery 1.1
  • Các yêu c?u dã du?c so?n th?o
  • B? sung c?p nh?t d? li?u (data manipulation),
    full-text search. Hi?n m?t s? d? ngh? dã du?c dua
    ra b?i Software AG (bi?u th?c dùng trong
    Tamino).
  • Hi?u nang
  • Thu?n l?i Ð?nh lu?t Moore và s? c?nh tranh
  • Khó khan B?n ch?t XML (phân c?p, x? lý song song
    kém)

13
?ng d?ng 1 Tích h?p thông tin
Web Services
RDBMS
XML DB
N?n tích h?p XML
XQuery
RDBMS
?ng d?ng d?ng d?ch v?
14
Ví d? 1.1 Qu?n lý song song d? li?u c?u trúc và
bán c?u trúc
15
Ví d? 1.2 T?ng h?p thông tin trên các ngu?n d?
li?u xác d?nh
  • Ngu?n d? li?u này có c?u trúc xác d?nh tru?c và
    thông tin mang tính t?c th?i (trang giá ch?ng
    khoán, trang d?u giá, trang tin t?c di?n t?, )

16
Ví d? 1.2 T?ng h?p thông tin trên các ngu?n d?
li?u xác d?nh (tt)
  • Bài toán Nhà d?u tu ch?ng khoán quan tâm d?n m?t
    lo?i ch?ng khoán niêm y?t. Nhà d?u tu có nhu c?u
    bi?t các thông tin t?c th?i liên quan d?n ch?ng
    khoán dó l?y t? m?t s? ngu?n thông tin nhu trung
    tâm giao d?ch ch?ng khoán, các trang tin kinh t?,
    trang tin c?a các công ty liên quan
  • Yêu c?u 1 L?y nh?ng tin t?c có tiêu d? ch?a tên
    ch?ng khoán hay công ty quan tâm
  • Yêu c?u 2 L?y nh?ng tin t?c có tiêu d? ch?a tên
    ch?ng khoán hay công ty quan tâm và trong n?i
    dung có d? c?p d?n giá, h?p d?ng, giao
    d?ch, l?i nhu?n

17
?ng d?ng 2 Chuy?n d?i d?nh d?ng
  • Bài toán dây chuy?n cung c?p (Supply Chain).
  • rs" pxz100121fier 12
  • 1200
  • USD
  • DNBX22
  • unitPrice"12.00" currency"USD"
    discount"DNBX22" xmlnspo"http//www.myapp.com/p
    o"/
  • declare namespace ord"http//www.customer.com/or
    ders"
  • declare namespace po"http//www.myapp.com/po"
  • for custlineitem in document("customerPO.xml")//
    orditem
  • return emIdentifier" qty"custlineitem/ordquantity"
    unitPrice"custlineitem/ordprice"
    currency"custlineitem/ordcurrency"
    discount"custlineitem/orddiscount"/

18
?ng d?ng 3 Qu?n lý t?p tin log
  • T?p tin log dùng luu v?t s? ch?a m?t lu?ng l?n
    thông tin có ích cho nh?ng v?n d? nhu b?o m?t,
    tài nguyên h? th?ng
  • Bài toán Xác d?nh các k?t n?i b?t bình thu?ng t?
    m?t máy tr?m d?n m?t máy ch? (l?n hon nhi?u so
    v?i m?c k?t n?i trung bình)
  • let log collection("logs")
  • let logCount count(log//logEntry)
  • let hosts distinct-values(log//host)
  • let avg logCount div count(hosts)
  • for host in hosts where count(log//host)
    avg
  • order by count(log//host)
  • return host

19
K?t lu?n
  • S? ra d?i XML and XQuery không nh?m m?c dích thay
    th? d? li?u quan h? và truy v?n SQL
  • RDBMS, SQL v?i d? li?u ph?ng và quan h? s? phù
    h?p v?i m?t t?p các bài toán
  • XML, XQuery v?i d? li?u phân c?p s? phù h?p v?i
    m?t t?p các bài toán khác
  • Ph?i h?p gi?a (RDBMS, SQL) và (XML, XQuery) là
    m?t hu?ng ti?p c?n có tri?n v?ng.

20
Tham kh?o
  • W3C http//www.w3.org/TR/XQuery
  • W3C http//www.w3.org/TR/XPath
  • W3C http//www.w3.org/XML
  • Software AG, XML Company http//www.softwareag.com


21
Th?o lu?n
  • Q A
Write a Comment
User Comments (0)