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ữ l
Trang 1BQ 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
HÀ NỘI, 2013
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 hoà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
Nguyễn Thanh Tưởng
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
Nguyễn Thanh Tưởng
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
1.5 Khoá của lược đồ quan hỆ - 2c 2s +xeEEeEEEeEEEEErrrkrrrrerrreee 21
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.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
TÀI LIỆU THAM KHẢO 5c EEEeEEEEEEEEEEEEEEEEEEEEkvrkerkerkerrerek 52
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
dữ liệu dạng khối.
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
chất về bao đóng của tập thuộc tính trong mô hình dữ liệu dạng khối Sự
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 :
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
Ta có thế xem một quan hệ như một bảng, trong đó mỗi hàng (phần tử)
là một bộ và mỗi cột tương ứng với một thành phần gọi là thuộc tính Biểu diễn quan hệ r thành bảng như sau:
Trang 9bm hm(Ai) hm(A2) nà hm(An)
Bang 1.1: Biéu diễn quan hệ r
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
Lược đồ quan hệ R với tập thuộc tính U={A¿, As, , Aa} được viết là
R(U) hoặc R(A¡, A¿, , Aa)
1.1.3 Khoá của quan hệ
Định nghĩa 1.4 [4].[6]
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
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
bộ thuộc r hoặc thuộc s Ta có: rUs={t| t€rVt€s}
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}
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}
Phép chiếu thực chất là phép toán giữ lại một số thuộc tính cần thiết
Trang 13của quan hệ và loại bỏ những thuộc tính không cần thiết
Biểu thức chọn F được định nghĩa là một tổ hợp logic 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 thuộc tính hoặc giữa một biến là một thuộc tính và một giá trị hằng Biểu thức chọ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)}
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
hệ r sẽ được ghép với mọi bộ của quan hệ s.
Trang 15Cho 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
cho quan hệ s, kí hiệu là r + s, là tập tất cả các bộ t trên U\V sao cho với mọi
bộ v € s thì khi ghép bộ t với bộ v ta được một bộ thuộc r
Trang 16như 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,
A,}, cho X, Y, Z, W c U thi ta có một số tính chất cơ bản của các phụ thuộc
Trang 17Gọ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) 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)
Phản chứng: Giả sử t¡(Z) # ta(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:
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
13
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 :
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
thuộc F Vậy F* = {f |F |=}
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
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¿
15
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"
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ó:
Vay ta co >(X* Y)*S (XY)' (4)
Mat khac ta ciing co: X © X* (tinh chat 1) > XY © X*Y
Tir XY © X*Y Theo tính chat 2 > (XY)* € (X* Y)*(5)
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"*
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
17
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*
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
Ra: X” là bao đóng của X đối với F
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
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
19
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
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:
U ay ao wee ax Akal wee ân
Giả sử x* = Án, Ad, see Ax
20
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
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
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
21
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ị¡
Nếu muốn tìm các khóa khác (nếu có) của lược đồ quan hệ, ta có thể thay đôi thứ tự loại bỏ các phần tử của 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)
23