Tải bản đầy đủ (.doc) (6 trang)

Tích hợp các cơ sở dữ liệu XML

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (132.88 KB, 6 trang )

TẠP CHÍ KHOA HỌC, Đại học Huế, Số 22, 2004

TÍCH HỢP CÁC CƠ SỞ DỮ LIỆU XML
Lê Thị Thu Thủy
Trường Đại học Khoa học, Đại học Huế
Đoàn Đại Dương
Trường Đại học Sư phạm, Đại học Huế

1. GIỚI THIỆU
Nguồn thông tin phong phú và hữu ích hiện đang được lưu trữ trên hàng tỷ web
site trên mạng. Trong khi một website truyền thống chỉ hỗ trợ cho biểu diễn thơng tin,
thì việc tìm kiếm một ngơn ngữ có cấu trúc để biểu diễn các thông tin trên trang Web
đang được đầu tư nghiên cứu. XML1 (eXtensible Markup Language) xuất hiện và nhanh
chóng trở thành chuẩn cho các thế hệ web trong tương lai. Nó cũng là nền tảng để hình
thành một lớp cơ sở dữ liệu (CSDL) mới: CSDL XML [3,8].
Để hỗ trợ người sử dụng trong việc tìm và sử dụng thơng tin, các CSDL XML
phân tán được tích hợp, cung cấp một sự biểu diễn duy nhất từ các CSDL XML khác
nhau tham gia vào hệ thống. Một hệ thống CSDL XML tích hợp sinh ra một lược đồ
tồn cục (global schema) cho hệ thống. Lược đồ này là sự thống nhất và hòa hợp các
lược đồ cục bộ (local schema) của các nguồn dữ liệu tham gia vào hệ thống. Nó là chìa
khóa hỗ trợ cho tất cả các tiến trình của hệ thống sau này. Trên cơ sở của lược đồ tích
hợp, một tập các ánh xạ đến các nguồn cục bộ được tạo ra hỗ trợ cho việc xử lý câu truy
vấn của người sử dụng như: tách câu truy vấn, tích hợp các dữ liệu thô từ các nguồn...,
giúp người sử dụng lấy được thông tin tích hợp cần thiết từ hệ thống, tiết kiệm thời gian
và công sức của người sử dụng.
Nhiều hệ thống tích hợp đã và đang được xây dựng [2,4,6], tuy nhiên các hệ thống
này vẫn còn nhiều hạn chế trong giải quyết xung đột giữa các lược đồ [5] và tích hợp dữ
liệu [3,7]. Để khắc phục những hạn chế của những nghiên cứu trên, chúng tôi đưa ra
một khung làm việc (framework) mới về tích hợp các CSDL XML [3,7]. Hệ thống mới
này vừa có khả năng tích hợp các lược đồ vừa có thể đưa ra các quyết định xử lý câu
truy vấn của người sử dụng. Đây là một trong số ít hệ thống có chiến lược tích hợp n


lược đồ cục bộ một lần (one shot strategy) [2]. Nó có thể giải quyết các xung đột chính
bên trong các lược đồ theo hướng thống nhất. Ngồi ra, hệ thống có thể tách câu truy
vấn của người sử dụng trên lược đồ toàn cục thành các truy vấn con của từng nguồn cục
bộ đồng thời. Đây là một điểm mới so với các hệ thống đã được xây dựng [2,4,6]. Một
ưu điểm nữa của hệ thống là dữ liệu từ các nguồn cục bộ được tích hợp và trả về các
1

/>
45


thông tin thân thiện với người sử dụng. Ngôn ngữ XDD (XML Declarative Description)
[9] - ngôn ngữ mô tả khai báo XML - được sử dụng làm nền tảng cho tất cả các thành
phần của hệ thống.
Phần 2 trình bày ngắn gọn tổng quan về ngôn ngữ XDD. Phần 3 mô tả kiến trúc và
các thành phần tạo nên hệ thống tích hợp các CSDL XML. Cuối cùng, phần 4 kết luận
của bài viết.
2. TỔNG QUAN NGÔN NGỮ XDD
XDD (XML Declarative Description) một ngôn ngữ biểu diễn thông tin dựa vào
khn dạng tài liệu XML. Nó thực chất là sự mở rộng khả năng biểu diễn của các phần
tử XML bằng cách sử dụng kết hợp với các biến nhằm mơ tả một tập các thơng tin có
liên quan với nhau. Một phần tử XML mở rộng như vậy gọi là biểu thức XML (XML
expresion). Bảng 1 liệt kê các loại biến sử dụng trong XDD. Với quan điểm này thì một
phần tử XML bình thường - khơng chứa biến - được gọi là biểu thức XML nền tảng
(ground XML expresion). Một mô tả XDD là một tập các mệnh đề XML với khuôn dạng
như sau:
H  B1, ... , Bm, 1, ..., n

trong đó m, n  0; H và Bi (i=1,.., m) là các biểu thức XML trong khi j (j=1,.., n) là
ràng buộc XML (XML constraint) sử dụng để định nghĩa các ràng buộc trên các biểu

thức XML. Với khuôn dạng mệnh đề XML như trên, H còn gọi là phần đầu của mệnh
đề (Head); tập hợp {B1, ..., Bm, 1, ..., n} gọi là phần thân của mệnh đề (Body).
Bảng 1: Kiểu của các biến trong XDD
Tên biến

Ký hiệu
kiểu

Biểu diễn

Name-variables: biến tên

$N

Tên phần tử hoặc tên các thuộc tính

String-variables: biến chuỗi

$S

Chuỗi dữ liệu

Pair-variables: biến cặp "thuộc tính-giá trị"

$P

Dãy 0 hoặc nhiều cặp "thuộc tính-giá trị"

Expression-variables: biến biểu thức XML


$E

Dãy 0 hoặc nhiều biểu thức XML

Intermediate-variables: biến biểu thức trung
gian

$I

Một phần của biểu thức XML

3. MƠ HÌNH HỆ THỐNG TÍCH HỢP CÁC CSDL XML
Hệ thống đưa ra là một trong số ít hệ thống tích hợp có các thành phần được
thiết kế để có thể làm việc hài hịa với nhau. Trên nền của XDD, nó có thể tích hợp n
lược đồ cùng một lúc [3]. Lược đồ tích hợp đạt được là sự thống nhất và hài hòa giữa
các lược đồ cục bộ từ các nguồn dữ liệu khác nhau. Ngồi ra, hệ thống cịn có khả năng
tách một câu truy vấn thành các truy vấn con khớp với khuôn dạng cho từng lược đồ
cục bộ [7]. Với hướng tiếp cận này, dữ liệu rút trích từ các nguồn được tích hợp dễ
dàng, cung cấp kết quả thân thiện cho người sử dụng. Việc ứng dụng XDD làm cấu trúc
46


nền tảng của hệ thống khiến các thành phần hệ thống trở nên mềm dẻo đối với việc tích
hợp lược đồ cũng như xử lý và tích hợp dữ liệu.
3.1. Câu truy vấn XDD:
Một câu truy vấn [9] gồm ba phần: phần đầu (constructor), phần thân (pattern) và
các ràng buộc (filters) của câu truy vấn, tương ứng với ba phần của một mệnh đề XML.
So với câu truy vấn SQL truyền thống, contructor là khuôn dạng dữ liệu người sử dụng
cần hiển thị, có thể tương ứng mệnh đề SELECT; patern tương ứng với khuôn dạng dữ
liệu nơi cần lấy dữ liệu, tương ứng với mệnh đề FROM và filter đưa ra các ràng buộc

trên câu truy vấn, có thể tương ứng với mệnh đề WHERE. Trong quá trình thực hiện
truy vấn, khi pattern của câu truy vấn khớp với một phần nào đó của tài liệu XML và
các ràng buộc trong filter được thoả mãn, kết quả của câu truy vấn được rút ra theo
khuôn dạng của contructor. Dữ liệu truy vấn được cũng là một tài liệu khuôn dạng
XML, được gởi đến bộ trung chuyển để tiếp tục q trình tích hợp dữ liệu.
3.2 Bộ trung chuyển (Mediator):
Mediator là thành phần quan trọng nhất của hệ thống. Nó bao gồm hai đơn vị:
bộ tích hợp lược đồ (schema integration) và bộ tích hợp dữ liệu (data integraion).
Bộ tích hợp lược đồ, có nhiệm vụ tích hợp tập các lược đồ cục bộ từ các nguồn
dữ liệu khác nhau về cấu trúc, sinh ra một lược đồ XML toàn cục và tập các ánh xạ.
Tập ánh xạ này giúp hệ thống hiểu được sự tương ứng giữa các đối tượng (tên trường,
thuộc tính) giữa lược đồ tích hợp và các lược đồ cục bộ. Trên nền của XDD, ánh xạ
được tổ chức để có thể sử dụng theo hai chiều với mục đích:
- Tách câu truy vấn của người sử dụng (trên cấu trúc của lược đồ toàn cục) thành
các truy vấn con phù hợp với cấu trúc lược đồ cục bộ của các nguồn dữ liệu liên quan;
- Làm siêu dữ liệu (metadata). Dựa vào thông tin từ siêu dữ liệu, hệ thống có thể
chuyển đổi khn dạng dữ liệu rút trích được từ các nguồn cục bộ thành khuôn dạng
chung của hệ thống, kết xuất kết quả thân thiện với người sử dụng.
Cấu trúc ánh xạ hai chiều được mô tả như sau:
<Mapping>
<$N:globalTag>
$E:exp
<$N:globalTag>
<local>
<$N:tagName1 source=$S:source1> $E:exp1 <$N:tagName1>
<$N:tagName2 source=$S:source2>$E:exp2 <$N:tagName2>
<local>
<Mapping>

%

%
%
%
%
%
%
%
%

Ánh xạ quy định sự
tương ứng của
phần tử $E:exp ở
lược đồ toàn cục
với các phần tử
$E:exp1, $E:exp2
trong các nguồn
cục bộ $S:source1
và $S:source2

Hình 1: Cấu trúc ánh xạ

Dựa trên nền của XDD, cơng việc tích hợp các lược đồ được diễn ra đồng thời.
Nếu có n lược lược đồ tham gia vào hệ thống, chúng được tích hợp, dung hịa các mâu
thuẫn đồng thời một lúc để đưa ra lược đồ chung cuối cùng. Cần phải nhấn mạnh rằng,
rất ít các hệ thống tích hợp có khả năng tích hợp nhiều lược đồ đồng thời trong cùng
47


một tiến trình. Hầu hết các hệ thống phải tiến hành tích hợp trên từng cặp lược đồ do sự
phức tạp và khả năng của ngơn ngữ lập trình sử dụng. Đối với hệ thống đang được xây

dựng, sự thành cơng này diễn ra trên nền của XDD vì mỗi lược đồ XML tham gia vào
việc tích hợp được xem như là một biểu thức XML ($E:expression) trong các luật tích
hợp của hệ thống, mỗi luật là một mệnh đề XML. Trong q trình tích hợp này hệ thống
có thể giải quyết nhiều xung đột xảy ra giữa các lược đồ như: xung đột tên phần tử,
xung đột cấu trúc các phần tử, xung đột các ràng buộc và xung đột các kiểu dữ liệu. Chi
tiết về các loại xung đột và cách thức giải quyết các xung đột này được chúng tơi trình
bày chi tiết trong [3,7].
Bộ tích hợp dữ liệu tiến hành chuyển đổi khuôn dạng của tất cả dữ liệu được trích
rút từ các nguồn cục bộ cho phù hợp với lược đồ chung dựa vào thông tin từ ánh xạ hai
chiều. Sau đó, nó tìm cách loại trừ các mâu thuẫn bên trong dữ liệu, kiểm tra loại bỏ các
dữ liệu trùng lặp. Cuối cùng dữ liệu được trả về cho người sử dụng qua giao diện của hệ
thống.
Thành phần quan trọng nhất của hệ thống, bộ trung chuyển, thực chất là tập các
luật trên nền của XDD. Việc gắn các luật này giúp các thành phần của hệ thống có thể
tự động suy diễn sinh ra các sự kiện (fact) mới dựa trên tập luật và các sự kiện ban đầu.
Luật có thể áp dụng đệ quy, chẳng hạn: phần thân của luật này có thể gắn vào phần đầu
của luật khác để tiếp tục q trình suy diễn, kết quả của luật này có thể làm đầu vào của
luật khác. Khi thực thi chương trình tập luật có thể được cài đặt bởi ngơn ngữ lập trình
XET [1], một ngơn ngữ dựa trên lý thuyết XDD.
3.3. Bộ xử lý truy vấn (Query handler):
Đây là thành phần giúp hệ thống tích hợp có thể giao tiếp với người sử dụng. Nó
bao gồm ba thành phần chính: bộ lập truy vấn (query formulation), bộ tối ưu câu truy
vấn (query optimization) và bộ tách câu truy vấn (query decomposition).
<$N:LocalTag source=$S:source>
$E:exp1
<$N:tag2> $E:content <$N:tag2>
$E:exp2
<$N:LocalTag>

<$N:GlobalTag>

$E:exp1
<$N:tag1>$E:content<$N:tag1>
$E:exp2
<$N:GlobalTag >
<Mapping>
<$N:GlobalTag>
<$N:tag1>$E:content<$N:tag1>
<$N: GlobalTag >
<local>
$E:exp3
<$N:LocalTag source=$S:source>
<$N:tag2>$E:content<$N:tag2>
<$N:LocalTag>

48

%
%
%
%
%

Luật này chỉ ra rằng: nếu truy
vấn có chứa phần tử $N:tag1
thì ta sẽ thay bằng phần tử
$N:tag2 trong lược đồ cục bộ
$S:source tương ứng với nó.

% Khn dạng câu truy vấn của
% người sử dụng có chứa phần tử

% $N:tag1.
%
%
%
%

Ánh xạ chỉ ra: phần tử $N:tag1
ở lược đồ toàn cục tương ứng
với phần tử $N:tag2 trong lược
đồ cục bộ $S:source.


$E:exp4
<local>
<Mapping>

Hình 2: Một luật XDD dùng để tách câu truy vấn

Bộ lập truy vấn giúp chuyển đổi các câu truy vấn khuôn dạng bất kỳ của người
sử dụng thành câu truy vấn khn dạng XDD, ví dụ: chuyển truy vấn XQuery thành
truy vấn khuôn dạng XDD. Bộ tách truy vấn sẽ tách câu truy vấn sau khi được tối ưu
thành các câu truy vấn con. Trong khi câu truy vấn của người sử dụng có cấu trúc và
khn dạng của lược đồ chung, các câu truy vấn con được tách ra lại phù hợp với khuôn
dạng các lược đồ thành phần. Với các truy vấn con này, hệ thống sẽ rất dễ dàng trong
việc rút trích dữ liệu trực tiếp từ các nguồn cục bộ. Như đã đề cập ở trên, việc tách được
tiến hành dưới sự hỗ trợ của tập ánh xạ và các quy tắc suy diễn của tập luật XDD đặc
thù. Một luật XDD cho việc tách một câu truy vấn được thể hiện như hình 2.
4. KẾT LUẬN
Hệ thống tích hợp các CSDL XML được trình bày là một trong số ít những hệ
thống có khả năng tích hợp nhiều lược đồ con đồng thời qua một qui trình biến đổi. Với

các điểm mạnh của XDD trong việc mơ hình các ứng dụng khn dạng XML, khung
làm việc của hệ thống đã hội đủ các yêu cầu chính của một hệ thống tích hợp. Tất cả các
thành phần của hệ thống đều được xây dựng trên nền của XDD, tạo ra sự mềm dẻo
trong quá trình xử lý và chuyển đổi dữ liệu giữa chúng. Hệ thống cung cấp cho người sử
dụng dữ liệu tích hợp ở khuôn dạng một tài liệu XML chuẩn, thân thiện với người sử
dụng, hữu ích trong việc trao đổi với các ứng dụng XML khác.
Khung làm việc của hệ thống này đã và đang được cài đặt bước đầu thành cơng
sử dụng ngơn ngữ lập trình XET, với các CSDL XML phân tán trên mạng LAN. Chúng
tôi dự định phát triển hệ thống để có thể làm việc ở mơi trường internet, nơi các CSDL
được phân tán trên mạng với mục đích thương mại. Một ứng dụng điển hình có thể
nghiên cứu trong tương lai là truy vấn thông tin từ các trang web XML đã được tích hợp
trên mạng khi chúng cùng chia sẽ một lược đồ chung.
TÀI LIỆU THAM KHẢO
1. Anutariya, C., Wuwongse, V., and Wattanapailin, V. An Equivalent-TransformationBased XML Rule Language. Proceedings of the International Workshop on Rule
Markup Languages for Business Rules in the Semantic Web, Sardinia, Italy (2002).
2. Batini, C., Lenzerini, M., and Navathe, S. B. A Comparative Analysis of
Methodologies for Database Schema Integration. ACM Computing Surveys. Vol.
18, No. 4 (1986) 323 - 364 .
49


3. Duong, D. D., and Wuwongse, V. XML Databases Schema Integration Using XDD.
Proceedings of Advances in Web-Age Information Management Conference, China.
Lecture Notes in Computer Science, Springer Verlag, Vol. 2762 (2003) 92 - 103
4. Gianolli, P., Mylopoulos, J. A semantic approach to XML based data integration.
Proceedings of the 20th. International Conference on Conceptual Modelling (ER),
Yokohama, Japan (2001).
5. Pluempitiwiriyawej, C., Hammer, J. A Classification Scheme for Semantic and
Schematic Heterogeneities in XML Data Sources. Technical report TR00-004.
University of Florida (2000).

6. The MIX (Mediator of Information using XML). Available online:
(1999).
7. Thuy, L. T. T., and Wuwongse, V. Query Processing of Integrated XML Databases.
Proceedings of the 5th International Conference on Information Integration and
Web-based Applications & Services, Jakarta, Indonesia (2003) 335 - 344 .
8. Wuwongse, V., Akama, K., Anutariya, C., and Nantajeewarawat, E. A Data Model
for XML Databases. Journal of Intelligent Information Systems. Vol. 20, No. 1,
(2003) 63 - 80.
9. Wuwongse, V., Anutariya, C., Akama, K., and Nantajeewarawat, E. XML
Declarative Description (XDD): A Language for the Semantic Web. IEEE
Intelligent Systems, Vol. 16, No. 3 (2001) 54 - 65.

INTEGRATION OF XML DATABASES
Le Thi Thu Thuy
College of Sciences, Hue University
Doan Dai Duong,
College of Pedagogy, Hue University

SUMMARY
XML database integration has been paid due attention to in the past few years, especially
when XML is widely accepted as the new generation of the web. However, the building of a
framework that can resolve easily the conflicts between schemas and decompose query
efficiently is still a great challenge. The paper's purpose is to propose a new XML database
integration framework, and to demonstrate the power of XDD theory in modeling user's query
and system's components. The framework can be extended to work with Web application
metadata integration.

50




×