1. Các khái niệm cơ bản
3.4. Các hệ tiên đề trong mô hình khối
Cho lƣợc đồ khối R = (id, A1, A2, ..., An), r(R) là một khối trên R, F là tập các phụ thuộc hàm trên R và X, Y, Z, V, W n (i) i 1 id , khi đó ta có các hệ
tiên đề trong mô hình dữ liệu dạng khối nhƣ sau:
3.4.1. Hệ tiên đề A0
i) Nếu Y X thì X → Y
ii) Nếu X → Y thì XW→ YW
iii) Nếu X → Y, Y → Z thì X → Z
Chú ý: Khi id ={x} tức là khối suy biến thành quan hệ thì hệ tiên đề A0 chính là hệ tiên đề Amstrong trong mô hình quan hệ.
Định lý 3.2 Hệ tiên đề A0 là đúng và đầy đủ
Chứng minh:
46
i) Với mọi t1, t2 r(R) và t1(X) = t2(X), cần chứng minh t1(Y) = t2(Y). Thật vậy, từ giả thiết t1(X) = t2(X) mà Y X suy ra t1(Y) = t2(Y).
Vậy từ t1(X) = t2(X) ⇒ t1(Y) = t2(Y).
ii) Với mọi t1, t2 r(R) và t1(XW) = t2(XW), cần chứng minh t1(YW)= t2(YW) Phản chứng: Giả sử t1(YW) ≠ t2(YW).
Theo giả thiết có t1(XW) = t2(XW) ⇒ t1(X)= t2(X) t1(W)= t2(W) Nên để có t1(YW) ≠ t2(YW) thì t1(Y) ≠ t2(Y).
Nhƣng cũng theo giả thiết ta lại có X → Y nên t1(X) = t2(X) ⇒ t1(Y) = t2(Y) (mâu thuẫn) ⇒ t1(YW)= t2(YW).
Vậy từ t1(XW) = t2(XW) ⇒ t1(YW)= t2(YW).
iii) Với mọi t1, t2 r(R) và t1(X) = t2(X), cần chứng minh t1(Z) = t2(Z) Phản chứng: Giả sử t1(Z) ≠ t2(Z).
Theo giả thiết X → Y nên t1(X) = t2(X) ⇒ t1(Y) = t2(Y).
Mặt khác, cũng theo giả thiết có Y → Z nên t1(Y) = t2(Y) ⇒ t1(Z) = t2(Z) (mâu thuẫn).
Vậy từ t1(X) = t2(X) ⇒ t1(Z)= t2(Z). 2. Tính đầy đủ
Để chứng minh ta sử dụng phƣơng pháp phản chứng.
Giả sử f : X→ Y F+, ta chứng minh X→ Y Fbằng cách chỉ ra một khối thỏa các phụ thuộc hàm trong F nhƣng không thỏa f.
Ta xây dựng khối r nhƣ sau: r chức 2 phần tử u và v:
u = (x(i)│x ∈ id, i ∈ {1, 2, ..., n})
với x(i) = 1 x ∈ id, i ∈ {1, 2, ..., n} v = (y(i))│y ∈ id, i ∈ {1, 2, ..., n})
47
y(i) = 0 trong các trƣờng hợp còn lại
Trƣớc hết ta chứng minh khối r không thỏa phụ thuộc hàm X → Y. Theo cách xây dựng r thì ta có u, v giống nhau trên miền X+
: u.X+ = v.X+ và do X ⊆ X+ ⇒ u.X = v.X.
Giả sử u.Y = v.Y ⇒ Y ⊆ X+⇒ X → Y ∈ F+ mâu thuẫn với giả thiết. Vậy khối r không thỏa phụ thuộc hàm X → Y.
Ta chứng minh khối r thỏa mọi phụ thuộc hàm trong F.
Giả sử phụ thuộc hàm W → Z ∈ F+ và u.W = v.W ⇒ W ⊆ X+ ⇒ X → W ∈ F+ Theo tính chất bắc cầu từ X → W và W → Z ⇒ X → Z ∈ F+.
Theo định nghĩa bao đóng ta có: Z ⊆ X+ ⇒ u.Z= v.W Vậy khối r thỏa phụ thuộc hàm W → Z.
3.4.2. Hệ tiên đề B0
i) Nếu X → YZ thì X→ Y
ii) Nếu X → YZ, Z → WV thì X → YZW.
3.4.3. Hệ tiên đề S0 i) Nếu Y X thì X → Y ii) Nếu X → Y, YZ → W thì XZ → W 3.4.4. Hệ tiên đề D0 i) Nếu X → Y, Y → Z thì X→ Z ii) Nếu X → Y, Z → W thì X Z→ YW 3.4.5. Hệ tiên đề M0 i) Nếu X → Y, YZ → W thì XZ→ W ii) Nếu X → Y, thì XZ→ Y
Định lý 3.2.(Sự tƣơng đƣơng của các hệ tiên đề) Các hệ tiên đề sau đây tƣơng đƣơng với nhau
1)A0 = {F1, F2, F3} 2)B0 = {F8, F9} 3)S0 = {F1, F4} 4)D0 = {F3, F5}
48
5)M0 = {F4, F6}
Chứng minh
Ta chứng minh theo sơ đồ sau: A0 ⇒ B0 ⇒ S0 ⇒ D0 ⇒ M0 ⇒ A0
Cho lƣợc đồ khối R = (id, A1, A2, ..., An), r(R) là một khối trên R, F là tập các phụ thuộc hàm trên R và X, Y, Z, V, W n (i) i 1 id 1) A0 ⇒ B0
Để chứng minh hệ tiên đề A0⇒B0 ta đi chứng minh {F1, F2, F3} → {F8, F9}
Chứng minh F8: Nếu X → YZ thì X→ Y
Thật vậy, t1, t2 r(R), t1(X) = t2(X) ta có t1(YZ) = t2(YZ) (vì giả thiết X → YZ)
Từ t1(YZ) = t2(YZ) ⇒ t1(Y) = t2(Y).
Vậy t1, t2 r(R), t1(X) = t2(X) ⇒ t1(Y) = t2(Y) ⇒ X→ Y (đpcm)
Chứng minh F9: Nếu X → YZ, Z → WV thì X → YZW.
Thật vậy, t1, t2 r(R), t1(X) = t2(X) ⇒ t1(YZ) = t2(YZ) (vì giả thiết X → YZ)
Từ t1(YZ) = t2(YZ) ⇒ t1(Y) = t2(Y) (1)
t1(Z) = t2(Z) (2) ⇒ t1(WV) = t2(WV) ⇒ t1(W) = t2(W) (3) Từ (1), (2) và (3) ⇒ t1(YZW) = t2(YZW)
Vậy t1, t2 r(R), t1(X) = t2(X) ⇒ t1(YZW) = t2(YZW)
⇒ X→ YZW (đpcm)
2) B0⇒ S0
Để chứng minh hệ tiên đề B0⇒ S0 ta đi chứng minh {F8, F9} → {F1, F4}
Chứng minh F1: Nếu Y X thì X → Y
Thật vậy, t1, t2 r(R), t1(X) = t2(X) ⇒ t1(Y) = t2(Y) (vì Y X ) ⇒ X → Y Vậy t1, t2 khối r(R), t1(X) = t2(X) ⇒ t1(Y) = t2(Y) ⇒ X → Y (đpcm)
49
Thật vậy,t1, t2 r(R) và t1(XZ) = t2(XZ) ⇒ t1(X) = t2(X)
và ⇒ t1(Z) = t2(Z) (1) Theo giả thiết ta có: X → Y nên từ t1(X) = t2(X) ⇒ t1(Y) = t2(Y) (2) Từ (1)và (2) ⇒ t1(YZ) = t2(YZ)
Vậy t1, t2 khối r(R), t1(XZ) = t2(XZ) ⇒ t1(YZ) = t2(YZ) ⇒ XZ → YZ Theo giả thiết ta có YZ →W nên từ t1(YZ) = t2(YZ) ⇒ t1(W) = t2(W)
Tóm lại t1, t2 khối r(R), t1(XZ) = t2(XZ) ⇒ t1(W) = t2(W) ⇒ XZ → W (đpcm)
3) S0⇒ D0
Để chứng minh hệ tiên đề S0⇒D0 ta đi chứng minh {F1, F2}→ {F3, F5}
Chứng minh F3: Nếu X → Y, Y → Z thì X → Z
Thật vậy,t1, t2 r(R) và t1(X) = t2(X) ⇒ t1(Y) = t2(Y) (vì giả thiết X → Y) Mặt khác cũng theo giả thiết Y → Z nên từ t1(Y) = t2(Y) ⇒ t1(Z) = t2(Z). Vậy t1, t2 khối r(R), t1(X) = t2(X) ⇒ t1(Z) = t2(Z) (bắc cầu) ⇒ X → Z
Chứng minh F5: Nếu X → Y, Z → W thì XZ → YW
Thật vậy,t1, t2 r(R), t1(XZ) = t2(XZ) ⇒ t1(X) = t2(X) ⇒ t1(Y) = t2(Y) vì (X → Y) và t1(Z) = t2(Z) ⇒ t1(W) = t2(W) vì (Z → W)
Vậy t1, t2 khối r(R), t1(XZ) = t2(XZ) ⇒ t1(YW) = t2(YW) ⇒ XZ → YW 4) D0⇒ M0
Để chứng minh hệ tiên đề D0⇒M0 ta đi chứng minh {F3, F5}→ {F4, F6}.
Chứng minh F4: Nếu X → Y, YZ → W thì XZ → W
Thật vậy,t1, t2 r(R) và t1(XZ) = t2(XZ) ⇒ t1(X) = t2(X)
và ⇒ t1(Z) = t2(Z) (1) Theo giả thiết ta có: X → Y nên từ t1(X) = t2(X) ⇒ t1(Y) = t2(Y) (2) Từ (1)và (2) ⇒ t1(YZ) = t2(YZ)
50
Vậy t1, t2 khối r(R), t1(XZ) = t2(XZ) ⇒ t1(YZ) = t2(YZ) ⇒ XZ → YZ Theo giả thiết ta có YZ →W nên từ t1(YZ) = t2(YZ) ⇒ t1(W) = t2(W)
Tóm lại t1, t2 khối r(R), t1(XZ) = t2(XZ) ⇒ t1(W) = t2(W) ⇒ XZ → W Chứng minh F6: Nếu X → Y, thì XZ → Y
Thật vậy, t1, t2 r(R) và t1(XZ) = t2(XZ) ⇒ t1(X) = t2(X) ⇒ t1(Y) = t2(Y) (vì giả thiết X → Y)
Vậy t1, t2 khối r(R), t1(XZ) = t2(XZ) ⇒ t1(Y) = t2(Y) ⇒ XZ → Y 5) M0 ⇒ A0
Để chứng minh hệ tiên đề M0⇒A0 ta đi chứng minh {F4, F6}→ {F1, F2, F3}.
Chứng minh F1: Nếu Y X thì X → Y
Thật vậy, t1, t2 r(R), t1(X) = t2(X) ⇒ t1(Y) = t2(Y) (vì Y X ) ⇒ X → Y Vậy t1, t2 khối r(R), t1(X) = t2(X) ⇒ t1(Y) = t2(Y) ⇒ X → Y
Chứng minh F2: Nếu X → Y, XW → YW
t1, t2 r(R), t1(XW) = t2(XW)
Chứng minh bằng phản chứng: Giả sử t1, t2 r(R) và t1(YW) ≠ t2(YW). Theo giả thiết có t1(XW) = t2(XW) ⇒ t1(X)= t2(X)
t1(W)= t2(W) Nên để có t1(YW) ≠ t2(YW) thì t1(Y) ≠ t2(Y).
Nhƣng cũng theo giả thiết ta lại có X → Y nên t1(X) = t2(X) ⇒ t1(Y) = t2(Y) (mâu thuẫn) ⇒ t1(YW)= t2(YW).
Vậy từ t1(XW) = t2(XW) ⇒ t1(YW)= t2(YW).
Chứng minh F3: Nếu X → Y, Y → Z thì X → Z
Thật vậy,t1, t2 r(R) và t1(X) = t2(X) ⇒ t1(Y) = t2(Y) (vì giả thiết X → Y) Mặt khác cũng theo giả thiết Y → Z nên từ t1(Y) = t2(Y) ⇒ t1(Z) = t2(Z). Vậy t1, t2 khối r(R), t1(X) = t2(X) ⇒ t1(Z) = t2(Z) (bắc cầu) ⇒ X → Z
51
KẾT LUẬN
Qua nghiên cứu về mô hình cơ sở dữ liệu quan hệ và mô hình cơ sở dữ liệu dạng khối đề tài đã giải quyết đƣợc yêu cầu chính của luận văn góp phần hoàn thiện thêm về lý thuyết thiết kế mô hình dữ liệu dạng khối.
Cụ thể luận văn đã đạt đƣợc các kết quả sau: 1. Tìm hiểu về mô hình dữ liệu dạng khối.
2. Phát biểu và chứng minh các tính chất của phụ thuộc hàm, các tính chất của bao đóng trong mô hình dữ liệu dạng khối.
3.Phát biểu và chứng minh tính đúng, tính đủ của hệ tiên đề trong mô hình dữ liệu dạng khối.
4. Phát biểu và chứng minh tính tƣơng đƣơng của các hệ tiên đề trong mô hình dữ liệu dạng khối.
52
TÀI LIỆU THAM KHẢO
1- Nguyễn Xuân Huy (2006), Các phụ thuộc logic trong cơ sở dữ liệu, Nhà xuất bản Thống kê, Hà Nội.
2- Trịnh Đình Thắng (2011), Mô hình dữ liệu dạng khối, Nhà xuất bản Lao động.
3- Vũ Đức Thi (1997), Cơ sở dữ liệu- Kiến thức và thực hành, Nhà xuất bản Thống kê, Hà Nội.
4- Nguyễn Tuệ (2008), Giáo trình cơ sở dữ liệu, Nhà xuất bản Đại học Quốc gia Hà Nội.
5- Trịnh Đình Vinh (2011), Một số phụ thuộc dữ liệu trong cơ sở dữ liệu dạng khối, Luận án Tiến sĩ Toán học.
6- Lê Tiến Vƣơng (1997), Nhập môn Cơ sở dữ liệu quan hệ, Nhà xuất bản Khoa học và kỹ thuật, Hà Nội.