Phân rã bảo toàn thông tin

Một phần của tài liệu bài giảng cơ sở dữ liệu (Trang 67 - 68)

• Nếu R là 1 l−ợc đồ quan hệ đ−ợc tách thành các l−ợc đồ con R1, R2,..., RK và D là tập các phụ thuộc hàm. Ta nói rằng phép tách là tách kết nối không mất mát thông tin đối với D, nếu với mỗi quan hệ r trên R thoả D:

• Kiểm tra phép kết nối không mất mát thông tin.

Vào: L−ợc đồ quan hệ R , tập FD F và phép tách P = (R1,..., RK). Ra: Kết luận phép tách P có mất mát thông tin ?

Ph−ơng pháp:

a) Thiết lập 1 bảng với n cột và K hàng. Cột thứ j ứng với thuộc tính Aj .

Hàng thứ i ứng với l−ợc đồ Ri .

Tại hàng i và cột j điền ký hiệu aj nếu Aj ∈ Ri+ , nếu không thì điền bij.

r = (r) >< (r) >< …... >< (r) R1 R2 RK

Xét X ->Y ∈ F, xét các hàng nếu có giá trị bằng nhau trên thuộc tính X thì làm bằng nhau trên thuộc tính Y.

Chú ý: Khi làm bằng giá trị trên Y, nếu 1 trong 2 giá trị là aj thì −u tiên làm bằng ký hiệu aj . Ngoài ra làm chúng bằng 1 trong các ký hiệu bij .

Tiếp tục áp dụng phụ thuộc hàm cho bảng (kể cả việc lập lại các phụ thuộc hàm đã đ−ợc áp dụng) cho tới khi không còn áp dụng đ−ợc nữa.

Nếu xuất hiện 1 hàng gồm ký hiệu (a1, a2,...,an) thì phép kết nối không mất mát thông tin.

Ví dụ: S ( SNAME , ADD , PRO , PRICE). S1 ( SNAME , ADD)

S2 ( SNAME , PRO , PRICE) SNAME ->ADD

SNAME , PRO ->PRICE SNAME ADD PRO PRICE S1 a1 a2 b13 b14

S2 a1 b22 a3 a4 áp dụng SNAME ->ADD ở hàng 2 (S2) Ta có hàng 2: a1 a2 a3 a4

do đó phép kết nối không mất mát thông tin.

• Định lý DelobelĐịnh lý DelobelĐịnh lý DelobelĐịnh lý Delobel

Nếu ρ ( R1 , R2 ) là 1 phép tách của R và F, thì ρ là tách không mất mát thông tin đối với F khi và chỉ khi.

R1 ∩ R2 ->R1 - R2 hoặc R1 ∩ R2 ->R2 - R1 .

Chú ý: Các phụ thuộc hàm nêu trên không nhất thiết phải thuộc tập F ban đầu nh−ng phải thuộc F + .

Một phần của tài liệu bài giảng cơ sở dữ liệu (Trang 67 - 68)