.c
om
ng
an
co
Chương 2
du
o
ng
th
CÁC CƠNG NGHỆ
cu
u
VÀ KỸ THUẬT TÍCH HỢP CSDL
1
CuuDuongThanCong.com
/>
1
.c
om
Nội dung
Mơ hình dữ liệu mở rộng XML.
2.
Chuyển đổi lược đồ dữ liệu giữa các mơ hình.
3.
Tích hợp các lược đồ dữ liệu.
4.
Chuyển đổi và tích hợp dữ liệu.
cu
u
du
o
ng
th
an
co
ng
1.
CuuDuongThanCong.com
/>
2
.c
om
Ngôn ngữ XML
XML(Extensible Markup Language): ngôn ngữ định
co
ng
dạng mở rộng.
an
XML là ngôn ngữ được định nghĩa bởi tổ chức.
ng
th
mạng toàn cầu (World Wide Web Consortium)
du
o
thường được viết tắt W3C.
cu
u
XML là một ngôn ngữ tổng quát dùng để định
nghĩa dữ liệu thông qua các thẻ.
XML là một chuẩn khơng phụ thuộc vào bất kì một
hệ điều hành nào.
CuuDuongThanCong.com
/>
3
.c
om
Ngôn ngữ XML
Ngôn ngữ định dạng là tất cả những gì dùng để mơ
co
ng
tả nội dung một tài liệu.
cu
u
du
o
ng
th
an
Ví dụ:
<html>
<head>
<title>Xin chào thế giới HTML</title>
</head>
<body>
color="#008080">Đây là một trang dữ liệu
dạng HTML</font>
</body>
</html>
CuuDuongThanCong.com
/>
4
.c
om
Ngôn ngữ XML
Ngôn ngữ định dạng là tất cả những gì dùng để mơ
co
ng
tả nội dung một tài liệu.
cu
u
du
o
ng
th
an
Ví dụ:
CuuDuongThanCong.com
/>
5
.c
om
Ngôn ngữ XML
HTML và XML
co
ng
Cả hai đều là ngôn ngữ định dạng (định dạng
th
ng
dung tài liệu).
an
theo nghĩa cách quy định để xử lý và chứa nội
cu
u
định sẵn.
du
o
HTML sử dụng các thẻ được định nghĩa và quy
XML đưa ra một số quy tắc cho phép người
dùng tự định nghĩa các thẻ.
CuuDuongThanCong.com
/>
6
.c
om
Ngơn ngữ XML
cu
u
du
o
ng
th
an
co
ng
Ví dụ:
<?xml version="1.0"?>
<DOCUMENT>
<GREETING>
Hello world
</GREETING>
<MESSAGE>
XML xin chào thế giới
</MESSAGE>
</DOCUMENT>
CuuDuongThanCong.com
/>
7
.c
om
Ngôn ngữ XML
Tất cả các chỉ thị của XML đều được bắt đầu
co
ng
bằng <? và kết thúc bằng ?>.
an
Các thẻ do người dùng tự định nghĩa, ví dụ như
ng
th
<DOCUMENT>, <GREETING>, <MESSAGE>.
du
o
Thẻ luôn bắt đầu bằng < và kết thúc bằng >.
u
Phải có thẻ mở và đóng duy nhất cho toàn bộ
cu
tài liệu (root).
CuuDuongThanCong.com
/>
8
.c
om
Ngơn ngữ XML
Trình duyệt chỉ có thể hiện thị file XML bằng cách
cu
u
du
o
ng
th
an
co
ng
đưa toàn bộ nội dung file XML lên màn hình.
CuuDuongThanCong.com
/>
9
.c
om
Ngôn ngữ XML
cu
u
du
o
ng
th
an
co
ng
Định dạng file XML bằng CSS (Stylesheet).
Định dạng file XML bằng XSLT.
CSS và XSLT dùng để định kiểu và biến đổi
XML để hiển thị dữ liệu phía người dùng khơng
khác gì HTML.
Dùng DOM, SAX để rút trích dữ liệu từ file XML
kết hợp với các thẻ định dạng của HTML để
hiển thị phía người dùng.
CuuDuongThanCong.com
/>
10
.c
om
Ngôn ngữ XML
Kết hợp với XSLT để định kiểu cho XML như sau:
cu
u
du
o
ng
th
an
co
ng
<?xml version="1.0"?>
xmlns=" /><xsl:template match="/">
<html>
<head>
<title> <xsl:value-of select="DOCUMENT/GREETING"/> </title></head>
<body>
<font color="#FF0000"> select="DOCUMENT/MESSAGE" /> </font>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
11
CuuDuongThanCong.com
/>
.c
om
Ngơn ngữ XML
cu
u
du
o
ng
th
an
co
ng
Hiển thị tài liệu XML có kết hợp XSL.
CuuDuongThanCong.com
/>
12
.c
om
Ngơn ngữ XML
Trình duyệt XML:
ng
Internet Explorer (IE)
co
Là trình duyệt XML mạnh nhất hiện nay.
th
an
Hỗ trợ dùng Javascript để lập trình và truy xuất dữ liệu
XML.
du
o
ng
Ngồi ra còn hỗ trợ cả Jscript, Vbscript.
Hỗ trợ CSS.
cu
u
Netscape Navigation 6
Phiên bản 6.0 hỗ trợ tốt XML.
Hỗ trợ CSS
Hỗ trợ các ngôn ngữ XML mở rộng.
CuuDuongThanCong.com
/>
13
.c
om
Ngơn ngữ XML
ng
Ứng dụng XML:
XML có thể tạo ra tập các ngôn ngữ con khác.
an
co
Ứng dụng XML mang ý nghĩa cho biết một tập
th
các thẻ hay tập con XML hoạt động riêng trong
du
o
ng
một lĩnh vực nào đó.
cu
học.
u
MathML: định dạng các biểu thức, kí hiệu tốn
CML: Ngơn ngữ định dạng hóa học.
CuuDuongThanCong.com
/>
14
.c
om
Định nghĩa kiểu tài liệu
và Kiểm tra tính hợp lệ của XML
co
ng
Định nghĩa kiểu tài liệu (DTD - Document Type
Declaration):
Là một cách để miêu tả ngôn ngữ XML.
th
an
DTD kiểm tra từ vựng và tính hợp lệ của cấu trúc
du
o
ng
tài liệu XML theo các qui tắc ngữ pháp của ngơn
ngữ XML thích hợp.
cu
u
Một DTD trong XML có thể hoặc được xác định
bên trong tài liệu, hoặc có thể được giữ trong
một tài liệu riêng biệt.
CuuDuongThanCong.com
/>
15
ng
Internal DTD trong XML:
.c
om
Định nghĩa kiểu tài liệu
và Kiểm tra tính hợp lệ của XML
co
Khai báo làm việc độc lập với nguồn ngoại vi
th
an
Các phần tử được khai báo bên trong XML file
du
o
Cú pháp:
ng
Thuộc tính standalone=“yes”
cu
u
<!DOCTYPE root-element [element-declarations]>
CuuDuongThanCong.com
/>
16
.c
om
Định nghĩa kiểu tài liệu
và Kiểm tra tính hợp lệ của XML
Cú pháp của internal DTD trong XML:
ng
an
co
[
th
Declaration1
du
o
]>
u
…
ng
Declaration2
cu
DTD bắt đầu với delimiter là Một element (phần tử) nói cho Parser để phân tích cú
pháp tài liệu từ phần tử gốc đã cho
CuuDuongThanCong.com
/>
17
.c
om
Định nghĩa kiểu tài liệu
và Kiểm tra tính hợp lệ của XML
DTD identifier là một định danh cho Document Type
co
ng
Definition.
an
DTD identifier có thể là path tới một file trên hệ thống
th
hoặc URL tới một file trên mạng (khi này DTD được gọi
du
o
ng
là External Subset).
Dấu ngoặc móc vng [ ] bao quanh một danh sách tùy
cu
u
ý các khai báo thực thể, được gọi là Internal Subset.
CuuDuongThanCong.com
/>
18
.c
om
Định nghĩa kiểu tài liệu
và Kiểm tra tính hợp lệ của XML
Ví dụ:
cu
u
du
o
ng
th
an
co
ng
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!ELEMENT student (name, address, phone)>
<!ELEMENT name (#PCDATA)>
<!ELEMENT address (#PCDATA)>
<!ELEMENT phone (#PCDATA)>]>
< student >
<name>Trương Hồ</name>
<address>123 Nguyễn Huệ</address>
(08) 123-4567</phone>
</ student >
#PCDATA: parse-able text data
CuuDuongThanCong.com
/>
19
.c
om
Định nghĩa kiểu tài liệu
và Kiểm tra tính hợp lệ của XML
ng
Khai báo: <!ELEMENT> để định nghĩa kiểu tư liệu DTD
cho một phần tử
co
Cú pháp:
th
an
<!ELEMENT NAME CONTENT_MODEL>
ng
NAME: tên phần tử muốn định nghĩa.
cu
u
du
o
CONTENT_MODEL có thể là:
ANY: Dữ liệu có kiểu bất kỳ
Các phần tử con khác hoặc dữ liệu
CuuDuongThanCong.com
/>
.c
om
Định nghĩa kiểu tài liệu
và Kiểm tra tính hợp lệ của XML
cu
u
du
o
ng
th
an
co
ng
Ví dụ: Kết quả hiển thị
CuuDuongThanCong.com
/>
21
.c
om
Định nghĩa kiểu tài liệu
và Kiểm tra tính hợp lệ của XML
Định nghĩa kiểu dữ liệu
cu
u
du
o
ng
th
an
co
ng
Danh sách các phần tử con: một phần tử DTD, nội dung
có thể chứa những phần tử con khác.
Ví dụ:
<!ELEMENT DOCUMENT (CUSTOMER)*>
<!ELEMENT CUSTOMER(NAME)>
<!ELEMENT NAME (LAST_NAME, FIRST_NAME)>
<!ELEMENT LAST_NAME (#PCDATA)>
<!ELEMENT FIRST_NAME (#PCDATA)>
DOCUMENT là phần tử chứa phần tử con CUSTOMER;
CUSTOMER chứa phần tử con NAME; NAME chứa phần
tử con LAST_NAME và FIRST_NAME
CuuDuongThanCong.com
/>
.c
om
Định nghĩa kiểu tài liệu
và Kiểm tra tính hợp lệ của XML
Định nghĩa kiểu dữ liệu
cu
u
du
o
ng
th
an
co
ng
Làm việc với nhiều phần tử con
A*: khơng có hoặc có nhiều phần tử con giống
nhau.
A+: có một hoặc nhiều phần tử con giống nhau.
A?: phần tử A hoặc khơng có phần tử nào cả
A,B: phần tử A tiếp đến phần tử B.
A|B: Phần tử A hoặc phần tử B nhưng không được
cả hai.
CuuDuongThanCong.com
/>
.c
om
Định nghĩa kiểu tài liệu
và Kiểm tra tính hợp lệ của XML
Ví dụ:
cu
u
du
o
ng
th
an
co
ng
<?xml version=“1.0”?>
<!ELEMENT CUSTOMER (#PCDATA)>
<!ELEMENT DOCUMENT (CUSTOMER)*>]>
<DOCUMENT>
<CUSTOMER>
Sam smith
</CUSTOMER>
<CUSTOMER>
Tony Braxton
</CUSTOMER>
</DOCUMENT>
CUSTOMER có thể xuất hiện 2 lần vì có kiểu *.
CuuDuongThanCong.com
/>
.c
om
Định nghĩa kiểu tài liệu
và Kiểm tra tính hợp lệ của XML
co
ng
Ta có thể sử dụng kí tự đại diện một nhóm thứ tự phần
tử dựa vào dấu ().
Ví dụ:
cu
u
du
o
ng
th
an
<!ELEMENT DOCUMENT (CUSTOMER)*>
DATE*, ORDERS)>
CUSTOMER có thể chứa một hoặc nhiều phần tử NAME,
mỗi phần tử NAME lại kết hợp với phần tử CREDIT_RATING
hoặc không (NAME, CREDIT_RATING?).
Tổ hợp này lại được lặp lại một hoặc nhiều lần trong định
nghĩa CUSTOMER (NAME, CREDIT_RATING?)+.
CuuDuongThanCong.com
/>