- Phép tách = (X1, X2, ,Xk) Output
PHÉP DỊCH CHUYỂN LƯỢC ĐỒ QUAN HỆ
2.1. Phép dịch chuyển LĐQH
Đ ị n h n g h ĩ a
Cho hai LĐQH a = (U,F), b = (V,G) và tập thuộc tính MU. Ta nói LĐQH b nhận được từ LĐQH a qua phép dịch chuyển theo tập thuộc tính M, nếu sau khi loại bỏ mọi xuất hiện của các thuộc tính của M trong lược đồ a thì thu được lược đồ b.
Nếu sau khi thực hiện phép dịch chuyển theo M cho LĐQH a ta thu được LĐQH b thì ta viết
b = a\M
Thao tác loại bỏ M được thực hiện trên lược đồ a = (U,F) để thu được lược đồ
b=(V,G) như sau:
1. Tính V = U\M có độ phức tạp O(n) với n là số lượng thuộc tính trong
U.
2. Với mỗi PTH X Y trong F ta tạo một PTH X\M Y\M cho G. Thủ tục này được ký hiệu là G = F\M. Tính F\M đòi hỏi độ phức tạp O(mn) với m là số lượng PTH trong F.
Như vậy b = a\M = (U\M,F\M) được thực hiện với độ phức tạp O(mn), tức là tuyến tính theo chiều dài dữ liệu vào (LĐQH a).
Sau khi thực hiện thủ tục G = F\M nếu
G chứa các PTH tầm thường (dạng X Y, X Y) thì ta loại các PTH này
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
G chứa các PTH trùng lặp thì ta lược bớt các PTH này.
T h í d ụ
Cho LĐQH a = (U,F), U = ABCDEH, F = {AED, ADH, BCE,
EBC}. Với M = ADH, hãy xác định b = (V,G) = a\M.
Ta có V= U\ADH = ABCDEH\ADH=BCE,
G = {E Ø (loại), (loại), BC E, EBC} ≡ {BCE, EBC}.
Ta cũng dễ nhận thấy phép dịch chuyển thỏa tính hợp thành, cụ thể là nếu a là
LĐQH trên tập thuộc tính U và X, Y là hai tập con của U thì
a\(XY) = (a\X)\Y
Trong trường hợp X và Y là hai tập con rời nhau của U ta có
a\XY = (a\X)\Y = (a\Y)\X