TẠP CHÍ KHOA HỌC, Đại học Huế, Số 22, 2004<br />
<br />
<br />
<br />
TÍCH HỢP CÁC CƠ SỞ DỮ LIỆU XML<br />
Lê Thị Thu Thủy<br />
Trường Đại học Khoa học, Đại học Huế<br />
Đoàn Đại Dương<br />
Trường Đại học Sư phạm, Đại học Huế<br />
<br />
1. GIỚI THIỆU<br />
Nguồn thông tin phong phú và hữu ích hiện đang được lưu trữ trên hàng tỷ web <br />
site trên mạng. Trong khi một website truyền thống chỉ hỗ trợ cho biểu diễn thông <br />
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 <br />
Web đang được đầu tư nghiên cứu. XML1 (eXtensible Markup Language) xuất hiện <br />
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 <br />
tảng để hình thành một lớp cơ sở dữ liệu (CSDL) mới: CSDL XML [3,8]. <br />
Để hỗ trợ người sử dụng trong việc tìm và sử dụng thông tin, các CSDL XML <br />
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 <br />
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 đồ <br />
toà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 <br />
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à <br />
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 <br />
đồ 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 <br />
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ô <br />
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ệ <br />
thống, tiết kiệm thời gian và công sức của người sử dụng. <br />
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ệ <br />
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à <br />
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, <br />
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 <br />
[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 <br />
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ó <br />
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 <br />
quyết các xung đột chính bên trong các lược đồ theo hướng thống nhất. Ngoài ra, hệ <br />
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 <br />
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ệ <br />
<br />
1<br />
http://www.w3.org/TR/RECxml<br />
45<br />
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 <br />
nguồn cục bộ được tích hợp và trả về các thông tin thân thiện với người sử dụng. <br />
Ngôn ngữ XDD (XML Declarative Description) [9] ngôn ngữ mô tả khai báo XML <br />
đượ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.<br />
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 <br />
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 <br />
kết luận của bài viết.<br />
2. TỔNG QUAN NGÔN NGỮ XDD<br />
XDD (XML Declarative Description) một ngôn ngữ biểu diễn thông tin dựa vào <br />
khuôn 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 <br />
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 <br />
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 <br />
XML (XML expresion). Bảng 1 liệt kê các loại biến sử dụng trong XDD. Với quan <br />
đ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 <br />
thức XML nền tảng (ground XML expresion). Một mô tả XDD là một tập các mệnh <br />
đề XML với khuôn dạng như sau:<br />
H B1, ... , Bm, 1, ..., n<br />
<br />
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à <br />
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 <br />
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 <br />
mệnh đề (Head); tập hợp {B1, ..., Bm, 1, ..., n} gọi là phần thân của mệnh đề (Body). <br />
<br />
Bảng 1: Kiểu của các biến trong XDD<br />
Ký hiệu <br />
Tên biến Biểu diễn<br />
kiểu<br />
Namevariables: biến tên $N Tên phần tử hoặc tên các thuộc tính<br />
Stringvariables: biến chuỗi $S Chuỗi dữ liệu<br />
Pairvariables: biến cặp "thuộc tínhgiá trị" $P Dãy 0 hoặc nhiều cặp "thuộc tínhgiá <br />
trị"<br />
Expressionvariables: biến biểu thức XML $E Dãy 0 hoặc nhiều biểu thức XML<br />
Intermediatevariables: biến biểu thức trung $I Một phần của biểu thức XML<br />
gian<br />
<br />
3. MÔ HÌNH HỆ THỐNG TÍCH HỢP CÁC CSDL XML<br />
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 <br />
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 <br />
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 <br />
giữa các lược đồ cục bộ từ các nguồn dữ liệu khác nhau. Ngoài ra, hệ thống còn có <br />
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 <br />
46<br />
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 <br />
đượ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 <br />
dụng XDD làm cấu trúc nền tảng của hệ thống khiến các thành phần hệ thống trở <br />
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.<br />
3.1. Câu truy vấn XDD:<br />
Một câu truy vấn [9] gồm ba phần: phần đầu (constructor), phần thân (pattern) <br />
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 đề <br />
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 <br />
sử dụng cần hiển thị, có thể tương ứng mệnh đề SELECT; patern tương ứng với <br />
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 <br />
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 <br />
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 đó <br />
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 <br />
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 <br />
tài liệu khuôn dạng XML, được gởi đến bộ trung chuyển để tiếp tục quá trình tích <br />
hợp dữ liệu.<br />
3.2 Bộ trung chuyển (Mediator):<br />
Mediator là thành phần quan trọng nhất của hệ thống. Nó bao gồm hai đơn vị: <br />
bộ tích hợp lược đồ (schema integration) và bộ tích hợp dữ liệu (data integraion). <br />
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 <br />
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 <br />
á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 <br />
(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 <br />
XDD, ánh xạ được tổ chức để có thể sử dụng theo hai chiều với mục đích:<br />
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) <br />
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 <br />
liên quan;<br />
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ó <br />
thể chuyển đổi khuôn dạng dữ liệu rút trích được từ các nguồn cục bộ thành khuôn <br />
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. <br />
Cấu trúc ánh xạ hai chiều được mô tả như sau: <br />
% Ánh xạ quy định <br />
% sự tương ứng của <br />
$E:exp % phần tử $E:exp ở <br />
% lược đồ toàn cục <br />
% với các phần tử <br />
$E:exp1 % $E:exp1, $E:exp2 <br />
$E:exp2 % trong các nguồn <br />
% cục bộ <br />
% $S:source1 và <br />
$S:source2 <br />
47<br />
Hình 1: Cấu trúc ánh xạ<br />
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. <br />
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 <br />
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 <br />
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 <br />
thời trong cùng 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 <br />
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 <br />
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ì <br />
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 <br />
($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. <br />
Trong quá 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 <br />
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 <br />
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 <br />
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].<br />
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 <br />
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 <br />
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 <br />
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 <br />
giao diện của hệ thống.<br />
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 <br />
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 <br />
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ự <br />
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ể <br />
gắn vào phần đầu của luật khác để tiếp tục quá trình suy diễn, kết quả của luật này <br />
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 <br />
đặ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. <br />
3.3. Bộ xử lý truy vấn (Query handler):<br />
Đâ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. <br />
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 <br />
truy vấn (query optimization) và bộ tách câu truy vấn (query decomposition).<br />
% Luật này chỉ ra rằng: nếu truy <br />
$E:exp1 % vấn có chứa phần tử $N:tag1 <br />
$E:content % thì ta sẽ thay bằng phần tử <br />
$E:exp2 % $N:tag2 trong lược đồ cục bộ <br />
% $S:source tương ứng với nó.<br />
<br />
<br />
$E:exp1 % Khuôn dạng câu truy vấn của <br />
$E:content % người sử dụng có chứa phần <br />
% tử $N:tag1.<br />
$E:exp2<br />
<br />
<br />
48<br />
% Ánh xạ chỉ ra: phần tử <br />
$E:content % $N:tag1 ở lược đồ toàn cục <br />
% tương ứng với phần tử <br />
% $N:tag2 trong lược đồ cục bộ <br />
$E:exp3 $S:source.<br />
<br />
$E:content<br />
<br />
$E:exp4<br />
<br />
<br />
Hình 2: Một luật XDD dùng để tách câu truy vấn<br />
<br />
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 <br />
người sử dụng thành câu truy vấn khuôn dạng XDD, ví dụ: chuyển truy vấn XQuery <br />
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 <br />
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 <br />
trúc và khuôn dạng của lược đồ chung, các câu truy vấn con được tách ra lại phù hợp <br />
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 <br />
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 ở <br />
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 <br />
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ể <br />
hiện như hình 2.<br />
4. KẾT LUẬN<br />
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ệ <br />
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. <br />
Với các điểm mạnh của XDD trong việc mô hình các ứng dụng khuôn dạng XML, <br />
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. <br />
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ự <br />
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 <br />
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 <br />
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.<br />
Khung làm việc của hệ thống này đã và đang được cài đặt bước đầu thành <br />
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. <br />
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 <br />
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 <br />
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 đã <br />
được tích hợp trên mạng khi chúng cùng chia sẽ một lược đồ chung.<br />
<br />
49<br />
TÀI LIỆU THAM KHẢO<br />
1. Anutariya, C., Wuwongse, V., and Wattanapailin, V. An Equivalent<br />
TransformationBased XML Rule Language. Proceedings of the International <br />
Workshop on Rule Markup Languages for Business Rules in the Semantic Web, <br />
Sardinia, Italy (2002). <br />
2. Batini , C., Lenzerini, M., and Navathe, S. B. A Comparative Analysis of <br />
Methodologies for Database Schema Integration. ACM Computing Surveys. Vol. <br />
18, No. 4 (1986) 323 364 .<br />
3. Duong, D. D., and Wuwongse, V. XML Databases Schema Integration Using XDD. <br />
Proceedings of Advances in WebAge Information Management Conference, <br />
China. Lecture Notes in Computer Science, Springer Verlag, Vol. 2762 (2003) 92 <br />
103 <br />
4. Gianolli, P., Mylopoulos, J. A semantic approach to XML based data integration. <br />
Proceedings of the 20th. International Conference on Conceptual Modelling (ER), <br />
Yokohama, Japan (2001).<br />
5. Pluempitiwiriyawej, C., Hammer, J. A Classification Scheme for Semantic and <br />
Schematic Heterogeneities in XML Data Sources. Technical report TR00004. <br />
University of Florida (2000).<br />
6. The MIX (Mediator of Information using XML). Available online: <br />
http://www.database.ucsd.edu/project/MIX (1999).<br />
7. Thuy, L. T. T., and Wuwongse, V. Query Processing of Integrated XML Databases. <br />
Proceedings of the 5th International Conference on Information Integration and <br />
Webbased Applications & Services, Jakarta, Indonesia (2003) 335 344 .<br />
8. Wuwongse, V., Akama, K., Anutariya, C., and Nantajeewarawat, E. A Data Model <br />
for XML Databases. Journal of Intelligent Information Systems. Vol. 20, No. 1, <br />
(2003) 63 80.<br />
9. Wuwongse, V., Anutariya, C., Akama, K., and Nantajeewarawat, E. XML <br />
Declarative Description (XDD): A Language for the Semantic Web. IEEE <br />
Intelligent Systems, Vol. 16, No. 3 (2001) 54 65.<br />
<br />
INTEGRATION OF XML DATABASES <br />
Le Thi Thu Thuy<br />
College of Sciences, Hue University<br />
<br />
<br />
<br />
Doan Dai Duong,<br />
College of Pedagogy, Hue University<br />
<br />
SUMMARY<br />
<br />
50<br />
XML database integration has been paid due attention to in the past few years, especially <br />
when XML is widely accepted as the new generation of the web. However, the building of a <br />
framework that can resolve easily the conflicts between schemas and decompose query <br />
efficiently is still a great challenge. The paper's purpose is to propose a new XML database <br />
integration framework, and to demonstrate the power of XDD theory in modeling user's query <br />
and system's components. The framework can be extended to work with Web application <br />
metadata integration.<br />
<br />
<br />
<br />
<br />
51<br />