BQ GIAO DUC VA ĐÀO TẠO
TRUONG DAI HQC SU PHAM HA NOI 2
NGUYEN THANH TUONG
CAC HE TIEN DE
TRONG MO HINH DU LIEU DANG KHOI
Chuyén nganh: Khoa hoc may tinh Mã số: 60 48 01 01
LUẬN VĂN THẠC SĨ MÁY TÍNH
Người hướng dẫn khoa học: PGS.TS Trịnh Đình Thắng
Trang 2LOI CAM ON
Để hoàn thành luận văn này tôi đã nhận được sự giúp đỡ tận tình của
thầy hướng dẫn khoa học, của các thầy cô trường Đại học Sư phạm Hà Nội 2
Tôi xin chân thành cảm ơn các thầy cô trường Đại học Sư phạm Hà Nội 2 đã
tạo điều kiện học tập, nghiên cứu và giúp đỡ tôi rất nhiều trong quá trình làm
luận văn Đặc biệt tôi xin cảm ơn thầy PGS.TS Trịnh Đình Thắng đã tận tình
hướng dẫn, chỉ bảo tôi trong suốt quá trình học tập, nghiên cứu đề tài và giúp tơi hồn thành bản luận văn này
Vĩnh Phúc, ngày 10 tháng 12 năm 1013
Học viên
Trang 3LỜI CAM ĐOAN
Tôi xin cam đoan đây là kết quả nghiên cứu của tôi dưới sự hướng dẫn
khoa học của PGS TS Trịnh Đình Thắng
Các số liệu, kết quả nêu trong luận văn là trung thực và chưa từng được ai công bố trong bat ky công trình nào khác
Học viên
Trang 4MỤC LỤC
MỞ ĐẦU 2-25-2221 271127112711 271 T1 TH ng ng nen ườy 1 CHUONG 1: MO HINH CO SO DU LIEU QUAN HỆ - 5¿ 3
1 1 Các khái niệm cơ bản - - <5 <3 +21 1191 E2 E181 18111111 Eesrre 3
1.1.1 Thuộc tính và miền ñi0190esi:07 3
1.1.2 Quan hệ, lược đồ quan hệ 3
1.1.3 Khoá của quan hệ „4
1.2 Các phép toán đại số quan hệ wd 1.2.1 Phép hop " I7.) on 6 ID ö 2 6 na 6 1.2.5 Phép chiếu 2: 2¿+2+z+EE2EEESEEEEEEEE171171171171E11E 1111 Cxee 7 IAJy 3u na .Ö 8 780.5 0n na 9 I3 ốc 8 3 10 I0) 03.1177 11
1.3.1.Các tính chất của phụ thuộc hầm: .- 5 + £+s++veseses 11 1.3.2 Hệ tién dé Amstrong o eccceeccsessssesssesssesssesssesssessesesecssesssesesessseesneees 12 1.3.3 Cac hé tién đề khác cho phụ thuộc hầm 5 «+ ++s<++ 14 In ch 14
1.4.1 Bao đóng của tập phụ huộc hàm 5 + ++x+x£seeexsessees 14 1.4.2 Bao đóng của tập thuộc tính đối với tập các phụ thuộc hàm 15
1.4.3 Bài toán thành viên và thuật toán tìm bao đóng của tập thuộc tính 17 1.4.4 Sự tương đương giữa hai loại suy dẫn :-ccccccccccccsccces 19
Trang 5CHƯƠNG 2: MƠ HÌNH CƠ SỞ DỮ LIỆU DẠNG KHÓI 24 2.1 Khối, lược đồ khối . - s- s x+Ex++EkSEESEESEESEEEEEEEEvrEkerkerkerresree 24
? 8n nã ãau 25 2.3 Khóa của khối ¿ ++++x++x+vEEkEEEEEESEEECEEEEEEEEEEEEkrrrrrrrrkrrrrke 26
2.4 Đại số quan hệ trên khối 25-©22+c2+ev2EEEvEEECeEkkrrrkrrrrkrrrrkee 28 2.4.1 Phép HOP cssscssssessssssesssssessssseccsssvesssssesessecsesssesssssesesssesessvesesseceesseeeessess 28 2.4.2 Phép giao 28 2.4.3 Phép trừ 20 2.4.4 Tích Đề các _- 2.4.5 Tích Đề các theo tập chỉ số 2.4.6 Phép chiếu 2.4.7 Phép ChỌn Gv HH HT TT HH nh ngư 30 2.4.8 Phép kết nối ¿-©+¿+2+<c2E+x 2 EEEE1E171127112112 211.121 31 2.4.9 Phép chia -s- c+c 22x22 x221x22112711.27112111211 1112111 32 “gan gi 3i 111 32
2.6 Bao đóng của tập thuộc tính chỉ sỐ ¿-©s¿©+se£cxz+crxevrrsee 33
2.7 Khoá của lược đồ khối R đối với tập phụ thuộc hàm F trên R 35 CHƯƠNG 3: CÁC HỆ TIÊN ĐÈTRONG MƠ HÌNH DỮ LIỆU DẠNG
9:90 8N HA , 38 3.1 Các tính chất của phụ thuộc hàm trên lược đồ khi 38
3.2 Một số tính chất của bao đóng trên lược đồ khối -: 40
3.3 Sự tương đương giữa hai loại suy dẫn -5-©5c©5ccccccxccccrcee 43
3.4 Các hệ tiên đề trong mơ hình khối . -2- 2£ ©+z++xe+cxe+rrxs 45
480099015 — H 51
Trang 6MỞ ĐẦU 1 Lý do chọn đề tài
Trong những năm gần đây, việc ứng dụng công nghệ thông tin trở nên rộng rãi và vai trò của công nghệ thông tin ngày càng được khẳng định trong nhiều lĩnh vực khác nhau như : học tập, khoa học kỹ thuật, kinh doanh, quản lý, với những quy mô khác nhau Cơ sở dữ liệu là một trong những lĩnh vực nghiên cứu đóng vai trò nền tảng trong sự phát triển của công nghệ thông
tin Từ trước đến nay cũng đã có một 86 loại mô hình được sử dụng trong các
hệ thống cơ sở dữ liệu như: mô hình thực thể - liên kết, mô hình mạng, mô hình phân cấp, mô hình hướng đối tượng, mô hình đữ liệu datalog và mô hình quan hệ Trong số các mô hình này thì mô hình quan hệ là một trong những mô hình được nhiều nhà khoa học quan tâm nghiên cứu, khai thác ứng dụng hơn cả vì nó được xây dựng trên cơ sở toán học chặt chẽ Tuy nhiên, mô hình này cũng có những hạn chế đó là khó khăn trong việc biểu diễn các dữ liệu có tính chất động Ví dụ như tìm kiếm các cán bộ đến kỳ hạn tăng lương trong một cơ quan chăng hạn Để khắc phục khó khăn này thì mô hình dữ liệu dạng khối là mở rộng của mô hình quan hệ ra đời Trong đó, các khối có thể biểu diễn các đữ liệu có tính chất động bằng cách sử dụng trục ¡d làm trục thời gian Tuy nhiên, trong mô hình dữ liệu dạng khối còn nhiều loại phụ thuộc dữ liệu chưa được nghiên cứu Vì vậy, trên cơ sở lý thuyêt của các nhà khoa học
nghiên cứu về mô hình dữ liệu quan hệ và mô hình dữ liệu khối, trong luận
văn này chúng tôi xây dựng “Các hệ tiên đề trong mô hình dữ liệu dạng khối” nhằm góp phần hoàn thiện hơn lý thuyết về mô hình dữ liệu dạng khối 2 Mục đích nghiên cứu
-Phát biểu và chứng minh các tính chất của PTH, các tính chất về bao đóng
của tập thuộc tính trong mô hình khối
- Phát biểu và chứng minh sự tương đương của các hệ tiên đề trong mô hình
Trang 73 Nhiệm vụ nghiên cứu
Tìm hiểu về các hệ tiên đề của các phụ thuộc hàm trong mô hình quan hệ Trên cơ sở đó xây dựng các hệ tiên đề; 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
4 Đối tượng và phạm vi nghiên cứu
Đối tượng và phạm vi nghiên cứu là các mô hình dữ liệu, tập trung nghiên cứu về mô hình dữ liệu dạng khối
5 Phương pháp nghiên cứu
Trong luận văn sử dụng phương pháp thu thập, phân tích và tổng hợp
các tài liệu khoa học liên quan đến đề tài 6 Những đóng góp mới của đề tài
- 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
- 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
-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
7 Cấu trúc của luận văn
Luận văn gồm: Lời mở đầu, ba chương nội dung, phần kết luận và tài liệu
tham khảo
Chương 1 Trình bày các khái niệm cơ bản nhất về mô hình quan hệ Trình bày các phép toán đại số trên mô hình quan hệ, các vẫn đề về phụ thuộc hàm, khóa, bao đóng
Chương 2 Giới thiệu tổng quan về mô hình khối: định nghĩa khối, lược đồ
khối, lát cắt, khóa, đại số quan hệ trên khối, phụ thuộc hàm
Chương 3 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
Trang 8CHƯƠNG 1: MƠ HÌNH CƠ SỞ DỮ LIỆU QUAN HỆ
1 1 Các khái niệm cơ bản
1.1.1 Thuộc tính và miền thuộc tính
Định nghĩa 1.1 [4], [6]
- Thuộc tính là đặc trưng của đối tượng
- Tập tat cả các giá trị có thể có của thuộc tính A; gọi là miền giá trị của
thuộc tính đó, ký hiệu: Dom(A;) hay viết tắt là Dại Ví dụ 1.1:
Đối tượng Sinhviên cô các thuộc tính như: MaSV, Hoten, NgSinh, Đchi,
Miền giá trị của các thuộc tính của đối tượng Sinh viên : Dom(MaNV) = {char(4)} ={“SV01°, ‘SV02’, ‘SV03° .}; Dom(Hoten) = {char(30)} ={‘Nguyén Van A’,‘Nguyén Van B’, .} Dom(NgSinh) = {date} ={‘30/03/78’, ‘22/12/96’, .} ; Dom(Đchn) ={char(10)} = {°HN', “HP', “VP`, } 1.1.2 Quan hệ, lược đồ quan hệ Định nghĩa 1.2|4], [6]
Cho U= {A¡, Aa, ., An} là một tập hữu hạn không rỗng các thuộc tính
Mỗi thuộc tính A; (=l,2, , n) có miền giá trị là Dom(A,) Khi đó r là một
tập các bộ {hị, hạ, ., hạ} được gọi là quan hệ trên U với h; (=1, 2, ., m) là một hàm:
hị: U — |J D,, sao cho h/(A,)eDA,=1, 2, n)
A;eU
Trang 9Ai Ad ses An
hy h(A) hị(A2) sẻ hi(An)
hạ hz(AI) h;(A¿) sẻ hz(An)
bm hm(Ai) hm(A2) nà hm(An)
Bang 1.1: Biéu diễn quan hệ r Ví dụ 1.2: Sinhvién| MaSV | HOTEN NS DC KHOA SV0I A 24/01/92 HN TOAN SV02 B 3/05/92 VP LY SV03 B 3/05/92 VP TOAN
Trong đó các thuộc tính là MaSV: mã sinh viên; HOTEN: họ tên; NS: ngày
sinh; DC: địa chỉ; KHOA: khoa
Bộ giá trị: (SV01, A, 24/01/92, HN, TOAN) là một bộ
Nếu có một bộ t = (dì, dạ, dạ, ., dn) e r, r xác định trên U, X c U thì
t(X) (hoặc t.X) được gọi là giá trị của tập thuộc tính X trên bộ t Định nghĩa 1.3 [4], [6]
Tập tất cả các thuộc tính trong một quan hệ cùng với mối liên hệ giữa chúng được gọi là lược đỗ quan hệ
Lược đồ quan hệ R với tập thuộc tính U={A¿, As, , Aa} được viết là
Trang 10tập con K c U sao cho bat ky hai b6 khac nhau t), tye r lu6n thoa t,(K) #
to(K) va bat kỳ tập con thực sự Kịc K nào đó đều không có tính chất đó
Tập thuộc tính K" được gọi là siêu khoá nếu K°> K và K là một khoá của quan hệ r Ví dụ 1.3: Sinhviên | MaSV | HOTEN NS DC KHOA SVO1 A 24/01/92 HN TOAN SV02 B 3/05/92 VP LY SV03 B 3/05/92 VP TOAN
Ta có thuộc tính MaSV là khóa của quan hệ
1.2 Các phép toán đại số quan hệ
Định nghĩa 1.5 [3], [6]
Hai quan hệ r và s được gọi là khả hợp nếu như hai quan hệ này xác
định trên cùng tập thuộc tính và các thuộc tính cùng tên có cùng miễn giá trị
1.2.1 Phép hợp
Phép hợp hai quan hệ khả hợp r và s, kí hiệu là r U s, là tập tất cả các
Trang 111.2.2 Phép giao
Phép giao của hai quan hệ khả hợp r và s, kí hiệu là r f\ s, là tập tất cả các bộ thuộc cả hai quan hệ r và s Ta có: rfs={t[t€rAt€s} Vi du 1.5: r (A B Cc); § (A B C) XI yi Z1 XI yi Z1 X2 yi Z2 X2 y2 Z2 X2 y2 ZI rs (A BC) XI yi Z1 1.2.3 Phép trừ
Trang 12xác định trên tập thuộc tính {B¡, Bạ, , Bm} Tích Đề-các của hai quan hệ r và
s kí hiệu là r x s, là tập tất cả các (m+n) - bộ có n thành phần đầu tiên là một
bộ thuộc r và m thành phần sau là một bộ thuộc s Ta có:
rXS= {t=(aj, a, , An, by, bạ, , Dm) | (ay, a2, , An) Er A (bj by, , bm) Es} Vi du 1.7: r A B C S G H F XI yi Z| XI yi Z1 Xa Vị Zo X2 y2 Z2 XQ Y2 Z| XI y2 22 rxs A B Cc G H F XI yi Z| XỊ Mãi ZI XI Mã ZI X2 Y2 Z2 XI Vị ZI XI y2 2) X2 Vị Zo XI yl Z| X2 Mã 22 X2 Y2 Z2 X¿ Vị Z2 XI y2 Z2 X2 Y2 Zi XI yì Z| X2 y2 Z| X2 Y2 Z2 X2 y2 ZI XI Y2 Z2 Bang 1.2: Biểu diễn các quan hệ r, s và quan hệ rx s 1.2.5 Phép chiếu
Cho r là một quan hệ n ngôi xác định trên tập thuộc tính U={A¡, Ao, ,
An}, X là tập con của U Phép chiếu của quan hệ r trên tập thuộc tính X, kí
hiệu là I1, (r), là tập các bộ của r xác định trên tập thuộc tính X Ta có:
II, () = {tX| ter}
Trang 13của quan hệ và loại bỏ những thuộc tính không cần thiết Vi du 1.8: r (A B C D) XI 1 x 4 yo 5S yo 2 Z2 5 VÀ 5 x, 8 x 5 y toy 4 T(r) (B) 1 5 8 TH; (r) (B.D) 1 4 5 2 5.5 8 5 1.2.6 Phép chon
Phép chọn là phép toán lọc lấy ra một tập con các bộ của quan hệ đã cho thoả mãn một điều kiện xác định Điều kiện đó được gọi là điều kiện
chọn hay biếu thức chọn
Biểu thức chọn F được định nghĩa là một tổ hợp logic của các toán
Trang 14riêng bộ đó
- Các phép toán so sánh trong biểu thức F: >, <, =, >, #, <
- Các phép toán logic trong biểu thức F: A (và), V (hoặc), ¬ (phủ định) Cho r là một quan hệ và F là một biểu thức logic trên các thuộc tính của r Phép chọn trên quan hệ r với biểu thức chọn F, kí hiệu là õ„(r) là tập tất cả
các bộ của r thoả mãn FE Ta có: ư„(r) = Ít | t€r A F(0)} Ví dụ 1.9: r (A B CD) XI 1 x 4 yo 5 y 2 ZỊ 5 Z 5 XI 8 X 5 yi I y 4 Sun (A BC D) yi 5 y 2 Z1 5 Z 5 XI 8 xX 5 1.2.7 Phép kết nối
Cho hai quan hệ r(U) và s(V) Đặt M=Un\V Phép kết nói (tự nhiên) hai
quan hệ r(U) và s(V), ký hiệu r*s, cho ta quan hệ giữa các bộ được dán từ các
bộ u của quan hệ R với mỗi bộ v của quan hệ § (sao cho các trị trên miền
thuộc tính chung M của hai bộ này giống nhau)
P(UV)=r*s= {u*v |u €r, v €s, u.M=v.M}
Nếu M= UnV=ở, r*s sẽ cho ta tích Dé- các, trong đó mỗi bộ của quan
Trang 15Ví dụ 1.10: r(A B C) ; s(G H) XI X Xa Xa Xã Y y2 y2 Y2 W3 Z4 xX Z2 r*s (A B C G H) yi x X2 X2 X3 Zi y y2 y2 y3 XI x Z2 y2 ¥3 1.2.8 Phép chia
Cho r là một quan hệ n ngôi xác định trên tập thuộc tính U và s là một
quan hệ m ngôi xác định trên tập thuộc tính V, với V c U,n >m và s # Ø, có nghĩa là lực lượng của s là khác 0 hay s có ít nhất một bộ Phép chia quan hệ r
Trang 16r+s(C D)
XI 2
1.3 Phụ thuộc hàm
Khi xét đến mối quan hệ giữa dữ liệu trong CSDL quan hệ một trong nhưng yếu tố quan trọng nhất được xét đến là sự phụ thuộc giữa các thuộc tính này với thuộc tính khác Từ đó có thể xây dựng những ràng buộc cũng
như loại bỏ đi những dư thừa dữ liệu trong một CSDL
Phụ thuộc hàm là những mối quan hệ giữa các thuộc tính trong CSDL quan hệ Khái niệm về phụ thuộc hàm có một vai trò rất quan trọng trong việc thiết kế mô hình dữ liệu Một trạng thái phụ thuộc hàm chỉ ra rằng giá trị của một thuộc tính được quyết định một cách duy nhất bởi giá trị của thuộc tính
khác Sử dụng các phụ thuộc hàm để chuẩn hóa lược đồ quan hệ về dạng
chuẩn 3 hoặc chuẩn Boye-Codd Định nghĩa 1.6 [3], [4].[6]
Cho lược đồ quan hệ R xác định trên tập thuộc tính U, và X, Y €U
Nói rằng, X xác định hàm Y hay Y phụ thuộc hàm vào X và kí hiệu X — Y
nếu với mọi quan hệ r xác định trên R và với hai bộ bắt kỳ tị, tạ R mà t¡(X)
= t;(X) thi t(Y) = t(Y)
1.3.1.Các tính chất của phụ thuộc hàm:
Cho lược đồ quan hệ R xác định trên tập thuộc tính U = {A¡, Az,
Trang 17F6) Nếu X — Y thì XZ—Y F7_ NếuX>Y,X>Zthì X — YZ F8) Nếu X— YZthì X — Y F9) NéuX— YZ,Z— WV thi X > YZW 1.3.2 Hệ tiên đề Amstrong
Gọi R là quan hệ trên tập thuộc tính U Khi đó với các tập thuộc tính X,
Y,Z.C€U ta có hệ tiên đề Amstrong [4] như sau: 1-Phản xạ: Nếu Y 6 X thì X —> Y 2-Tăng trưởng: Nếu X — Y thì XW —› YW 3-Bắc cầu: Nếu X — Y, Y — Z thì X — Z Định lý 1.1 Hệ tiên đề Amstrong là đúng và đầy đủ Ching minh: a) Tính đúng
1) Với mọi tị, tạ£ r(R) và t)(X) = ts(X), can ching minh t,(Y) = t(Y) Thật vay, tir gia thiét t,(X) = t(X) ma Yc X suy rat(Y) =,(Y)
Vay tir t)(X) = b(X) > t(Y) = b(Y)
2) Với mọi tị, t;E r(R) va t|(XW) = (XW), cần chứng minh t¡(YW)= t(YW)
Phản chứng: Giả sử t(YW) # (YW)
Theo giả thiết có tXW) = tạXW) => ti(X)= to(X)
u(W)= 00W)
Nên để có t,(YW) # t;(YW) thì ti(Y) # s(Y)
Nhưng cũng theo giả thiết ta lại có X — Y nên t¡(X) = t.(X) > t,(Y) =
t›(Y) (mâu thuẫn) > t(YW)= ta(YW)
Vay từ t(XW) = t;(XW) > t¡((YW)= t;(YW)
3) Với mọi tị, t;E r(R) và t¡CX) = b(X), cin chứng minh t¡(Z) = t;(Z)
Trang 18Theo giả thiết X — Y nên t¡(X) = t;(X) > t¡(Y) = t;(Y)
Mặt khác, cũng theo giả thiết có Y — Z nên tị (Y) =t,(Y) 2 tứ) = t›(Z) (mâu thuẫn)
Vậy từ tiŒX) = t2(ŒX) 2 ti2)= 022) b) Tính đầy đủ
Nếu X — Y không suy diễn logic được tử tập phụ thuộc hàm F bằng hệ tiên đề Amstrong thì X — Y không thỏa mãn trên quan hệ r(R)
Giả sử, X —› Y không suy diễn logic được từ F bằng hệ tiên đề, ta sẽ
xây dựng một quan hệ r sao cho các phụ thuộc hàm của F là thỏa mãn trên r,
nhưng X —› Y không thỏa trên r
Xét quan hệ r gồm hai bộ t¡, tạ như sau:
r A B we F G H " M
tị 1 1 " 1 1 1 " 1
t 1 1 " 1 0 0 we 0
Trong đó, các thuộc tính trong t¡ đều có giá trị 1, các thuộc tính trong tạ
chỉ có các thuộc tính thuộc X” là có giá trị 1 còn lại là giá trị 0
Ta chứng tỏ rằng, với mọi phụ thuộc hàm của F đều thỏa mãn trên r
Thật vậy, giả sử W — V € F không thỏa trên r Như vậy, W € XT, vì nếu không sẽ vi phạm tính bằng nhau của W trên hai bộ t¡ và t¿ Hơn nữa, V
không thể là tập con của X”, bởi vì nếu V CX'Ỷ thì W —› V sẽ thỏa mãn trên
r Vậy phải có ít nhất một thuộc tính A C X* Theo tinh chat phản xạ nếu W
c X* thi X W, mà W — V nên X — V (theo tính chất bắc cầu) Do A G
X* nén X > A hay A € X* Diéu đó là vô lý, boi viA ¢ X* Kết luận với mọi phụ thuộc hàm F đều thỏa trên r Tiếp theo ta chứng tỏ rằng X — Y không thỏa mãn trên r
Thật vậy, giả sử X — Y thỏa trên r(R) Như vậy X c X" và Yc XT, vì nếu
không sẽ vi phạm sự bằng nhau trên các bộ t¡, tạ của X và Y Nhưng néu Yc
Trang 19X' thì X —› Y sẽ suy điễn được từ F (theo tính chất phản xạ) Điều này mâu thuẫn với giả thiết X —› Y không suy diễn được từ F Như vậy X — Y không thể thỏa mãn trên r
Kết luận X — Y không thỏa mãn trên r
1.3.3 Các hệ tiên đề khác cho phụ thuộc hàm
Gọi R là quan hệ trên tập thuộc tính U Khi đó với các tập thuộc tính X,
Y,Z, W CU ta có các hệ tiên đề tương đương với hệ tiên đề Amstrong như Sau : Hệ tiên đề B° Nếu X — YZ thì X + Y Nếu X — YZ và Z > AW thi X > YZW Hệ tiên đề S° Nếu Y €X thiX > Y Nếu X — Y và YZ — V thì XZ —› V Hệ tiên đề D° Nếu X — Y và Y — Z thì X —› Z Nếu X — Y và Z — W thì XZ —› YW Hệ tiên đề M° Nếu X — Y và YZ — V thì XZ —› V Nếu X — Y thì XZ — Y 1.4 Bao đóng 1.4.1 Bao đóng của tập phụ thuộc hàm Định nghĩa 1.7 [I ]
Cho tập phụ thuộc hàm F, bao đóng của tập phụ thuộc hàm F kí hiệu F”
là tập lớn nhất chứa các phụ thuộc hàm được suy diễn từ các phụ thuộc hàm
Trang 201.4.2 Bao đóng của tập thuộc tính đối với tập các phụ thuộc hàm Định nghĩa 1.8 [1],
Cho lược đồ quan hệ R xác định trên tập thuộc tính U, cho X € U, tap các phụ thuộc hàm F Bao đóng của tập thuộc tính X đối với F kí hiệu X" là
tập tất cả các thuộc tính A mà X — A được suy diễn từ F Ta có: Xt={A| X>AEF*} Đôi khi ta kí hiệu Xr để chỉ lấy bao đóng của X theo tập phụ thuộc hàm E Tính chất của bao đóng: 1ˆ XeGX: 2) NéuXCYthix+c y+ 3) X— Xx* 4) X**=x* 5) X*Y*c (XY)t+ 6) (X*Y)*= (XY”)= (XY)† 7 X->YeYCXt 8 X >YvàY >XeX=Y" Chứng minh: 1) Lấy bấtkỳ A € X cần chứng minh A € X”
Ta có A €X = {A} © X suy ra X — A (luật phản xạ)> A 6X"
2) _ Lấy A€ X', ta cần chứng minh A € Y”
Ta có A €X 2X — A (I1)
Mà theo luật phản xạ XGY > Y X (2)
Vậy từ (1) và (2) ta suy ra Y—› A > A€ Y,
3) Gia str X* =A, Ap Ax
Do A;¡€ XT ta có X > A,
Tương tự: X> A¿
Trang 214)
5)
6)
Theo luật hợp ta có X — A¡Aa A¿= X > X*
Dé ching minh X** =X" ta đi chứng minh X*G€ X”” và ngược lại X**€ X*
Theo tính chất 1 ta có X°€ X”* Ta cần chứng minh X'*E X" Lấy A € X”*, chứng minh A € X” Do A eX*'2X* — A (ID) Mặt khác theo tính chất 3 ta có: X — XỶ (2) Từ (1) và (2) suy raX— A =AeX Ta có X€XY
Theo tính chất 2 ta cd X*E (XY)* (1)
Tương tự ta cũng có : Y”€ (XY)” (2) Từ (1) và (2) suy ra X"Y”€ (XY)}”
Theo những chững minh trên ta có: X'6X'Y() X'€ (XY) (2) Y'€ (XY)' (3) Từ (1), (2) và (3) suy ra X'Y G6 (XY)'2(X' Y)€ (XY)” = (XY)” (theo tính chất 4)
Vay ta co >(X* Y)*S (XY)' (4)
Trang 22b) — Giả sửcó A C X' ta can ching minh XY
Do Y 6 X'>X" — Y (luật phản xạ)
Mặt khác: X—› X” (theo tính chất 3)
Suy ra: X— Y (luật bắc cầu)
8) _ Chứng minh X— Y va Y> X © X'= Y” ta có:
a) — Giả sử có X> Y va Y— X ta can ching minh X*=Y"* DoX>YŸ >YCX* => YC x™, => Y‘C X* (theo tinh chất 4) (1) DoY>X >XcCyY* =>xX*c Y™, => X'€ Y' (theo tính chất 4) (2) Từ (1), (2) ta có X'= Y” b) Giả sử có X'= Y* ta cần chứng minh X—>Y và Y—› X Do X”= Y nên ta có Y'eX'(I) x*c Y* (2’) Theo tính chat 1 tacé Y © Y* ma Y' © X* SY € X' > X—Y (theo tinh chat 7)
1.4.3 Bài toán thành viên và thuật toán tìm bao đóng của tập thuộc tính ¢ Bai toan thành viên:
Nói rằng X —› Y là thành viên của F nếu X — Y € F'
Một vấn đề quan trọng khi nghiên cứu lý thuyết cơ sở dữ liệu là khi cho
trước tập các phụ thuộc hàm F và một phụ thuộc hàm X —› Y, làm thé nao dé
biết X —› Y € FỶ hay không, bài toán này được gọi là bài toán thành viên Để trả lời câu hỏi này ta có thể tính F” rồi xác định xem X > Y có thuộc F” hay không Việc tính E” là một công việc đòi hỏi thời gian và công
Trang 23sức Tuy nhiên, thay vì tính F” chúng ta có thể dùng tính chất của bao đóng của tập thuộc tính X để xác định X —› Y có là thành viên của F” hay không
Đó là: X —› Y € F'© Y € X Ta chứng mỉnh điều này
Gia st Y= {Aii, Ai, Ai} C{AI An} với Ai An là các thuộc tính
và Y CX' Từ định nghĩa X” ta có X — A¡, áp dụng hệ tiên đề Amstrong cho
mỗi ¡ suy ra X —> Y nhờ luật hợp
Ngược lại, giả sử ta có X — Y, áp dụng hệ tiên đề Amstrong cho mỗi i
ta có X — A¡, A¡ 6Y nhờ luật tách, suy ra A¡€ X” Từ đó, suy ra Y © X* Vậy X > Y €F., Thuật toán 1.1: Xác định xem một phụ thuộc hàm X — Y có tồn tại không? Vao: U, F, X, YEU Ra: Kiểm tra X > Y € F*? Phuong phap
Bước I: Tìm bao đóng của tập thuộc tính X: Xr”
Bước 2: Kiểm tra Y © X* néu ding thi X > Y € F’, return (Y) nếu sai thì X — Y ¢ F’, return (N)
Bước 3: Kết thúc thuật toán
s Thuật toán tìm bao đóng của tập thuộc tính: Thuật toán 1.2: Tìm bao đóng của tập thuộc tính Dữ liệu đầu vào: F, X CU
Trang 24X;=( X,U{A} néu ton tai Y — Z € F mà YG X;¡, A€ Z và A£X.¡
{ Xi néu ngược lại
Vì rằng X=XụG CX:G .CU và U là hữu hạn cho nên sẽ tỒn tại một chỉ số ¡ nào đó mà X; = X,¡, khi đó X” = X; Định lý 1.2 Thuật toán tìm bao đóng X” là đúng Vi du 1.12: Cho tập thuộc tính U = {A, B, C, D, E, G, H} và tập phụ thuộc hàm E= {A —D, AB — DE, CE — G, E — H} Tinh (AB)* 2 Bước 0: Xo = AB
Bước l: XỊ = X0 U {D) vì 3 A — D thoả mãn điều kiện
Bước 2: X2 = XI U {E} vì ä AB — DE thoả mãn điều kiện
Bước 3: X3 = X2 U {H} vì 3 E — H thoả mãn điều kiện
Bước 4: X4 = X3
Vay AB*: = {ABDEH}
1.4.4 Sự tương đương giữa hai loại suy dẫn Định nghĩa 1.9 [1]
Cho tập phụ thuộc hàm F xác định trên tập thuộc tính U và f là một phụ
thuộc hàm trên U Ta nói phụ thuộc hàm f được suy dẫn theo quan hệ từ tập phụ thuộc hàm E kí hiệu F — f nếu mọi quan hệ r thỏa F thì cũng thỏa f
Dinh nghia 1.10 [1]
Cho tập phụ thuộc hàm F xác định trên tập thuộc tính U và f là một phụ
thuộc hàm trên U Ta nói phụ thuộc hàm f được suy dẫn theo tiên đề (hoặc
suy dẫn logic) từ tập phụ thuộc hàm F kí hiệu F FE f nếu f e F† Nói cách
khác f được suy dẫn theo các tiên đề từ tập phụ thuộc hàm F nếu như áp dụng
Trang 25hệ tiên đề Amstrong đối với các phụ thuộc hàm trong F thì sau hữu hạn lần ta sẽ thu được f Định lý 1.3 (Định lý tương đương) Với mọi tập phụ thuộc hàm F và phụ thuộc hàm f trên tập thuộc tinh U ta có F Ff khi và chỉ khi F EE f Nói cách khác, suy dẫn theo tiên để và Suy dẫn theo quan hệ là một FEf cEEFf Chứng minh:
a- Gia str ta cé F Ff can chứng minh F E f
Giả sử sau k bước ứng dụng các luật của hệ tiên đề ta nhận được các phụ thuộc hàm:
f, F, = F U {fi}
f, Fy = FU {fo}
fi, Fi = Fret {fi
Vậy ta có R(F)=> R(Fi) > R(F2) > > R(Fi) > R(p hay FE f
b- Giả sử ta có F E f cần chứng minh F E f
Đề chứng minh F E f — F E- fta sẽ chứng minh F # f thì F # f
That vay, dat f= X— Y Khi đó có F, X ta sẽ tính được X”
Ta xây dựng quan hệ R như sau:
R Ai A> we Ax Axe " An
U ay ao wee ax Akal wee ân
V ay 4a wee ak Deut wee b,
Giả sử x* = Án, Ad, see Ax
Trang 26Như vậy, quan hệ R chỉ gồm 2 bộ u và v Hai bộ này giống nhau trên tập X” và với mọi thuộc tính B # X” thì u.B # v.B tức là aj # b; J= k+1, .n)
Ta sẽ chứng minh f vừa dẫn xuất được theo quan hệ R và f vừa không dẫn xuất được theo quan hệ R
Hay là ta chứng minh R(f) va 1 R(f)
1- Ta chứng minh R thỏa mãn mọi phụ thuộc hàm trong F* hay R(f)
Giả sử phụ thuộc hàm Z —> W € F và u.Z = v.Z Ta cần chứng minh u.W= v.W Ta c6u.Z=v.Z > Z& X*=> X*~ Z (theo tinh phan xa) Mà ta lại có X — X” (theo tính chất 3) Áp dụng tính chất bắc cầu cho các phụ thuộc hàm Xx X'¬Z Zz¬W Suy ra: X> W => W € X'Ỷ (theo tính chất 7) Vay u.W= v.W
2- Ta chứng minh R không thỏa mãn phụ thuộc hàm X — Y hay ta cần chứng
minh u.X = v.X nhưng u.Y # v.Y
Từ X > Y # F©Y g X' (theo tính chất 7)
Suy ra: u.Y # v.Y (1)
Mặt khác theo tính chất I ta có XE X'>u.X = v.X (2)
Từ (1) và (2) suy ra R không thỏa mãn phụ thuộc hàm X > Y hay 17 R(f) 1.5 Khoá của lược đồ quan hệ
Dinh nghia 1.11 [1], [6]
Cho lược dé quan hệ R xác định trên tập thuộc tinh U = {A¡, A¿, ,
An}, F 1a một tập phụ thuộc hàm xác định trên U, K € U, K được gọi là siêu khoá của lược đồ quan hệ R nếu phụ thuộc hàm K —U € FE', nghĩa là tập
Trang 27thuộc tính K là siêu khoá nếu K* = U
Định nghĩa 1.12
Cho lược đồ quan hệ R xác định trên tập thuộc tính U = {A¡, Ad, wes An) E là một tập phụ thuộc hàm xac dinh trén U, K & U, K được gọi là khoá của R nếu K thoả hai điều kiện:
» K là siêu khoá
° VA €Kta có (K -A)#U
Thuộc tính A được gọi là thuộc tính khóa (hoặc thuộc tính sơ cấp) nếu
A €K với K là một khóa của R, ngược lại thì A được gọi là thuộc tính không
khóa (hoặc thuộc tính thứ cấp) và kí hiệu là En
Một lược đồ quan hệ có thể có nhiều khóa và tập thuộc tính không khóa
cũng có thể bằng rỗng
* Khoá là một khải niệm rất quan trọng trong việc thiết kế một cơ sở đữ
liệu quan hệ Khoá thường được áp dụng trong việc tìm kiếm hay cập nhật dữ
liệu trong các cơ sở đữ liệu quan hệ
Thuật toán tìm khóa của lược đồ quan hệ R Thuật toán 1.3:
Vao : U, F(U = {Aj, Ao, ., An})-
Ra: K là khoá của một lược đồ quan hệ R Phương pháp:
Bước 0: dat Ky = U
Bước 1: Ki =f(Ki¡ - {A¡}) Nếu (K;¡ - {A;})” =U với A¡€ Kịi K;., néu ngược lại
Kết thúc khi K; = Kị¡
Trang 28Kết luận chương 1
Chương này đã trình bày một số các khái niệm cơ bản nhất trong mô hình dữ liệu quan hệ Trình bày các phép toán cơ bản, các khái niệm về phụ thuộc hàm, khoá, bao đóng cùng với các tính chất của chúng Ngoài ra các thuật toán tìm khoá, bao đóng cũng được trình bày
Mô hình dữ liệu quan hệ có tính độc lập dữ liệu cao, dễ dàng sử dụng và còn cho phép dễ dàng mô phỏng các hệ thống thông tin đa dạng trong thực tiễn Trong mô hình này, cơ sở dữ liệu được xem như là một tập hợp các quan hệ,
mỗi quan hệ có thể được hình dung một cách trực quan như là một bảng chữ
nhật gồm có các hàng và các cột ở bảng này mỗi cột ứng với một thuộc tính, mỗi hàng được gọi là một bộ Do các quan hệ có cấu trúc phăng (tuyến tính)
nên mô hình này sẽ rất khó khăn khi biểu diễn các đữ liệu có tính chất động
(phi tuyến)
Trang 29CHƯƠNG 2: MÔ HÌNH CƠ SỞ DỮ LIỆU DẠNG KHỎI
Để mở rộng và khắc phục phần nào những nhược điểm của mô hình quan hệ nói trên, chương này đưa ra một mô hình cơ sở dữ liệu khác gọi là mô hình cơ sở dữ liệu dạng khối được xây dựng và mô ta trong [2], [5] M6 hình này giúp biểu diễn thế giới thực trong quá trình vận động một cách tự nhiên hon
2.1 Khối, lược đồ khối
Khái niệm toán học làm nền tảng cho mô hình cơ sở đữ liệu dạng khối (gọi tắt là mô hình khối) là các khối hiểu theo nghĩa của lý thuyết tập hợp Khối được định nghĩa như sau:
Định nghĩa 2.1|2, 5]
Gọi R = (id; Aj, Ay, , An) 1a một bộ hữu hạn các phan tử, trong đó 1d
là tập chỉ số hữu hạn khác rỗng, A; (¡=Ï,n) là các thuộc tính Mỗi thuộc tính A;
(i=in) co mién giá trị tương ứng là dom(A; Một khối r trên tập R, kí hiệu r(R) gồm một số hữu hạn phần tử mà mỗi phần tử là một họ các ánh xạ từ tập chỉ số id đến các miễn trị của các thuộc tính A;, (=1,n) Nói một cách khác : t cr(R) ©t= {Ủ: id—> dom(A))} ¡=t.z Ta kí hiệu khối đó là r(R) hoặc r (id; Aj, Ao, ., An), hoặc kí hiệu đơn giản là r
Khi đó khối r(R) được gọi là có lược đồ khối R Như vậy trên cùng
một lược đồ khối R ta có thể xây dựng được nhiều khối khác nhau
Ví dụ 2.1: Ta xây dựng khối nhân viên (ký hiệu NV(R)) (hình 2.1) để quan lý nhân viên trong một cơ quan như sau:
Cho luge dé khéi R = (id; Ay, Ao, Az, Ay), trong dé: id = {1/2009,
Trang 30Với khối NV(R) ở hình 2.1, ta thấy nó gồm 3 phần tử: tị, t; t;
ma ten luong trinh do LÔ 1 | | ^^ 7 A Ba mm nor AZ 2007 DH~ tờ “— | B02 B 350 DH A02 B 300 ph ụ A02 Be 250 —— me cot Pe 32009 A08 Cc CD“ 4— 2/2009~ ty A03 Cc 200 " lạ⁄ <— 1/2009 Hình 2.1: Biểu diễn khối nhân viên NV(R) Khi đó ta có : ° Lương của nhân viên t¡ ở thời điểm tháng 1/2009 là : t¡(1/2009, luong) = 200 ° Tên của cán bộ tạ vào tháng 2/2009 là : tạ(2/2009, ten) = 'B ° Trình độ của cán bộ t; vào tháng 2/2009 1a : ta(2/2009, trinh do) = “CD)
° Mã số của cán bộ tạ vào tháng 3/2009 là : tz(3/2009, ma) = 'C01'
2.2 Lát cắt
Cho R = (1d; A+, A¿, , An), r(R) là một khối trên R Với mỗi xe id ta kí hiệu
r(,) là một khối với R„ = ({x}; Ai, Aa, An) $a0 cho :
tre (Ry © ty = {t,=t sa với te r(R),
x vat= {t':id > dom(A)} jer O day ti,(x) = t(x) voi i=ln
Khi đó r(R,) được gọi là một lát cắt trên khối r(R) tại diém x
Ví dụ 2.2: Với khối NV(R) đã cho ở trên, R = (id; Aj, Az, A3, Aq) trong do: id = {1/2009, 2/2009, 3/2009, ., 12/2009}
Trang 31Nếu x = 2/2009 e id thì lát cắt T(Rz/20ooy có dạng như sau :
fRz⁄øo: ma ten luong trinh_ do
AOL A 350 Ths
A02 B 300 DH
A03 C 250 CD
Nhận xét 2.1
Cho lược đồ khối R = (id; Ay, Ag, , An), r(R) 1a một khối trên R Với
mỗi xe id thì lát cắt r(R,) là một quan hệ Trong trường hợp tập chỉ sé id chỉ
gồm một phần tử thì r(R) trở thành một quan hệ
Như vậy mỗi quan hé r(Aq, Ag, , An) là một trường hợp đặc biệt của
khối, đó chính là khối r(R) với R = ({x}; Ay, Ao, « , An)- Mệnh đề 2.1 [5]
Cho lược đồ khối R = (id; A¡, A¿, A,), r(R) là một khối trên R, khi
đó tồn tại một họ quan hệ (hiểu theo nghĩa tập hợp) duy nhất biểu diễn họ
{r(R,) }xeia Cac lat cắt của khối r(R) Ngược lại không đúng, nghĩa là với một
họ quan hệ cho trước biểu dién họ các lát cắt của một khối nào đó thì khối tìm được không duy nhất
2.3 Khóa của khối
Cho R = (id; Ay, Ao, ., Ay), rla mét khối trên R Với mỗi x € id, t
e1(R), t=(t', t, ., t), ta ki hiệu t(x;A;), ( =l n),là giá trị của phần tử ở
thuộc tính A; tại chỉ SỐ X
Để thuận lợi cho việc trình bay, ta dat x; = (x; Aj), x € id va nhu vay:
t(x) = tx; Ay = t' (x), (i= L n) Từ đó, ta kí hiệu : id® = {x® | x â id}, nhu vay idđ = {(x; Ai) |x € id} Voi X%c id® thi ta ki hiéu : (X) = {tly yP|e X}
Trang 32ty = {ty id > dom(A))} j-1
khi đó ta định nghĩa khóa của khối r(R) như sau : Định nghĩa 2.2 [5]
Khóa của khối r trên lược đồ khối R = (¡d; A¡, Aa, , A„) là một tập K={X°®° X®?, Xf?) trong đó Xf9zØ, XŒ9C ¡df9, ( = I h), thỏa mãn hai tính chất : a-Với bất kì 2 phần tử t¡,t; e r đều tồn tại một X 9e K sao cho : _ ti (X#9)z b*(X#9) Nói một cách khác, không ton tại 2 phần tử mà : - tị X®9)=t (X9 vk=l.h
b-Với bất kì tập K" nào, K' = {X“! X®), Xứ voi KM KW, (k=1 h) và tồn tại Xf"?c Xf” với m e {1,2, h} đều không có tính chất a) nói trên
Nếu tập K là khóa của khối r(R) thì mọi tập
K? =|X“" XE, XM? trong do Xe X™” (Vk = 1 h), được gọi là một siêu khóa của khối r
Mệnh đề 2.2 [5]
Cho lược đồ khối R = (id; A;, Aa, A„), r(R) là một khối trên R Khi
Gy x?)
đó với x e id mà ta có {x x91 là khóa của lát cắt r(R,) thì ta cũng cé voi moi y € id, fy", y™, ,.y"} là khóa của lát cắt r(Ry) hay nói một
cách khác {A¡¡ As¿, A} là khóa của quan hệ r(A¡, Aa, , An)
Mệnh đề 2.3 [5]
Cho lược đồ khối R = (d; A+, As, A.), r(R) là một khối trên R, id =
{x} Khi đó r(R) trở thành quan hé r(A;, Ag, ., A,) va mỗi khóa K =
(xO) x), xX}, trong do X%c id™, (k = 1, 2, ., h) cua khdi r(R) lai tro
thành khóa của quan hé r(Aq, Ao, ., An)
Trang 33Mệnh đề 2.4 [5]
Cho lwoc d6 khéi R = (id; Aj, Aa, A„), r(R) là một khối trên R Khi
đó với x © id ma ta có {x”, xf”, x9! là khóa của khối r(R) thì ta cũng có với mọi y e ¡d, {y°”, y2, v#°} là khóa của lát cắt r(R,) hay nói một cách
khác {A¡i Aa A¡.} là khóa của quan hệ r(A+, Ao, .,An) -
Mệnh đề 2.5 [5]
Cho lược đồ khối R = (iđ; A;, Aa, A,), r(R) là một khối trên R Khi đó nếu với x e id nào đó mà ta có {xf”, xf”, xf91 là khóa của lát cắt r(R„ thì {id"”, id™, ., id™®} 1a khéa của khối r(R)
2.4 Đại số quan hệ trên khối
Cho r là một khối trên lược đồ khối R = (¡d; A¡, Ao, ., An), & day ta
giả thiết rằng r là một khối gồm một tập hữu hạn các phần tử Cũng tương tự như đại số quan hệ trong mô hình cơ sở dữ liệu quan hệ, ở đây các phép toán của đại số quan hệ lại được áp dụng cho các khối; bên cạnh đó còn có thêm
phép toán mới được xây dựng đó là : tích Đề- các theo tập chỉ số[6]
Đối với các phép hợp, giao và trừ thì hai khối tham gia phải là khả hợp (nghĩa
là chúng có cùng một lược đồ khối) 2.4.1 Phép hợp
Cho hai khối r và s khả hợp, khi đó hợp của r và s, kí hiệu r t2 s là một
khối gồm các phần tử thuộc một trong hai khối r và s đã cho Ta có: rts=Í{tlter hoặc t e s}
2.4.2 Phép giao
Cho hai khối r và s khả hợp, khi đó giao của r và s là một khối, kí hiệu r s, là một khối mà các phần tử của nó thuộc đồng thời cả hai khối r và s đã cho Ta có:
Trang 342.4.3 Phép trừ
Cho hai khối r và s khả hợp, khi đó hiệu của r và s là một khối, kí hiệu là r - s, là một khối mà các phần tử của nó thuộc r nhưng không thuộc s Ta có: r-s={tltervat¢s} Ta có mối quan hệ giữa phép giao và phép trừ : r ¬ s = r - (r - $).r V 2.4.4 Tích Đề các Cho lược đồ khối R = (d; A¡, Aa, , An, S = đd; Bị, Bạ, , B„), ở đây (AI, Aa, An (Bì, Bạ, , Bạị = Ø
Khi đó tích Đề-Các của hai khối r(R) và s(S) là một khối, kí hiệu r x s, khối
này c6 khung R x S = (id; Aj, Ad, ., An, Bi, Bo, ., Bry, mỗi phần tử thuộc khối này là một bộ gồm n+ m anh xa, trong do n anh xa dau cé dạng một
phần tử thuộc r, còn m ánh xạ sau có dạng một phần tử thuộc s
Biểu diễn hình thức của tích Đề-Các có dạng :
rxs=({tlt(R) er và t(S) e s},
trong do t=, 0,000 tR) =(, É, P), và t(S)= (11 0,
2.4.5 Tích Đề các theo tập chí số
Cho R = (id; Aj, Ao, « 5 An), S = (id’; Aj, Ag, « , An) Khi dé tich Dé-
Các của hai khối r(R) và s(S) theo tap chi sé 1a mét khdi, ki hiéu r xq s, khéi
này có khung R xiq S = {id L] id’; Ay, Ao, ., Any, v6i id L[ id’ 14 kí hiệu tích
rời rạc của hai tập chỉ s6 id va id’ Méi phan tir thudc khdéi này là một bộ gồm
n anh xa (t', É, t) với 0: id ][id? —> A¡, ¡ = 1 n, mỗi ánh xạ này được cảm sinh từ 2 ánh xạ thứ 1 tương ứng của r và s
Cu thé hơn, giả sử có 2 phần tử là t, e r và t, s :
1 „2 1 „2
t= (ty, rs wees Urs te = (Oe, Boy eee tS),
Trang 35khi đó ta có ánh xạ cảm sinh của t, và t,, phần tử cảm sinh của t, và t, kí hiệu
1a ts
Gọi j¡ : ¡d > id [] id’, j : id’ > id L] id’ 1a cdc phép nhiing thi ta
được : tjị€r và tja€ S, VàrX¡as= {t|tjie r và tJaạ 6 s}
2.4.6 Phép chiếu
Cho lược đồ khối R = (id; Aj, Aa, , A,), r là một khối trên R
Khi đó ta gọi P = (1d); Ai, A¿, Ain) là lược đồ con của lược đồ R nếu
id°Cid, Aje {Ai, Aa, Aa},j =1 h
Một phép chiếu của khối r trên lược đồ con P, kí hiệu IIp(r), là một khối có
lược đồ P và mỗi phần tử thuộc khối này có dạng :
(ti, t?, ., t) I, trong đó : e {U, É, },j = 1 h, it và (t,Ú, t)er Biểu diễn hình thức của phép chiếu có đạng : Tp) = f(t, 07,0, ty le CPt, j = 1.h, (LẺ ter} id’ 2.4.7 Phép chon
Cho lược đồ khói R = (id; A, As, A,) và khối r(R)
Cho một phép chọn nghĩa là ta xây dựng một tập con các phần tử của khối đã cho thỏa mãn biểu thức F cho trước Biểu thức F được diễn tả bằng một tổ hợp Boole của các toán hạng, mỗi toán hạng là một phép so sánh đơn giản giữa hai biến là hai giá trị điểm của hai ánh xạ thành phần nào đó, hoặc
giữa một biến là giá trị điểm của một ánh xạ thành phần và một hằng Các
phép so sánh trong F là <, =, >, =, <, #, cịn các phép tốn lơgic trong F là : v,
A,—
Biểu diễn hình thức của phép chon co dang : of (r) = {t € rl F(t) }
Trang 362.4.8 Phép kết nối Cho R = (id; Aj, A», ., An) va s = (id; Bi,Bo, , B„), cùng với hai khối r(R) và s(S) tương ứng Gọi T = d ; Cị,C›, ., Cp), trong đó : {C¡,C, , Cp} = (Ai, À2, , Am 62 (Bi.Bo, .Bm}
Phép kết nối của 2 khối r và s, kí hiệu r t>< s là khối t(T) định nghĩa
như sau : t(T) = {t| 4 t,e r va t,e s sao cho t(R) = t,, t(S) = t,}
Phép kết nối này cũng gọi là phép kết nối tự nhiên của hai khối r(R)
và s(S), đôi khi sử dụng kí hiệu r * s
Đặc biệt, khi các khối r(R) và s(S) có tập chỉ sé id trong lược đồ khối
của chúng chỉ gồm một phần tử thì các khối này trở thành các quan hệ và phép kết nói tự nhiên của hai khối lại trở thành phép kết nối tự nhiên của hai
quan hệ trong mô hình cơ sở dữ liệu quan hệ [6]
Nếu hai tập {Aj, A», ., An} va {Bi,Bo, , Bm} không giao nhau thì r
* s trở thành tích Đề- các của hai khối đã cho
Ta có thể mở rộng khái niệm kết nối như sau :
Giả sử Aye {Aj, Ao, ., An}, Bie {Bi,Bz, , Bn}, va dom (Ax) =
dom (By), 1 <k <h, (ở day A, va By không nhất thiết phân biệt)
Trang 372.4.9 Phép chia
Cho hai khối r(id; Ay, Ay, ., An) va s(id; Ai, Ais, ., Ain), trong d6
Axe {Ai, Ag, , An}, Vk= 1 h Khi đó phép chia của khối r cho khối s, kí n-h) hiệu r + s, là một khối gồm các phần tử t = (t', t’, ., t™ sao cho Vu=(u', 2 h ) 122 u', ,U sue s thi phan tử tu € r, ở đây phần tử tu có dạng: tu=(t, É, , teu uP Biểu diễn hình thức của phép chia có dạng : r+s=({tlVue s,tu er} 2.5 Phụ thuộc hàm Sau đây, để cho đơn giản ta sử dụng các kí hiệu: x® = (x; Ay; id = {x |x © id} Ta goi x” (x € id, i= 1 n) 1a cdc thuéc tinh chi sé cia luge dé khdéi R = (id; Aj,Ao, ,An)- Dinh nghia 2.3 [2, 5]
Cho lược đồ khối R = (d; A¡.As A„, r(R) là một khối trên R, x.Yc|Jd'°, X — Y là kí hiệu một phụ thuộc hàm Một khối r thoả X > Y
i=l
nếu với mọi tị, tbe R sao cho t;(X) = to(X) thi t(Y) = v(Y) Phụ thuộc hàm được suy diễn từ tập phụ thuộc ham F
Cho lược đồ khối R = (¡d; A¡,A¿, A„, F là tập các phụ thuộc hàm trên R và X — Y là một phụ thuộc hàm với X,Y c Via” Nói rang X > Y duoc
im
suy diễn logic từ F nếu với mỗi khối r xác định trên R thỏa các phụ thuộc hàm trong F thì cũng thỏa X —> Y Kí hiệu là:
F|=X>Y
Định nghĩa 2.4 (Bao đóng của tập phụ thuộc ham) [2, 5]
Cho lược đồ khối R = (id; A¡, A¿ Aa), F là tập các phụ thuộc hàm
Trang 38F={X>YIFX—Y)
Nếu X = {x™} cid™, Y = {y} cid™ thì ta kí hiệu phụ thuộc hàm X —> Y
don gian la x™— y™ Khối r thoả xf”—› y? nếu với mọi tị, tạc r sao cho
tx) = tox) thi t(y™) = t(y™) Trong do:
ti) = 10%; Am), B(x) = (x; Am); ty) = tly; Ap, bY) = by; Aw Nhận xét 2.2 Cho R = (đd; A¡, Aa A„), r(R) là một khối trên R, X,Y € Via” ,X im —> Y là kí hiệu một phụ thuộc hàm Giả sử r(R) thoả phụ thuộc hàm X—>Y Khi đó nếu id = {x} thì :
-r(R) trở thành quan hệ r(A¡, A¿, , An) và
-Phụ thuộc hàm X > Y, (X,Yc Ua, ) tro thanh phụ thuộc hàm trong
i=l
mô hình dữ liệu quan hệ
2.6 Bao đóng của tập thuộc tính chỉ số Định nghĩa 2.5 [2, 5]
Cho lược đồ khối R=Qd; A¡, Aa, , An), F là tập các phụ thuộc hàm trên
R Với mỗi X Cid , ta dinh nghĩa bao đóng của X đối với F kí hiệu X*
i=l
như sau: X?= {x?,IX — xÐe E* với x e id,¡=1 n
Cho lược đồ khối R=dd; A¡, A¿ Aa), ta xác định tập các phụ thuộc hàm Fục Fi„ trên R như sau:
E,=[X>Y! x=|[Jx°, y=|Jx”, A,Bc {1,2, n) và x e id],
icA jeB
Fix = {X > Y € Phl X,Y CU x" J, voix € id va ki higu P= FU”
isl i=l
Trang 39Thuật toán 2.1 (bao đóng) [2, 5]
Input: Tập thuộc tính X, tập phụ thuộc hàm F và lược đồ khối R Output: X+, bao đóng của X đối với F trên R BAODONG(X,F,R) Begin tepcu:=Ø;tepmoi:=X; whiletepmoi#tepcudo begin tepcu := tepmoi ; for each W — Z in F do if tepmoi 2 W then tepmoi := tepmoi U Z ; end; return(tepmoi); End
Cho luge dé khéi R=(id; Ay, Ao, An)s Fh, Fhx 1a tập các phụ thuộc
hàm trên R, R, tương ứng, mcUid” | M -UM,, M,e=LJx”.M#Ø với
isl xeA isl
x€ AC id
Khi đó dựa vào thuật toán tính bao đóng ở trên, ta có thé tinh bao dong
M' của M đối với Fạ Từ quá trình tính bao đóng của M đối với Fạ ta thấy đó
chính là các quá trình tính bao đóng của các tập thuộc tính chỉ số M, (x€ A)
đối với các tập phụ thuộc hàm tương ứng Fạ„ (x€ A) Mệnh đề 2.6 [2 5]
Cho lược đồ khối R=(d; Ai, A¿, An)s Fh, Fạ„ là tập các phụ thuộc hàm trên R, R, tương ứng, MELiđ”,w =UM,, M,c=Ux”.M#Ø với
Trang 40x€ AC id Khi đó nếu M'" là bao đóng của M đối voi F, thi Vx €
@)
AU x”M' là bao đóng của M=L} x OM 4éi voiF ix
i=l isl
Ménh dé 2.7 [2, 5]
Cho luge d6 khéi R=(id; Ay, Ao, An) Fh, Fhx 1a tap các phụ thuộc
ham trên R, R„ tương ứng, MELliđ”w =UM,, M.=LJx°.M#Ø với i=l xeA i= 1 xe Ac id Khi đó nếu M,” là bao đóng của M, đối với Fạ„ thì M_ là bao xeA đóng của M =LÏM, đối vớiF, xeA Dinh li 2.1 [5] Cho luge dé khéi R=(id; Ay, Ao, ., An)s Fh, Fhx 1a tap cdc phy thudc n
hàm trén R, R, tuong tng, ME Via" M =UM, w.=Ux” với xe AC
¡d Khi đó MỸ là bao đóng của M đối với Fạ khi và chỉ khi:
M¿}= U x'”M' là bao đóng của M, đối với Fạ,
2.7 Khoá của lược đồ khối R đối với tập phụ thuộc hàm F trên R
Định nghĩa 2.6 [2, 5]
Cho lược đồ khối R = (id; Al, A2, ., An), F là tập các phụ thuộc hàm trên R, K CUid® K duoc gọi là khóa của lược đồ R đối với F nếu thỏa 2
i=l
điêu kiện:
a) K — x() € F+, Vx €id,1= l n