You are on page 1of 7

Mô hình kiến trúc bao bọc

Hình ảnh mà bạn đã gửi mô tả về kiến trúc của một hệ thống quản lý cơ sở dữ liệu.
Dưới đây là quy trình vận hành cơ bản của sơ đồ:
1. Người dùng: Người dùng gửi yêu cầu hoặc truy vấn đến hệ thống.
2. Trung gian (Mediators): Trung gian nhận yêu cầu từ người dùng, sau đó dịch và
chuyển yêu cầu đến các bộ đóng gói phù hợp.
3. Bộ đóng gói (Wrappers): Bộ đóng gói chuyển đổi yêu cầu từ trung gian thành định
dạng mà hệ thống quản lý cơ sở dữ liệu (DBMS) có thể hiểu được.
4. Hệ thống quản lý cơ sở dữ liệu (DBMS): DBMS xử lý yêu cầu và trả về kết quả cho bộ
đóng gói.
5. Bộ đóng gói (Wrappers): Bộ đóng gói chuyển đổi kết quả từ DBMS thành định dạng
mà trung gian có thể hiểu được.
6. Trung gian (Mediators): Trung gian nhận kết quả từ bộ đóng gói, sau đó tổng hợp và
trả về kết quả cho người dùng.

Quy trình này giúp đảm bảo rằng yêu cầu của người dùng được xử lý một cách hiệu quả
và kết quả được tích hợp một cách chính xác.
1. Local Schema (Cơ sở dữ liệu cục bộ): Đây là các cơ sở dữ liệu nằm ở các vị trí cục bộ,
chứa thông tin chi tiết về dữ liệu. Mỗi local schema có thể liên quan đến một khu vực cụ
thể hoặc một phần của hệ thống.
2. Global View (Góc nhìn toàn cầu): Global view là một góc nhìn tổng hợp của toàn bộ
hệ thống. Nó được sử dụng để xử lý các truy vấn từ người dùng hoặc ứng dụng. Khi có
truy vấn, global view sẽ tương tác với các local schema để thu thập dữ liệu cần thiết.
3. Query Processing (Xử lý truy vấn): Khi có truy vấn, hệ thống sẽ xử lý truy vấn này
thông qua global view. Quá trình này bao gồm việc tìm kiếm và trích xuất dữ liệu từ các
local schema liên quan.
4. Result Integration (Tổng hợp kết quả): Sau khi xử lý truy vấn, hệ thống tổng hợp kết
quả từ các local schema và trả về kết quả cho người dùng hoặc ứng dụng.

Kiến trúc xử lý truy vấn MDB

Sơ đồ mà bạn đã cung cấp mô tả quy trình vận hành của một hệ thống truy vấn phân
tán. Dưới đây là các bước chi tiết:
1. MEDIATOR SITE: Tại đây, một “Query on global relations” được khởi tạo. Đây là truy
vấn ban đầu dựa trên mối quan hệ toàn cầu.
2. REWRITING: Truy vấn sau đó được chuyển qua giai đoạn này để được chuyển đổi. Truy
vấn được viết lại dựa trên “Global Schema”, tức là lược đồ toàn cầu.
3. OPTIMIZATION & EXECUTION: Truy vấn sau đó được tối ưu hóa và thực thi trong giai
đoạn này. Việc tối ưu hóa và thực thi dựa trên các thông tin cục bộ và khả năng. Kết quả
của giai đoạn này là một kế hoạch thực thi truy vấn phân tán.
4. WRAPPER SITES: Các trang web bao bọc nhận kế hoạch thực thi và tiến hành giai đoạn
“TRANSLATION & EXECUTION”. Tại đây, kế hoạch được dịch và thực thi dựa vào thông
tin từ các wrapper.
5. Cuối cùng, kết quả của truy vấn được thu thập và trả về.

Quy trình này giúp hiểu rõ cách hoạt động của hệ thống truy vấn phân tán, từ việc khởi
tạo truy vấn cho đến việc thu thập kết quả. Mỗi bước trong quy trình đều đóng vai trò
quan trọng trong việc đảm bảo rằng truy vấn được thực hiện một cách hiệu quả và kết
quả được thu thập một cách chính xác.

1. Bảng EMP (EMPLOYEE):


 E#: Mã nhân viên.
 ENAME: Tên nhân viên.
 TITLE: Chức vụ của nhân viên.
 CITY: Thành phố nơi nhân viên đang làm việc.
2. Bảng WORKS:
 E#: Mã nhân viên (khóa ngoại tham chiếu đến bảng EMPLOYEE).
 P#: Mã dự án.
 RESP: Trách nhiệm của nhân viên đối với dự án.
 DUR: Thời gian (đơn vị: giờ) nhân viên đã làm việc cho dự án.

Bây giờ, hãy giải thích từng phần của truy vấn:

 Dòng truy vấn:


 Dòng truy vấn này làm hai việc: chọn các cột từ bảng EMP và WORKS, sau đó áp
dụng các điều kiện để lọc kết quả.
 Các cột chọn là E# (mã nhân viên), TITLE (chức vụ), và P# (mã dự án).
 FROM:
 Trong câu truy vấn, từ khóa FROM được sử dụng để chỉ định bảng hoặc các liên
kết giữa các bảng. Ở đây, nó làm việc với bảng EMP và WORKS thông qua phép
nối tự nhiên ( NATURAL JOIN), tức là nó sẽ kết hợp các hàng từ hai bảng mà có các
giá trị cột giống nhau.
 WHERE:
 Phần WHERE của truy vấn định nghĩa điều kiện để lọc dòng từ kết quả của phép
nối tự nhiên đã được thực hiện ở phần FROM. Ở đây, có hai điều kiện:
 TITLE = "Programmer": Chỉ chọn các nhân viên có chức vụ là
"Programmer".
 OR: Điều kiện kết hợp, chỉ cần một trong hai điều kiện sau đây là đúng:
 DUR = 24: Chọn các dòng có thời gian làm việc ( DUR) bằng 24 giờ.
 Q(E#,TITLE,P#):
 Đây là cách định nghĩa cho một view (có thể hiểu như một bảng ảo) trong hệ
thống cơ sở dữ liệu.
 View này chứa ba cột: E# (mã nhân viên), TITLE (chức vụ), và P# (mã dự án).
 Có hai quy tắc (rules) trong định nghĩa của view này:
 Rule đầu tiên: Nếu một nhân viên có chức vụ là "Programmer", thì chọn
thông tin về nhân viên đó (mã nhân viên, chức vụ) và mã dự án mà nhân
viên đó đang làm việc.
 Rule thứ hai: Nếu một nhân viên đang làm cho một dự án trong 24 giờ
(DUR = 24), thì chọn thông tin về nhân viên đó (mã nhân viên, chức vụ) và
mã dự án mà nhân viên đó đang làm việc.
Tóm lại, truy vấn này lấy thông tin về mã nhân viên, chức vụ và mã dự án của những
nhân viên có chức vụ là "Programmer" hoặc đã làm cho một dự án trong 24 giờ.

Ví dụ GAV
1. Bảng Dữ Liệu Cơ Bản:
 EMP(E#, ENAME, CITY): Lưu trữ thông tin về nhân viên, bao gồm mã nhân viên,
tên nhân viên và thành phố nơi họ đang làm việc.
 WORKS(E#, P#, TITLE, DUR): Chứa thông tin về các dự án mà mỗi nhân viên
tham gia, bao gồm mã nhân viên, mã dự án, chức vụ trong dự án và thời gian làm
việc.
2. Bảng Quan Hệ Cục Bộ:
 EMP1(E#, ENAME, TITLE, CITY) và EMP2(E#, ENAME, TITLE, CITY): Đây là hai
bảng cục bộ, mỗi bảng chứa một phần của thông tin nhân viên. Cả hai đều được
sử dụng để tạo ra bảng toàn cục EMP.
 WORKS(E#, P#, DUR): Là một bảng cục bộ khác, chỉ chứa thông tin cần thiết cho
các quy tắc để tạo ra bảng toàn cục WORKS.
3. Quy Tắc (Rules):
 Có bốn quy tắc được sử dụng để tạo ra các bảng toàn cục từ các bảng cục bộ:
D1, D2, D3, và D4.
 D1 và D2 được sử dụng để tạo ra bảng EMP từ các bảng cục bộ EMP1 và EMP2.
 D3 và D4 được sử dụng để tạo ra bảng WORKS từ bảng cục bộ WORKS.
4. Truy Vấn Q:
 Truy vấn Q yêu cầu lấy các dự án cho nhân viên ở Paris.
 Để làm điều này, truy vấn Q đã được tạo thành hai phiên bản Q'1 và Q'2.
5. Quan Hệ Quan Trọng:
 Q'1(e, p): Lấy các dự án cho nhân viên ở Paris, sử dụng thông tin từ EMP1.
 Q'2(e, p): Lấy các dự án cho nhân viên ở Paris, sử dụng thông tin từ EMP2.

Vấn đề chính ở đây là sự tương đồng trong cách tạo ra bảng toàn cục EMP và WORKS từ
các bảng cục bộ. Do đó, khi tạo các phiên bản của truy vấn Q, chúng ta có thể sử dụng
cả quy tắc D1 và D3, hoặc chỉ D3, để lấy thông tin về dự án cho nhân viên ở Paris mà
không cần thêm bất kỳ truy vấn nào là dư thừa. Tương tự, với Q'2, chúng ta có thể sử
dụng D2 và D4, hoặc chỉ D4. Điều này giúp loại bỏ các truy vấn dư thừa và làm cho truy
vấn hiệu quả hơn.

Ví dụ LAV
Trong ví dụ này, chúng ta có các quan hệ cục bộ và quan hệ toàn cục, cùng với một truy
vấn Q cụ thể. Đây là một phương pháp để tạo ra các truy vấn ứng với các yêu cầu cụ thể
từ các quan hệ cục bộ và quan hệ toàn cục. Dưới đây là các phần cụ thể:

Quan hệ Cục Bộ:

 EMP1(E#, ENAME, TITLE, CITY): Một phần của bảng EMP, được sử dụng để tạo ra
EMP.
 EMP2(E#, ENAME, TITLE, CITY): Phần còn lại của bảng EMP, cũng được sử dụng để tạo
ra EMP.
 WORKS1(E#, P#, DUR): Một phần của bảng WORKS, được sử dụng để tạo ra WORKS.

Quan hệ Toàn Cục:

 EMP(E#, ENAME, CITY): Bảng nhân viên toàn cục.


 WORKS(E#, P#, TITLE, DUR): Bảng công việc toàn cục.

Quy Tắc:

 D5: Tạo ra EMP1 từ EMP và WORKS.


 D6: Tạo ra EMP2 từ EMP và WORKS.
 D7: Tạo ra WORKS1 từ WORKS.

Truy Vấn Q:

 Q: Lấy các dự án cho nhân viên ở Paris.

Bước 1:

 Chúng ta xác định các nhóm b cho mỗi mục tiêu phụ q của Q không phải là vị từ so
sánh.
 Trong trường hợp này, mục tiêu phụ là EMP(e, ENAME, CITY) và WORKS(e, p, TITLE,
DUR), không có vị từ so sánh nào.
 Chúng ta xác định hai nhóm b1 và b2:
 b1 = {EMP1(E#, ENAME, TITLE, CITY), EMP2(E#, ENAME, TITLE, CITY)}
 b2 = {WORKS1(E#, P#, DUR)}

Bước 2:

 Đối với mỗi khung nhìn V của tích Descartes của các nhóm, chúng ta tạo một truy vấn
liên hợp.
 Trong trường hợp này, chúng ta có các truy vấn liên hợp sau:
 Q'(e, p) :- EMP1(e, ENAME, TITLE, "Paris"), WORKS1(e, p, DUR) (q1)
 Q'(e, p) :- EMP2(e, ENAME, TITLE, "Paris"), WORKS1(e, p, DUR) (q2)

Các truy vấn này sẽ trả về các dự án cho nhân viên ở Paris bằng cách sử dụng thông tin
từ các bảng cục bộ EMP1, EMP2 và WORKS1. Điều này giúp tối ưu hóa truy vấn và loại
bỏ dữ liệu dư thừa.

You might also like