1. Định nghĩa các thuật ngữ: cơ sở dữ liệu, hệ quản trị cơ sở dữ liệu, hệ cơ sở dữ
11.2. Các tập phụ thuộc hàm tương đương
Cho F và G là hai tập phụ thuộc hàm trên tập thuộc tính U, ta nói rằng tập phụ thuộc hàm F tương đương với tập phụ thuộc hàm G nếu và chỉ nếu F+=G+ Nếu F+=G+ thì ta nói F là phủ của G và ngược lại G là phủ của F
Thuật toán kiểm tra sự tương đương của hai tập phụthuộc hàm
Với mỗi phụ thuộc hàm XY của F kiểm tra xem XY có thuộc vào G+ hay không?, bằng cách tính X+G ( bao đóng của X trong tập G) và xem Y
⊆X+Ghay không?
Nếu Y⊆ X+Gthì XY∈G+, nếu mọi phụ thuộc hàm trng F đều thuộc G+hay được suy dẫn từ G+ thì mọi phụ thuộc hàm trong F+ cũng suy dẫn được từ G. Do vậy F+ ⊆G+
Tương tự, nếu mọi phụ thuộc hàm trong G đều thuộc F+thì G+⊆F+
Cuối cùng, nếu F+⊆G+ và G+ ⊆F+thì F+=G+tức là F và G là tương đương. Thuật toán xác định F và G có tương đương không?
Bước 1: Với mỗi phụ thuộc hàm X Y của F ta xác định xem X Y được suy dẫn từ G không?
Bước 2: Với mỗi phụ thuộc hàm X Y của G ta xác định xem X Y được suy dẫn từ F không?
Nếu cả hai bước trên đều đúng thì F G
Ví dụ: Cho lược đồ quan hệcó:
F={A → BC, A → D, CD → E}, G={A → BCE, A → ABD, CD → E} a. F có tương đương với G không?
b. F có tương đương với G+= {A→ BCDE} không? Giải:
a) Ta có A+G= ABCDE trong G+ có A→BC và A→D ⇒F G+⇒F+⊂G+(1) A+F =ABCDE ⇒trong F+có A→BCE và A→ABD ⟹ F+⊇G ⟹ F+⊇G+(2) Từ(1) và (2)⟹F+= G+⟹F G.
b) Do (CD)+G=CD suy ra G’+không chứa phụ thuộc hàm CDE Suy ra F không tương đương với G’
R(f) R(F)