CHƯƠNG 2 MỘT SỐ VẤN ĐỀ CƠ BẢN CỦA TÍCH HỢP DỮ LIỆU
2.4 Truy vấn trong tích hợp dữ liệu
2.4.1 Mô hình và ánh xạ dữ liệu
2.4.1.2. Mô hình ánh xạ các nguồn dữ liệu
Để viết lại câu truy vấn trong lược đồ toàn cục thành tập truy vấn con, chúng ta cần mối liên hệ giữa lược đồ trung gian và mối liên hệ các nguồn dữ liệu. Điều
này chúng ta có thể xác định được thông qua mô hình ánh xạ các nguồn dữ liệu sử dụng các mô tả nguồn dữ liệu.
Có 3 phương pháp để mô tả nguồn dữ liệu:
Phương pháp GAV (Global As View ).
Với mỗi một liên hệ R trong luợc đồ trung gian, chúng ta viết một câu truy vấn trên trên các đặc tả nguồn dữ liệu để thu được một bộ R’ từ các nguồn dữ liệu (xem thêm tại trang 21 tài liệu [17]).
Ví dụ, có 3 nguồn dữ liệu:
- S1: {[ProductDescription: String, BusinessUnit: String, Rating: Float, ExtendedPrice: Float]}
- S2:{[ProductName: String, Unit: String]}
- S3:{[ProductName: String, Rating: Float, Price: Float]}
S1 lưu các sản phẩm của nhà cung cấp A, S2 lưu các sản phẩm của nhà cung cấp B, và S3 lưu tất cả các đánh giá về sản phẩm. Chúng ta giả thiết thuộc tính ProductDescription và ProductName đều có một bộ giá trị giống nhau.
Chúng ta định nghĩa một lược đồ trung gian như sau:
Catalog:{[ProductDescription: String, BusinessUnit: String, Rating: Float, Price: Float]}
Chúng ta xây dựng ánh xạ trong GAV như sau:
create view Catalog as
select ProductDescription, BusinessUnit, Rating, ExtendedPrice as Price
from S1
union
select S2.ProductName as ProductDescription, S2.Unit as BusinessUnit, S3.Rating, S3.Price from S2, S3
where S2.ProductName = S3.ProductName
Phương pháp LAV (Local As View ).
Với mỗi môt nguồn dữ liệu S, một khung nhìn dựa trên mối liên hệ lược đồ trung gian được tạo ra để mô tả tập các liên hệ trong lược đồ trung gian tìm thấy trên S.
Cùng với các điều kiện trong ví dụ trên. Câu truy vấn trong LAV như sau:
create view Catalog1 as
select ProductDescription, BusinessUnit, Rating, ExtendedPrice as Price
from S1
create view Catalog2 as
select ProductName as ProductDescription, Unit as BusinessUnit
from S2
create view Catalog3 as
select ProductName as ProductDescription, Rating, Price from S3
Phương pháp mô tả logic (DL).
DL là một ngôn ngữ được thiết kế để xây dựng ánh xạ dựa trên hệ thống cấp bậc được tập hợp. Trong phương pháp này, một mô hình chính của miền ứng dụng được tạo ra. Mô hình này mô tả các lớp thông tin trong miền và các mối liên hệ giữa
chúng. Tất cả các thông tin về nguồn dữ liệu được định nghĩa thành các hạng tử trong mô hình này. Dựa trên mối liên hệ giữa các khái niệm thông tin các nguồn dữ liệu và các khái niệm thích hợp trong hệ tích hợp dữ liệu để xây dựng mô hình này.
Truy vấn trong hệ tích hợp dữ liệu cũng được đặt dưới dạng các hạng tử trong mô hình này. Mặt khác, mô hình này cung cấp một ngôn ngữ cho việc truy xuất nguồn dữ liệu.
DL và LAV có cách xây dựng câu truy vấn con như nhau.
Đánh giá các phương pháp
Nhìn chung mỗi phương pháp đều có những mặt mạnh và cũng có những điểm yếu. Điểm mạnh của phương pháp GAV là việc tạo công thức là rất dễ dàng.
Khi các mối liên hệ trong lược đồ trung gian được định nghĩa dưới dạng các mối liên hệ nguồn dữ liệu, thì từng đó là đủ để định nghĩa các liên hệ lược đồ trung gian.
Một điểm mạnh nữa của GAV là khả năng dùng lại của các khung nhìn. Tuy nhiên, trong GAV rất khó để thêm một nguồn dữ liệu mới vào hệ thống. Nó yêu cầu xây dựng lại mối liên hệ giữa các nguồn dữ liệu và sẽ làm thay luôn các luật trong GAV. Quá trình truy viết lại truy vấn trong LAV phức tạp hơn trong GAV song nó lại có những thuận lợi rất quan trọng đó là việc thêm vào một nguồn dữ liệu và thêm vào các ràng buộc là đơn giản. Để thêm một nguồn dữ liệu trong LAV điều chúng ta cần làm là mô tả nguồn dữ liệu đó dựa trên lược đồ trung gian thông qua một hoặc một vài khung nhìn, chúng ta không cần quan tâm đến các nguồn dữ liệu khác. Hơn nữa nếu chúng ta cần xác định một ràng buộc, chúng ta chỉ cần thêm các xác nhận vào định nghĩa khung nhìn nguồn dữ liệu.
So sánh GAV và LAV thì phương pháp DL có lợi thế là thể hiện cho người dùng một mô hình trực quan thông qua kiến trúc hệ thống cấp bậc. Tuy nhiên nó lại không đủ mạnh để mô hình các phép kết nối của quan hệ.