6. Các kết quả dự kiến đạt đƣợc
2.3.3. Rút gọn cho phân mảnh dọc
Phân mảnh dọc một quan hệ dựa trên các thuộc tính chiếu. Mỗi mảnh dọc là kết quả chiếu lên một tập con thuộc tính, một tập thuộc tính đƣợc dùng để tạo ra mảnh dọc luôn có mặt của tập thuộc tính khóa chính. Toán tử xây dựng lại quan hệ
ENO
ASGDXH2
ASG DXH1 TITLE= Mech.Eng”
EMPH2 ENO ENO TITLE= Mech.Eng” EMPH2 TITLE= Mech.Eng” ASGH2 EMPH2 ENO
Số hóa bởi trung tâm học liệu http://lrc.tnu.edu.vn/
gốc từ các mảnh dọc là nối qua tập thuộc tính khóa này. Chƣơng trình cục bộ hoá (tái thiết lại quan hệ ban đầu) cho một quan hệ phân mảnh dọc là phép nối.
Ví dụ 2.11
Quan hệ EMP có thể đƣợc phân thành hai mảnh dọc, trong đó thuộc tính khóa ENO phải có mặt trong mọi mảnh dọc.
EMPV1 = ENO , ENAME (EMP) EMPV2 = ENO , TITLE (EMP) Chƣơng trình cục bộ hóa là EMP = EMPV1 EMPV2
Tƣơng tự nhƣ phân mảnh ngang, các vấn tin trên các 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. Phép chiếu trên một mảnh dọc không có thuộc tính chung với các thuộc tính chiếu (trừ khóa của quan hệ) sinh ra các quan hệ vô dụng, mặc du không phải là quan hệ rỗng. Cho trƣớc quan hệ R(A) | A = {A1, …, An} và đƣợc phân mảnh thành các mảnh dọc thành
Ri = A’(R) | A’ A. Qui tắc phát biểu nhƣ sau:
Qui tắc 3
D,K(Ri) là vô dụng nếu tập các thuộc tính chiếu D hoặc K hoặc D K không thuộc A’ (hình 2.8a).
Hình 2.8a. Phép chiếu vô dụng
ENO
A’ Ri
K D
Số hóa bởi trung tâm học liệu http://lrc.tnu.edu.vn/
Ví dụ 2.12
Cho câu vấn tin trong SQL:
SELECT ENAME
FROM EMP
Câu vấn tin gốc tƣơng đƣơng trên EMPV1 và EMPV2 (các mảnh dọc trong ví dụ 2.12) đƣợc cho trên hình 2.8b, sau khi hoán vị phép chiếu với phép nối (tức là chiếu trƣớc nối) đƣợc cây hình 2.8c, chúng ta thấy EMPV2 là vô dụng vì ENAME không thuộc EMPV2. Vì vậy phép chiếu chỉ cần thực hiện trên EMPV1 nhƣ đƣợc trình bày trong hình 2.8d
Hình 2.8 b,c,d. Rút gọn cho phân mảnh dọc