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

Một phần của tài liệu Xử lý câu truy vấn SQL qua phán đoán và cưỡng chế (Trang 42)

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

Một phần của tài liệu Xử lý câu truy vấn SQL qua phán đoán và cưỡng chế (Trang 42)