2.4.2 Định vị dữ liệu
Tầng định vị dữ liệu có nhiệm vụ biến đổi một câu truy vấn đại số trên quan hệ tổng thể thành câu truy vấn đại sốđược biểu thị trên các mảnh. Việc định vị dữ liệu sử dụng các thông tin về sự phân bố dữ liệu được lưu trong lược đồ phân mảnh. Tầng này xác định những mảnh nào cần cho truy vấn, và biến đổi rút gọn câu truy vấn phân tán thành câu truy vấn có “chất lượng” được xác định trên các mảnh. Để cho đơn giản chúng ta không xét tình huống các mảnh được nhân bản. Chương trình, có các toán hạng là các mảnh, có nhiệm vụ tái thiết quan hệ toàn cục từ các mảnh được gọi là chương trình định vị (localization program).
Một cách định vị đơn giản là thay thế quan hệ toàn cục trong câu truy vấn bằng chương trình định vị của nó. Câu truy vấn thu được được gọi là câu truy vấn gốc (generic query). Tuy nhiên cách này không đựoc hiệu quả, vì câu truy vấn gốc vẫn có thểđược cấu trúc lại và đơn giản hóa, ([Ceri and Pelagatti, 1983] và [Ceri et al.,1986]). Với việc áp dụng các heuristic và các quy tắc biến đổi ta sẽ có với mỗi kiểu phân mảnh sẽ có các kỹ thuật biến đổi, rút gọn để câu truy vấn được tối ưu và đơn giản hơn.
2.4.2.1 Rút gọn cho phân mảnh ngang nguyên thủy
Việc phân mảnh ngang một quan hệ là dựa trên vị từ chọn.
Thí dụ 2.8:
Quan hệ NHANVIEN(MSNV,TENNV,NNGH) được phân mảnh theo quy tắc sau: (NHANVIEN) σ NHANVIEN1 = MSNV≤"E3" (NHANVIEN) σ NHANVIEN2 = "E3"≤MSNV≤"E6" (NHANVIEN) σ NHANVIEN3 = MSNV>"E6"
Trong ví dụ này thì chương trình định vị là hợp của các mảnh 3
2
1 NHANVIEN NHANVIEN
NHANVIEN
NHANVIEN = ∪ ∪ .
Do vậy câu truy vấn gốc trên NHANVIEN sẽ thu được nhờ thay NHANVIEN bằng NHANVIEN1∪NHANVIEN2 ∪NHANVIEN3.
Với quan hệ PHANCONG với PHANCONG1 =σMSNV≤"E3"(PHANCONG) và ) ( " 3 " 2 PHANCONG PHANCONG =σMSNV>E
Ta có PHANCONG =PHANCONG1∪PHANCONG2
Với câu truy vấn ở thí dụ 2.7 (trong hình 2.5) ta có thể xây dựng lại cây như sau: