Tải bản đầy đủ

Các hệ tiên đề trong mô hình dữ liệu dạng khối

BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƢỜNG ĐẠI HỌC SƢ PHẠM HÀ NỘI
2

NGUYỄN THANH TƢỞNG

CÁC HỆ TIÊN ĐỀ
TRONG MÔ HÌNH DỮ LIỆU DẠNG KHỐI
Chuyên ngành: Khoa học máy tính
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


LỜI CẢM ƠN
Để 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


LỜ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 bất kỳ công trình nào khác.
Học viên

Nguyễn Thanh Tƣởng


MỤC LỤC
MỞ ĐẦU...........................................................................................................1
CHƢƠNG 1: MÔ HÌNH CƠ SỞ DỮ LIỆU QUAN HỆ..................................3
1. 1. Các khái niệm cơ bản............................................................................ 3
1.1.1. Thuộc tính và miền thuộc tính...........................................................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ệ.................................................................5
1.2.1. Phép hợp............................................................................................5
1.2.2. Phép giao........................................................................................... 6
1.2.3. Phép trừ..............................................................................................6
1.2.4. Tích Đề-các........................................................................................6
1.2.5. Phép chiếu..........................................................................................7
1.2.6. Phép chọn.......................................................................................... 8
1.2.7. Phép kết nối....................................................................................... 9
1.2.8. Phép chia..........................................................................................10
1.3. Phụ thuộc hàm...................................................................................... 11
1.3.1.tính chất của phụ thuộc hàm............................................................. 11
1.3.2. Hệ tiên đề Amstrong........................................................................12


1.3.3. Các hệ tiên đề khác cho phụ thuộc hàm.......................................... 14
1.4. Bao đóng...............................................................................................14
1.4.1. Bao đóng của tập phụ huộc hàm......................................................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..............................................19
1.5. Khoá của lƣợc đồ quan hệ....................................................................21


CHƢƠNG 2: MÔ HÌNH CƠ SỞ DỮ LIỆU DẠNG KHỐI........................... 24
2.1. Khối, lƣợc đồ khối............................................................................... 24
2.2. Lát cắt................................................................................................... 25
2.3. Khóa của khối.......................................................................................26
2.4. Đại số quan hệ trên khối.......................................................................28
2.4.1. Phép hợp..........................................................................................28
2.4.2. Phép giao......................................................................................... 28
2.4.3. Phép trừ............................................................................................29
2.4.4. Tích Đề các......................................................................................29
2.4.5. Tích Đề các theo tập chỉ số..............................................................29
2.4.6. Phép chiếu........................................................................................30
2.4.7. Phép chọn........................................................................................ 30
2.4.8. Phép kết nối..................................................................................... 31
2.4.9. Phép chia..........................................................................................32
2.5. Phụ thuộc hàm...................................................................................... 32
2.6. Bao đóng của tập thuộc tính chỉ số.......................................................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
KHỐI...............................................................................................................38
3.1. Các tính chất của phụ thuộc hàm trên lƣợc đồ khối.............................. 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.................................................43
3.4. Các hệ tiên đề trong mô hình khối........................................................45
KẾT LUẬN.....................................................................................................51
TÀI LIỆU THAM KHẢO...............................................................................52


1. Lý do chọn đề tài
MỞ ĐẦU
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 số 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 dữ 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 dữ liệu có tính chất động bằng cách sử dụng trục id 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.
6


3. 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ự
tƣơng đƣơng của các hệ tiên đề trong mô hình dữ liệu dạng khối.


CHƢƠ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 tất cả các giá trị có thể có của thuộc tính Ai gọi là miền giá trị của

thuộc tính đó, ký hiệu: Dom(Ai) hay viết tắt là DAi
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 Văn A’,‘Nguyễn Văn B’, ...} ;
Dom(NgSinh) = {date} ={‘30/03/78’, ‘22/12/96’, ...}

;

Dom(Đchi) ={char(10)} = {‘HN’, ‘HP’, ‘VP’, …}.
1.1.2. Quan hệ, lƣợc đồ quan
hệ Định nghĩa 1.2[4], [6]
Cho U= {A1, A2, …, 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 Ai (i=1,2, …, n) có miền giá trị là Dom(Ai). Khi đó r là một
tập các bộ {h1, h2, …, hm} đƣợc gọi là quan hệ trên U với hj (j=1, 2, …, m) là
một hàm:
hj: U →

DA i sao cho hj(Ai)DAi(i=1, 2, ...,n).

AiU

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:


A1

A2



An

h1(A1)

h1(A2)



h1(An)

h2

h2(A1)

h2(A2)



h2(An)











hm

hm(A1)

hm(A2)



hm(An)

h1

Bảng 1.1: Biểu diễn quan hệ r.
Ví dụ 1.2:

Sinhviên

MaSV

HOTEN

NS

DC

KHOA

SV01

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 = (d1, d2, d3, ..., dm) r, r xác định trên U, X 
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={A1, A2, .., An} đƣợc viết là
R(U) hoặc R(A1, A2, .., An).
1.1.3. Khoá của quan hệ
Định nghĩa 1.4 [4],[6]
Khoá của quan hệ r xác định trên tập thuộc tính U={A1, A2, .., An} là


tập con K U sao cho bất kỳ hai bộ khác nhau t1, t2r luôn thoả
t1(K) ≠ t2(K) và bất kỳ tập con thực sự K1 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

SV01

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ợpthuộc
hai quan
khảr ∪
hợp
và s,t ∈
kí hiệu
∪ s, là tập tất cả các
bộ thuộc
r hoặc
s. Tahệcó:
s =r {t│
r ∨ tlà∈r s}
Ví dụ 1.4:
r

(A

B

C)

x1

y1

x2
x2

(A

B

C)

z1

x1

y1

z1

y1

z2

x2

y2

z2

y2

z1

B

C)

x1

y1

z1

x2

y1

z2

x2

y2

z1

x2

y2

z2

r ∪ s (A

;

s


1.2.2. Phép giao
Phép giao của hai quan hệ khả hợp r và s, kí hiệu là r ∩ s, là tập tất cả
các bộ thuộc cả hai quan hệ r và s. Ta có:
r ∩ s = {t│ t ∈ r ∧ t ∈ s}
Ví dụ 1.5:
r

(A

B

C)

x1

y1

x2

;

s

(A

B

C)

z1

x1

y1

z1

y1

z2

x2

y2

z2

x2

y2

z1

r ∩ s (A

B

C)

x1

y1

z1

1.2.3. Phép trừ
Phép trừ của hai quan hệ khả hợp r và s, kí hiệu: r - s là tập tất cả các bộ
thuộc r nhƣng không thuộc s. Ta có:
r - s = {t│ t ∈ r ∧ t ∉ s}
Ví dụ 1.6:
r

(A

B

C)

x1

y1

x2

;

s

(A

B

C)

z1

x1

y1

z1

y1

z2

x2

y2

z2

x2

y2

z1

r - s = (A

B

C)

s - r = (A

B

C)

x2

y1

z2

x2

y2

z2

x2

y2

z1

1.2.4. Tích Đề-các
Cho quan hệ r xác định trên tập thuộc tính {A1, A2, ..., An} và quan hệ s


xác định trên tập thuộc tính {B1, B2, .., Bm}. Tích Đề-các của hai quan hệ r và
s kí hiệu là r × 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ó:
r × s = {t=(a1, a2, .., an, b1, b2, .., bm)│(a1, a2, .., an) ∈ r
∈ s}
Ví dụ 1.7 :
r

A

B

C

x1

y1

x2
x2

(b1 b2, .., bm)

G

H

F

z1

x1

y1

z1

y1

z2

x2

y2

z2

y2

z1

x1

y2

z2

s

r×s
A

B

C

G

H

F

x1

y1

z1

x1

y1

z1

x1

y1

z1

x2

y2

z2

x1

y1

z1

x1

y2

z2

x2

y1

z2

x1

y1

z1

x2

y1

z2

x2

y2

z2

x2

y1

z2

x1

y2

z2

x2

y2

z1

x1

y1

z1

x2

y2

z1

x2

y2

z2

x2

y2

z1

x1

y2

z2

Bảng 1.2: Biểu diễn các quan hệ r, s và quan hệ r× 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={A1, A2, ..,
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à x (r), là tập các bộ của r xác định trên tập thuộc tính X. Ta có:
x (r) = {t.X│ t ∈ r}.

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


của quan hệ và loại bỏ những thuộc tính không cần thiết.
Ví dụ 1.8:
r

(A

B

C

D)

x1

1

x

4

y1

5

y

2

z1

5

z

5

x1

8

x

5

y1

1

y

4

(B)

B

(r)

1
5
8

BD (r) (B

1

4

5

2

5

5

8

5

D)

1.2.6. Phép chọn
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
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
F cho giá trị đúng hoặc sai đối với mỗi bộ đã cho của quan hệ khi kiểm tra


riê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: ∧ (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à F (r), là tập tất
cả
các bộ của r thoả mãn F. Ta có:
Ví dụ 1.9:

F (r) = {t│ t ∈ r

F(t)}.


B

r (A

B

C

D)

x1

1

x

4

y1

5

y

2

z1

5

z

5

x1

8

x

5

y1

1

y

4

(r)(A

B

C D)

y1

5

y

2

z1

5

z

5

x1

8

x

5

D

1.2.7. Phép kết nối
Cho hai quan hệ r(U) và s(V). Đặt M=U∩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ệ S (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= U∩V=Ф, r*s sẽ cho ta tích Đề- 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.


Ví dụ 1.10:
r (A x1 y z1

B

C)

;

s (G H)

x

x2

r*s (Ay

yB2

C

y3
G y2 H)

2

y1
x
z1

zx2

x2

x2

x3

y

y2

y2

y3

x1

x

z2

y2

y3

x2 x3

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 ⊂ 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
hệ s,
hiệu bộ
là rt với
÷ s,bộlàvtập
tất cả một
các bộ
trên U\V
bộ vquan
∈ s thì
khikíghép
ta đƣợc
bộ tthuộc
r. sao cho với mọi
Ta có: r ÷ s = {t│∀ v ∈ s, (t, v) ∈ r}
Ví dụ 1.11:
r (A B

C

D) ;

s (A B)

x1

1

x1

2

x1

1

y1

2

x1

2

y1 2

z1

3

x1

2

z1

x1

1

x1

4

y1

2

y1

4

z1

3

z1

5

3


r ÷ s (C
x1

D)
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ỳ t1, t2 ∈ R mà t1(X)
= t2(X) thì t1(Y) = t2(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 = {A1, A2, ...,
An}, cho X, Y, Z, W ⊆ U thì ta có một số tính chất cơ bản của các phụ thuộc
hàm nhƣ sau:
F1)
F2)

Nếu Y ⊆ X thì X → Y.
Nếu X → Y thì XW → YW.

F3)

Nếu X → Y, Y → Z thì X → Z.

F4)

Nếu X → Y, YZ → W thì XZ → W.

F5)

Nếu X → Y, Z → W thì XZ →YW.


F6)

Nếu X → Y thì XZ→Y.

F7)

Nếu X → Y, X → Z thì X → YZ.

F8)

Nếu X → YZ thì X → Y.

F9)

Nếu X → YZ, Z → WV thì 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 ⊆Phản
U taxạ:
có hệ
Amstrong
Nếutiên
Y đề
⊆X
thì X →[4]
Y nhƣ sau: 12-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 đủ
Chứng minh:
a) Tính đúng.
1) 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).
2) 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ảt thiết
ta lại có X → Y nên t1(X) = t2(X) ⇒ t1(Y) =
t2(Y) (mâu
thuẫn)
1(YW)= t2(YW).
Vậy từ t1(XW) = t2(XW) ⇒ t1(YW)= t2(YW).
3) 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).
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ộ t1, t2 nhƣ sau:
r

A

B

...

F

G

H

...

M

t1

1

1

...

1

1

1

...

1

t2

1

1

...

1

0

0

...

0

Trong đó, các thuộc tính trong t1 đều có giá trị 1, các thuộc tính trong t2
+

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



+

X , vì nếu không sẽ vi phạm tính bằng nhau của W trên hai bộ

t1 và t2. Hơn nữa, V
không thể là tập con của X , bởi vì nếu V X 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 X . Theo tính chất phản
xạ nếu W
+

+

X thì X → W, mà W → V nên X → V (theo tính chất bắc cầu).

Do A




X nên X → A hay A X . Điều đó là vô lý, bởi vì
+

+

A

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 X và Y X ,
vì nếu không sẽ vi phạm sự bằng nhau trên các bộ t1, t2 của X và Y. Nhƣng
nếu Y 


+

X thì X → Y sẽ suy diễ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,sau
W⊆
nhƣ
: U ta có các hệ tiên đề tƣơng đƣơng với hệ tiên đề Amstrong
0
Hệ tiên đề B
Nếu X → YZ thì X → Y
Nếu X → YZ và Z → AW thì X → YZW
0
Hệ tiên đề S
Nếu Y ⊆X thì X → Y
Nếu X → Y và YZ → V thì XZ → V
0

Hệ tiên đề D

Nếu X → Y và Y → Z thì X → Z
Nếu X → Y và Z → W thì XZ → YW
0

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 [1]
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 │= f}.


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
Đị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,+ tập
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ó:
+

+

X = {A│ X → A ∈ F }.
+
Đôi khi ta kí hiệu XF để chỉ lấy bao đóng của X theo tập phụ thuộc hàm F.
Tính chất của bao đóng:
1)

X ⊆ X+

3)

4)

Nếu X ⊆ Y thì X+ ⊆ Y+
+
X++→ X +
X =X

5)

X Y ⊆ (XY)+

6)

(X Y) = (XY )= (XY)

2)

+

+

+

+

+

+

X → Y Y ⊆ X+
+
+
8)
X → Y và Y → X X = Y
Chứng minh:
7)

1)

+

Lấy bất kỳ A ∈ X cần chứng minh A ∈ X .
Ta có A ∈ X {A} ⊆ X suy ra X → A (luật phản xạ)⇒
+

2)

A ∈X .
+
Lấy
+ A ∈ X , ta cần
+ chứng minh A ∈
Y . Ta có A ∈ X ⇒X → A (1).
Mà theo luật phản xạ X⊆Y ⇒ Y → X (2).
+

Vậy từ (1) và (2) ta suy ra Y→ A ⇒ A∈ Y .
3)

+

Giả sử X =A1A2....Ak
+

Do A1∈ X ta có X → A1
Tƣơng tự: X → A2
.............


X → Ak


+

4)

Theo luật hợp ta có X → A1A2....Ak ⇒ X → X
++
+
+
++
++
Để+ chứng minh X =X ta đi+ chứng
++ minh X ⊆ 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 ⊆ X
Lấy A ∈ X++ , chứng
minh A ∈ X .
+
Do A ∈ X ⇒X → A (1).
+
Mặt khác theo tính chất 3 ta có: X → X (2).
+

Từ (1) và (2) suy ra X→ A ⇒ A ∈ X .
5)

6)

Ta có X ⊆ XY
+
+
Theo tính chất 2 ta có X ⊆
+ (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+⊆ X Y +(1).
X ⊆ (XY) (2).
+
+
Y ⊆ (XY) (3).
+

+

+

+

++

Từ (1), (2) và (3) suy ra X Y ⊆ (XY) ⇒(X Y) ⊆ (XY)
(theo tính chất 4).
+

+

+

Vậy ta có ⇒(X Y) ⊆ (XY) (4).
+
Mặt khác ta+ cũng có: X ⊆ X (tính chất +1) ⇒ XY
+
+ ⊆+
X Y Từ XY ⊆ X Y Theo tính chất 2 ⇒ (XY) ⊆ (X Y) (5).
+
+
+
Từ (4), (5) suy ra (X Y) = (XY) .
7)

a)

+

Để chứng minh X→ Y Y ⊆ X ta có:
+
Giả
sử

X→
Y
ta
cần
chứng
minh
Y

X
Lấy
+ bất kỳ A∈ Y, ta cần chứng minh A ∈
X . Ta có: A ∈ Y ⇒Y → A (1).
Theo giả thiết ta lại có: X→ Y (2).
+

Từ (1), (2) suy ra X→ Y⇒A ∈ X .

= (XY)

+


b)

+

Giả sử có A+ ⊆ X
+ ta cần chứng minh X→Y.
Do Y ⊆ 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)

a)

+

+

Chứng minh X→ Y và Y→ X X = Y ta có:
+
+
Giả sử có X→ Y và Y→ X ta cần chứng minh X =Y .
+

Do X→ Y ⇒ Y ⊆ X
+

++

+

+

⇒Y⊆X .
⇒ Y ⊆ X . (theo tính chất 4) (1).
+

Do Y→ X ⇒ X ⊆ Y .
+

++

+

+

⇒X⊆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 ⊆ X (1’)
X ⊆ Y (2’)
+

+

+

+

Theo tính chất 1 ta có Y ⊆ Y mà Y ⊆ X ⇒Y ⊆ X ⇒ X→Y
(theo
tính chất 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
• Bài toán 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ế nào để
+

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 F là một công việc đòi hỏi thời gian và công


Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay

×