Algorithm Translation Format : Translation (p, M) Input: - LĐQH p = (U,F) - Tập thuộc tính M U Output: - LĐQH q =(U, G) = p\M, V = U\M, G =F\M. Method V := U\M; G := Ø For each FD LR in F do G : = G{L\MR\M}; Endfor;
G := Natural_Reduced(G);
Return (V, G);
End Translation.
Thủ tục Natural_Reduced(G) đưa tập PTH G về dạng thu gọn tự nhiên bằng cách loại khỏi G những PTH tầm thường (có vế trái chứa vế phải), chuyển đổi mỗi PTH có hai vế trái phải rời nhau và gộp các PTH có cùng vế trái.
2.3. Các ví dụ Ví dụ 1: Ví dụ 1: Chho LĐQH p = (U, F), U = ABCDEH F = {AED, ADH, BCE, EBC}
Với M = ADH, hãy xác định q = (V,G) = p\M? Ta có: V = U\ADH = ABCDEH\ADH = BCE,
G = {E Ø (loại), Ø Ø (loại), BCE,
EBC} = {BCE, EBC}
Ta nhận phép thu gọn thỏa tính hợp thành và giao hoán, cụ thể nếu p là LĐQH trên tập thuộc tính U và X, Y là hai tập con rời nhau của U thì
p\XY = (p\X)\Y = (p\Y)\X
Ví dụ 2 : Cho LĐQH p = (U, F), U = ABCDEH F = {AED,
EBC}
DỂ TÌM TẬP KHÓA Key (p) của lược đồ p chúng ta xây dựng một lược đồ
q bằng cách xóa khỏi lược đồ p các thuộc tính A, D, H. Ta thu gọn lược đồ q = (V,G) trong đó :
V = U\ADH = ABCDEH \ ADH = BCE,
G = {E Ø (loại), BCE, EBC} = {BCE, EBC}
Ta dễ dàng tìm được Key (q) = {BC, E}. Để thu được Key (p) ta chỉ việc thêm thuộc tính AH (không thêm D) vào mỗi khóa của lược đồ q.
Vậy Key (p) = {AHBC, AHE}. Dù F là tập PTH tối ưu theo nghĩa chứa ít ký hiệu nhất, nhưng G còn chứa ít ký hiệu hơn F.
Ví dụ 3: Cho LĐQH p = (U,F), Với tập thuộc tính U = ABCDEIH. Tập thuộc tính F = {AD,
ABDE,
CEI,
EH} Tính Key(p)?
Để tìm tập khóa của p bằng cách thu gọn LĐQH p theo M = ABC. Ta thu được LĐQH q = p\M = (V,G).
V = U\M = ABCDEIH \ ABC = DEIH.
G = F\ M = { Ø D Ø DE, EI,
EH,
Ta dễ dàng suy ra Key(q) = Ø.
Để thu được Key (p), ta chỉ cần thêm vào Key (q) các thuộc tính vừa thu gọn ABC. Ta được Key (p) = ABC.
Ví dụ 4: Cho LĐQH p = (U,F), Với tập thuộc tính U = ABCDEH.
Tập PTH F = {ABC, CA, BCD, ACDB, DEH, BEC,
CHBD, CECH} Tìm Key(p)?
Ta thu gọn lược đồ quan hệ p theo thuộc tính C. Thu được LĐQH:
q = p\C = (V,G). V = ABDEH.
G = {AB Ø (loại), Ø A, BD, ADB, DEH, BE Ø (loại), HBD, EH} = {ØA, BD, ADB, DEH, HBD, EH}.
Ta tìm được khóa của lược đồ q: Key(q) = {B,D,E,H}. Để thu được Key (p), ta thêm thuộc tính C vào khóa của q.
Ta được Key (p) = {BC, DC, EC, HC}.