Cục bộ hóa dữ liệu phân tán

Một phần của tài liệu Giáo trình Cơ sở dữ liệu 2 Phần 1 - ĐH Thái Nguyên (Trang 52)

5. Giao hoán phép chọn với phép toán hai ngô

1.4.3.Cục bộ hóa dữ liệu phân tán

Tầng cục bộ hóa dữ liệu chịu trách nhiệm . dịch câu vấn tin đại số trên quan hệ toàn cục sang câu vấn tin đại số trên các mảnh vật lý. Cục bộ hóa có sử dụng các thông tin được lưu trong một lược đồ phân mảnh.

Cục bộ hoá dữ liệu sẽ xác định các mảnh nào cần cho câu vấn tin. Biến đổi câu vấn tin phân tán thành các câu vấn tin theo mảnh.

- Trong phần này đối với mỗi kiểu phân mảnh ta sẽ trình bày các kỹ thuật rút gọn để tạo các câu vấn tin tối ưu và đơn giản hơn.

Ta sẽ sử dụng các qui tắn biến đổi và các khám phá, chẳng hạn đẩy các phép toán đơn ngôi xuống thấp như có thể.

Rút gọn phân mảnh ngang nguyên thuỷ

NV (MaNV, TenNV, CVỤ)

Cách làm:

+ Xác định sau khi tái cấu trúc lại cây con, xem cây nào tạo ra các quan hệ rỗng thì loại bỏ chúng đi.

+ Phân mảnh ngang có thể được dùng để đơn giản hoá phép chọn và phép nối

Rút gọn với phép chọn: Chọn trên các mảnh có lượng từ mâu thuẫn với lượng từ hoá của qui tắc phân mảnh sẽ sinh ra quan hệ rỗng ta loại bỏ chúng.

rj = Ø nếu t thuộc r : (t(p∀ ¬ i) ∧ t(pj))

Trong đó p;, pj là các vị từ chọn, t biểu thị cho 1 bộ, tệp) biểu thị "vị từ p đúng với t,,

Ví dụ: NVI = σMaNV≤'E3'(NV) NV2 = σ'E3' < MaNV < 'E6'(NV) NV3 : σMaNV > 'E6'(NV)

Select MaNV Bằng cách hoán vị phép chọn với phép hợp ta From NV sẽ phát hiện ra vị từ chọn >< vị từ của NV1, Where MaNV='E5' NV3 . => tạo ra các quan hệ rỗng => loại bỏ

- Nối trên các quan hệ phân mảnh ngang có thể được đơn giản khi các quan hệ nối được phân mảnh theo thuộc tính nối.

Đơn giản hoá gồm có phân phối các nối trên các hợp rồi bỏ đi các nối vô dụng.

( ri r2 ) |><| s = (r1 |><| s ) (r2 |><| s ) ∪ ∪

đó r; là các mảnh còn r, s là các quan hệ

Bằng phép biến đổi này, các hợp có thể được di chuyển lên trên cây toán tử để tất cả các nối có thể có các mảnh đều được lộ ra. Các nối vô dụng được bỏ đi khi các lượng từ hoá của các mảnh có mâu thuẫn.

Ví dụ: cho 2 quan hệ được phân mảnh

NV1 = σMaNV - E3 (NV) NV(MaNV, TÊNNV, CVỤ) NV2 = σE3 < MaNV < E6 (NV)

NV3 = σMANV > E6 (NV) PC 1 = σMANV < E3 (PC) PC (MaNV, MaDA, NVụ, Tg) PC2 = σMANV > E3 (NV) Câu hỏi :

Select * From NV, PC

Where NV.MaNV = PC.MaNV

y Rút gọn cho phân mảnh dọc

Phân mảnh dọc phân tán một quan hệ dựa trên các thuộc tính chiếu.

Chương trình cục bộ hoá cho một quan hệ phân mảnh dọc gồm có nối của các mảnh theo thuộc tính chung.

Ví dụ: NV(MaNV, TênNV, CVụ) NV1 = ΠMaNV, TÊNNV(NV) NV2 = ΠMaNV. CVụ(NV)

Chương trình cục bộ hoá: NV = NVI |><| NV2

Cách làm Vấn tin trên phân mảnh dọc có thể được rút gọn bằng cách xác định các quan hệ trung gian vô dụng và loại bỏ các cây con đã sinh ra chúng

A={A1, A2,… } và được phân mảnh dọc thành ri (A’ ) trong đó A’ A ⊆ (adsbygoogle = window.adsbygoogle || []).push({});

ri (D,A’) là vô dụng nếu tập thuộc tính chiếu D không thuộc A’

Ví dụ: NV(MaNV, TênNV, CVụ) NV 1 = ΠMaNV, TênNV(NV) NV2 = ΠMaNV, CVụ(NV) Select TênNV

From NV

Rút gọn cho phân mảnh ngang dẫn xuất

Phân mảnh ngang dẫn xuất là một cách để phân phối hai quan hệ mà nhờ đó có thể cải thiện khả năng xử lý các điểm giao nhau giữa phép chọn và phép nối.

- Nếu quan hệ r phải phân mảnh dẫn xuất theo quan hệ s, các mảnh của r và s giống nhau ở thuộc tính nối sẽ nằm cùng vị trí. Ngoài ra s có thể được phân mảnh theo vị từ chọn.

- Phân mảnh dẫn xuất chỉ được sử dụng cho mối liên hệ 1 - N (phân cấp) từ s đến r: trong đó 1 bộ của s có thể khớp với nhiều bộ của r

Ví dụ:

NV(MaNV, TÊNNV, CVỤ) NV1= σCvụ='TP'(NV) NV2 = σCvụ≠ ‘TP’(NV)

PC(MaNV, MaDA, NVụ, Tg) PC1 = PC |><| NV1 PC2 = PC |><| NV2 " Đưa ra tất cả các thuộc tính của NV, PC với NVỤ :"PP" Select *

From NV , PC

Where NV.MaNV = PC.MaNV and NV.CVụ=”PP”

Câu vấn tin trên các mảnh NV1, NV2 , PC1 , PC2 đã được định nghĩa. Đẩy phép chọn xuống các mảnh NV1. NV2 câu vấn tin rút gọn lại do mâu thuẫn với vị từ chọn của NV1 = > loại bỏ NV1

Rút gọn cho phân mảnh ngang hỗn hợp

Mục tiêu: Hỗ trợ hiệu quả các câu vấn tin có chứa phép chiếu, chọn và nối Câu vấn tin trên các mảnh hỗn hợp có thể được rút gọn bằng cách tổ hợp các qui tắc tương ứng đủ được dùng trong các phân mảnh ngang nguyên thuỷ, phân mảnh dọc, phân mảnh ngang dẫn xuất.

Qui tắc :

1/ Loại bỏ các quan hệ rỗng được tạo ra bởi các phép toán chọn mâu thuẫn trên các mảnh ngang.

mảnh dọc

3/ phân phối các nối cho các hợp nằm cô lập và loại bỏ các nối vô dụng. Ví dụ:

NVI = σMaNV ≤ E4(ΠMaNV, TênNV (NV))

NV(MaNV, TênNV, CVỤ) NV2= σMaNV > E4(ΠMaNV, TÊNNV (NV)) NV3 = ΠMaNV, CVụ(NV)

Chương trình cục bộ hoá NV = (NV1 u NV2 ) |><| NV3 ∪

Câu vấn tin: Tên của nhân viên có mã E5

Một phần của tài liệu Giáo trình Cơ sở dữ liệu 2 Phần 1 - ĐH Thái Nguyên (Trang 52)