Tải bản đầy đủ (.pdf) (12 trang)

Báo cáo nghiên cứu khoa học " TÍCH HỢP CÁC CƠ SỞ DỮ LIỆU XML " pdf

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 (189.41 KB, 12 trang )


45
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. XML
1
(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 đồ 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 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

1


46


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. Ngoà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
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 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 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

47
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

B
1
, , B
m
,

1
, ,

n

trong đó m, n

0; H và B
i
(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 {B
1
, , B
m
,


1
, ,

n
} gọi là phần thân của
mệnh đề (Body).


Tên biến

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ị"
Bảng 1: Kiểu của các biến trong XDD

48
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. Ngoà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 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

49
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 quá 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 khuôn 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> %

Ánh xạ quy
định sự tương

50
<$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>
%


%

%

%

%

%
%
%

ứ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

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 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 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 các lược đồ như: xung đột tên phần tử, xung đột
Hình 1: Cấu trúc ánh xạ

51
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 quá 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
%

%

Luật này chỉ ra rằng:
nếu truy vấn có chứa
phần tử $N:tag1 thì ta

52
<$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>

%

%

%



%

%

%



%
%
%
%

sẽ thay bằng phần tử
$N:tag2 trong lược đồ
cục bộ $S:source tương
ứng với nó.


Khuôn 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.

53

<$N:tag2>$E:content<$N:tag2>
<$N:LocalTag>
$E:exp4
<local>
<Mapping>


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 khuôn 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à 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 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
Hình 2: Một luật XDD dùng để tách câu truy vấn

54
khuôn 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-
Transformation-Based 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 .
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


55
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

56
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.



×