Tải bản đầy đủ (.pdf) (75 trang)

Một số thuật toán tìm phủ trong mô hình dữ liệu dạng khối

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (2.4 MB, 75 trang )

B ộ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC s ư PHẠM HÀ NỘI 2

NGUYỄN THẾ VINH

MỘT SÓ THUẬT TOÁN TÌM PHỦ
TRONG MÔ HÌNH DỮ LIỆU DẠNG KHÓI

LUẬN VĂN THẠC s ĩ MÁY TÍNH

HÀ NỘI, 2015


B ộ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC s ư PHẠM HÀ NỘI 2

NGUYỄN THẾ VINH

MỘT SÓ THUẬT TOÁN TÌM PHỦ
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 T rịn h Đình Thắng

HÀ NỘI, 2015



1

LỜI CẢM ƠN
Đe 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ô phòng Sau Đại Học và thư viện 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. Tôi xin gửi lời cảm ơn sâu sắc tới
thầy PGS.TS Trịnh Đình Thắng đang công tác tại trường Đại học Sư phạm
Hà Nội 2 đã trực tiếp hướng dẫn, định hướng chuyên mô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.
Tôi xin được bầy tỏ sự biết ơn sâu sắc đến gia đình đã tạo mọi điều
kiện tốt nhất để tôi có thể hoàn thành tốt mọi công việc trong quá trình thực
hiện luận văn. Bên cạnh đó, tôi cũng xin gửi lời cảm ơn của mình tới bạn bè
và đồng nghiệp, luôn quan tâm, chia sẻ, động viên tôi trong suốt thời gian
thực hiện luận văn.
Trong quá trình thực hiện công tác nghiên cứu nhưng luận văn không
thể tránh khổi những thiếu sót. Tôi xin chân thành cảm ơn những ý kiến góp ý
của quý thầy cô, quý đồng nghiệp và bạn bè.
Vĩnh Phúc, ngày 01 tháng 12 năm 2015
Học viên

Nguyễn Thế Vinh


2

LỜI CAM ĐOAN
Tôi xin cam đoan toàn bộ nội dung được trình bày trong bản luận văn

này là kết quả tìm hiểu và nghiên cứu của riêng tôi, đâ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, rõ ràng 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 Thế Vinh


3

MỤC LỤC
LỜI CẢM Ơ N .................................... !........ .............................................................9
LỜI CAM Đ O A N ......................................................................................................2
MỤC L Ụ C .................................................................................................................. 3
DANH MỤC KÝ HIỆU VÀ CHỮ CÁI VIẾT T Ắ T ........................................... 6
DANH MỤC CÁC B Ả N G ....................................................................................... 7
DANH MỤC CÁC HÌNH V Ẽ ..................................................................................8
MỞ Đ Ầ U .................................................................................................................... 9
CHUƠNG 1:

m ô h ìn h d ữ l iệ u q u a n h ệ v à c á c d ạ n g p h ủ

......12

1.1. Mô hình dữ liệu quan h ệ ..............................................................................12
1.1.1. Thuộc tính và miền thuộc tín h ............................................................12
1.1.2. Quan hệ, luợc đồ quan h ệ ..................................................................... 12
1.2. Các phép toán đại số quan h ệ .....................................................................14

1.2.1. Phép h ợ p ..................................................................................................14
1.2.2. Phép giao..................................................................................................15
1.2.3. Phép trừ ....................................................................................................15
1.2.4. Tích Đ ề-các............................................................................................. 16
1.2.5. Phép chiếu............................................................................................... 17
1.2.6. Phép chọn.................................................................................................18
1.2.7. Phép kết nối............................................................................................. 19
1.2.8. Phép chia..................................................................................................19
1.3. Phụ thuộc hàm ................................................................................................ 20
1.3.1. Các tính chất của phụ thuộc h à m .........................................................21
1.3.2. Hệ tiên đề Amstrong.............................................................................. 21
1.4. Bao đóng

22


4

1.4.1. Bao đóng của tập phụ thuộc hàm và tập thuộc tín h .........................22
1.4.2. Bài toán thành viên............................................................................... 26
1.5. Các dạng p h ủ ................................................................................................. 27
1.5.1. Phủ tuơng đuơng....................................................................................27
1.5.2. Phủ không d u ......................................................................................... 27
1.5.3. Phủ thu gọn tự nhiên.............................................................................. 28
1.5.4. Phủ thu gọn trá i...................................................................................... 30
1.5.5. Phủ thu gọn phải..................................................................................... 31
1.5.6. Phủ thu g ọ n .............................................................................................32
1.5.7. Phủ tối th iể u ............................................................................................32
1.5.8. Phủ cực tiểu.............................................................................................33
1.6. Kết luận chương 1 ........................................................................................ 34

CHƯƠNG 2: MÔ HÌNH DỮ LIỆU DẠNG KHỐI........................................... 35
2.1. Khối, lược đồ khối và lát cắt....................................................................... 35
2.1.1. Khối, lược đồ khối..................................................................................35
2.1.2. Lát c ắ t......................................................................................................37
2.2. Các phép tính trên khối............................................................................... 39
2.2.1. Phép chèn................................................................................................ 39
2.2.2. Phép lọa b ỏ .............................................................................................. 40
2.2.3. Phép sửa đ ổ i............................................................................................40
2.3. Đại số quan hệ trên khối...............................................................................40
2.3.1. Phép h ợ p ................................................................................................. 41
2.3.2. Phép giao................................................................................................. 42
2.3.3. Phép trừ ....................................................................................................43


5

2.3.4. Tích Đề c á c .............................................................................................43
2.3.5. Tích Đề các theo tập chỉ số ..................................................................44
2.3.6. Phép chiếu............................................................................................... 44
2.3.7. Phép chọn................................................................................................ 45
2.3.8. Phép kết nối.............................................................................................45
2.3.9. Phép chia................................................................................................. 46
2.4. Phụ thuộc hàm ................................................................................................ 47
2.5. Bao đóng của tập thuộc tính chỉ số ............................................................ 49
2.6. Kết luận chương 2 ......................................................................................... 51
CHƯƠNG 3: PHỦ VÀ THUẬT TOÁN TÌM PHỦ TRONG MÔ HÌNH DỮ
LIỆU DẠNG K H Ố I................................................................................................ 52
3.1. Phủ của lược đồ khối.....................................................................................52
3.1.1. Phủ không dư th ừ a ................................................................................ 52
3.1.2. Phủ tối thiểu ...........................................................................................53

3.1.3. Phủ thu gọn ............................................................................................54
3.1.4. Phủ cực t iể u ............................................................................................62
3.2. Mối quan hệ giữa phủ cực tiểu của lược đồ khối và lược đồ lát cắt ..64
3.3. Xây dựng phần mềm Demo tìm phủ cực tiểu trên lược đồ khối........ 66
3.3.1. Giới thiệu bài toán ................................................................................ 66
3.3.2. Dữ liệu đầu v à o ...................................................................................... 66
3.3.3. Một số giao diện chương trình và hướng dẫn sử d ụ n g ................... 67
3.5. Kết luận chương 3 ........................................................................................71
KẾT LUẬN............................................................................................................... 72
TÀI LIỆU THAM K H Ả O ...................................................................................... 73


6

DANH MỤC KÝ HIỆU VÀ CHỮ CÁI VIẾT TẲT
Trong luận văn này dùng thống nhất các ký hiệu và chữ cái viết tắt sau:
Kí hiệu

Ý nghĩa

FD

Phụ thuộc hàm

LS

v ế trái

LR


v ế phải

b

Suy dẫn theo tiên đề (theo logic)

b

Suy dẫn theo quan hệ

*

Khác

V

Với mọi

n

Phép giao

u

Phép hợp

\

Phép trừ


c

Tập con

3

Nằm trong

e

Thuộc



Không thuộc

r

Bao đóng của tập thuộc tính X

=

Tương đương

í

Không tương đương

0


Rỗng

3

Tồn tại


7

DANH MỤC CÁC BẢNG
Bảng 1.1. Biểu diễn quan hệ r ...................................................
Bảng 1.2. Biểu diễn ví dụ học sinh..........................................
Bảng 1.3. Bảng biểu diễn quan hệ r, s, r u s..........................
Bảng 1.4. Bảng biểu diễn quan hệ r, s, r u s..........................
Bảng 1.5. Bảng biểu diễn quan hệ r, s, r - s, s - r .................
Bảng 1.6. Bảng biểu diễn các quan hệ r, s, rx s ....................
Bảng 1.7. Bảng biểu diễn các quan hệ r, s, r*s.......................
Bảng 1.8. Bảng biểu diễn các quan hệ r , s , ĩ T s....................
Bảng 2.1. Bảng biểu diễn khối điểm học viên DiemHV(R’)
Bảng 2.3. Bảng biểu diễn lát cắt r(RHọckỳ2)............................
Bảng 2.4. Biểu diễn họ gồm 2 quan hệ ri Ĩ 2...........................


8

DANH MỤC CÁC HÌNH VẼ

Hình 2.1. Biểu diễn khối điểm sinh viên DiemSV(R)........................
Hình 2.2. Biểu diễn các khối r(R), s(R), t(R).......................................
Hình 2.3. Biểu diễn 2 khối r, s................................................................

Hình 2.4. Biểu diễn các khối r, s, r u s .................................................
Hình 2.5. Biểu diễn các khối r, s, r n s.................................................
Hình 2.6. Biểu diễn các khối r, s, r - s.................................................
Hình 2.7. Biểu diễn các khối r, r ’ = n p (r)............................................
Hình 3.1. Danh sách các phụ thuộc hàm ...............................................
Hình 3.2. Giao diện chuơng trình tìm phủ tối thiểu............................
Hình 3.3. Chức năng nhập dữ liệu.........................................................
Hình 3.4. Danh sách các phụ thuộc hàm đầu vào................................
Hình 3.5. Danh sách các phụ thuộc hàm vế phải chỉ có 1 thuộc tính
Hình 3.6. Danh sách tập phụ thuộc hàm loại bỏ du thừa ở vế phải. .
Hình 3.7. Danh sách các phụ thuộc hàm tối thiểu cần tìm.................
Hình 3.8. Ket quả tìm phủ tối thiểu của lát cắt thứ nh ất....................
Hình 3.9. Ket quả tìm phủ tối thiểu của lát cắt thứ hai.......................
Hình 3.10. Ket quả tìm phủ tối thiếu của lát cắt thứ b a .....................


9

M Ở ĐẦU
1. Lí do chọn lựa đề tài
Trong thời đại Công nghệ Thông tin hiện nay đang có những bước tiến
mạnh mẽ, 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 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.
Muốn xây dựng được một hệ thống cơ sở dữ liệu tốt người ta thường sử dụng
các mô hình dữ liệu thích hợp. Đã có rất nhiều 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 đó thì mô hình quan hệ được quan tâm hơn cả vì nó được

xây dựng trên cơ sở toán học chặt chẽ - đó là lí thuyết toán học về các quan hệ
có áp dụng rộng rãi các công cụ đại số và logic. Tuy nhiên, mô hình này chưa
đủ đáp ứng đối với các ứng dụng phức tạp, các cơ sở dữ liệu có cấu trúc phi
tuyến.
Trong những năm gần đây, nhằm mở rộng mô hình dữ liệu quan hệ đã
được nhiều nhà khoa học nghiên cứu. Theo hướng nghiên cứu này một mô
hình mới đã được đề xuất, đó là mô hình dữ liệu dạng khối, mô hình này là
mở rộng của mô hình dữ liệu quan hệ, ngày càng có nhiều người quan tâm và
đã có những đóng góp nhất định đế bố sung vào lý thuyết các mô hình dữ
liệu. Tuy nhiên mô hình này mới xây dựng nên chưa hoàn thiện và hiện đang
được quan tâm nghiên cứu.
Với mong muốn tìm hiếu sâu hơn về những kiến thức đã học, mối quan
hệ và những ứng dụng của mô hình dữ liệu dạng khối, đặc biệt là các thuật
toán tìm phủ trong mô hình dữ liệu dạng khối. Vì vậy tôi chọn đề tài: “Mộ/ sổ
thuật toán tìm phủ trong mô hình dữ liệu dạng khối ” để nghiên cửu.


10

2. Mục đích nghiên cứu
- Trình bày một số khái niệm liên quan đến phủ, các thuật toán tìm phủ
đối với luợc đồ khối trong mô hình dữ liệu dạng khối.
- Phát biểu và tính độ phức tạp của các thuật toán tìm phủ.
- Đua ra mệnh đề, phát biểu và chứng minh về mối quan hệ giữa phủ
cực tiểu của luợc đồ khối và luợc đồ lát cắt.
3. Nhiệm vụ nghiên cứu
Đe đạt đuợc các mục đích trên, luận văn đặt ra các nhiệm vụ nghiên
cứu sau.
- Tìm hiểu về mô hình dữ liệu dạng khối.
- Trình bày một số khái niệm liên quan đến phủ.

- Trình bày các thuật toán tìm phủ, tính độ phức tạp của thuật toán đó.
- Xây dựng chuơng trình Demo tìm phủ tối thiểu trên khối
4. Đối tượng và phạm vi nghiên cứu
- Đối tượng nghiên cứu: phủ và các thuật toán tìm phủ của lược đồ khối
trong mô hình dữ liệu dạng khối.
- Phạm vi nghiên cứu: các phủ trong mô hình dữ liệu dạng khối.
5. Phương pháp nghiên cứu
Trong quá trình triển khai đề tài, tôi thực hiện theo phương pháp: Thu
thập tài liệu, phân tích, suy luận, tống hợp, đánh giá. Từ đó đưa ra mệnh đề
mới về mối quan hệ giữa phủ cực tiểu của lược đồ khối và lược đồ lát cắt, xây
dựng dựng chương trình Demo tìm phủ tối thiếu trên khối.
6. Những đóng góp của đề tài
- Đưa ra các mệnh đề, tính chất, phát biếu và chứng minh các tính chất
về mối quan hệ giữa phủ cực tiểu của lược đồ khối và lược đồ lát cắt.
- Xây dựng chương trình Demo tìm phủ tối thiếu của lược đồ khối.


11

7. Cấu trúc luận văn
Luận văn gồm: Lời mở đầu, ba chuơng nội dung, phần kết luận và sau
cùng là tài liệu tham khảo.
Chương 1: Mô hình dữ liệu quan hệ và các dạng phủ
Chương 2: Mô hình dữ liệu dạng khối
Chương 3: Phủ và thuật toán tìm phủ trong mô hình dữ liệu dạng khối


12

CHƯƠNG 1: MÔ HÌNH DỬ LIỆU QUAN HỆ VÀ CÁC DẠNG PHỦ

Mô hình dữ liệu quan hệ là một trong những mô hình đuợc quan tâm
nhiều nhất hiện nay. Nhiều tác giả đã quan tâm nghiên cứu và đã thu đuợc các
kết quả tốt. Mô hình dữ liệu quan hệ và các dạng phủ sẽ đuợc trình bày trong
phần duới đây.
Đe hiểu rõ hơn về mô hình dữ liệu quan hệ và các dạng phủ các vấn đề
này đuợc trình bày ở chuơng 1 đã đuợc nói tới trong tài liệu [2,3,4,5,7],
1.1. Mô hình dữ liệu quan hệ
1.1.1. Thuộc tính và miền thuộc tính
Định nghĩa 1.1 [5]
- Thuộc tính là đặc trung của đối tuợ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à D aì
Ví dụ 1.1.
Đối tuợng Họcsỉnh có các thuộc tính nhu: MaHS, Hoten, NgSinh, Đchi,...
Miền giá trị của các thuộc tính của đối tuợng Họcsinh:
Dom(MaHS) = {char(4)} = {‘HS01’, ‘HS02’, ‘HS03’ ...};
Dom(Hoten) = {char(30)} = {‘Nguyễn Thế A ’,‘Đoàn Thị B ’, ...} ;
Dom(NgSinh) = {date} ={‘13/09/82’, ‘15/12/87’, ...}

;

Dom(Đchi) ={char(10)} = {‘M C ’, ‘QN’, ‘YB’, ...}.
1.1.2. Quan hệ, lược đồ quan hệ
Định nghĩa 1.2[5]
Cho

u= {Al, A 2, ..., 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=l,2, ..., n) có miền giá trị là Dom( Ai ) viết tắt là D aì.
Khi đó r là một tập các bộ {hi, h2, ..., hm} được gọi là quan hệ trên

(j= l, 2, ..., m) là một hàm:

u với hj


13

hj :ư —>

u

sao cho hj (Ai) e D Ai(i=l, 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:

...

A„

h i(A 2)

...

h i(A n)

h2(A 0


h2(A 2)

...

h2(A n)

...

...

...

...

hm(Ai)

hm(A 2)

...

hm( A n)

Ai

a

hi

h i(A i)


h2

hm

2

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

MaHS

HO TEN

NS

DC

LOP

HS01

A

24/02/93

QN

AI


HS02

A

11/05/93

MC

A2

HS03

B

15/03/93

YB

BI

Bảng 1.2: Biếu diễn ví dụ học sinh.
Trong đó các thuộc tính là MaHS: mã học sinh; HOTEN: họ tên; NS:
ngày sinh; DC: đại chỉ; LOP: lớp.
Bộ giá trị: (HS01, A, 24/02/93, QN, A l) là một bộ.
Nếu có một bộ t = (di, d 2, d 3, ..., dm) £ r, r xác định trên
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.

u,x

c U thì



14

Định nghĩa 1.3[5]
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 đuợc gọi là lược đồ quan hệ.
Luợc đồ quan hệ R với tập thuộc tính U={Ai, A 2,
R(U) hoặc R(Ai, A2,

An} đuợc viết là

An).

1.2. Các phép toán đại số quan hệ
- Phép toán tập hợp: hợp, giao, trừ, tích Đề các
- Phép toán quan hệ: chiếu, chọn, kết nối, chia.
Định nghĩa 1.4[1],[5],[7]
Hai quan hệ r và s đuợc gọi là khả hợp nếu nhu 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ó: r u s = {t I t £ r vt £s}
Ví dụ 1 .3 :
A

B

c


A

B

c

Xl

yi

Zl

Xl

yi

Zl

X2

yi

Z2

X2

y2

Z2


X2

y2

Zl

A

B

c

Xl

yi

Zl

X2

yi

Z2

X2

y2

Zl


X2

y2

Z2

s

Bảng 1.3: Bảng biếu diễn quan hệ r, s, r u s.


15

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 n s, là tập tất cả
các bộ thuộc cả hai quan hệ r và s. Ta có: r n s = {t I t £ r A t £s}
Ví dụ 1.4:
A

B

c

A

B

c

Xl


yi

Zl

Xl

yi

Zl

X2

yi

Z2

X2

y2

Z2

X2

y2

Zl

A


B

c

Xl

yi

Zl

Bảng 1.4: Bảng biểu diễn quan hệ r, s, r n s.
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 nhung không thuộc s. Ta có: r \ s = {t 11 E r A t Ế s}

A

B

c

Xl

yi

Zl

X2


y2

Z2

A

B

c

X2

y2

Z2

Bảng 1.5: Bảng biểu diễn quan hệ r, s, r \ s, s \ r.


16

1.2.4. Tích Đề-các
Cho quan hệ r xác định trên tập thuộc tính {Ai, A 2,
xác định trên tập thuộc tính {Bi, B 2,

An} và quan hệ s

Bm}. Tích Đe-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ó:
r X s = {t=(ai, a2, a n, bi, b2, b m) I (ai, a2,

an) e r A (bi b2,

Ví dụ 1.6:
A

B

c

G

H

F

Xl

yi

Zl

Xl

yi

Zl


*2

yi

Z2

X2

yi

Z2

X2

yi

Zl

Xl

yi

Z2

rx s
A

B

c


G

H

F

Xl

yi

Zl

Xl

yi

Zl

Xl

yi

Zl

X2

y2

Z2


Xl

yi

Zl

Xl

y2

Z2

X2

yi

Z2

Xl

yi

Zl

X2

yi

Z2


X2

y2

Z2

X2

yi

Z2

Xl

y2

Z2

X2

y2

Zl

Xl

yi

Zl


X2

y2

Zl

X2

y2

Z2

X2

y2

Zl

Xl

y2

Z2

Bảng 1.6: Bảng biểu diễn các quan hệ r, s, rx s.

bm) £s}



17

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={Ai, A 2,
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à

nx(r), là tập các bộ của r xác định trên tập thuộc tính X. Ta có:
n x(r) = {t.x I t e 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.7:
(A

B

c

D)

Xl

2

X

6

yi


7

y

4

Zl

7

z

7

Xl

8

X

5

yi

2

y

6


nB
(r)(B)
2
7
8

n BD(r)(B

D)

2

6

7

4

7

7

8

5


18


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 đó đuợc gọi là điều kiện chọn
hay biểu thức chọn.
Biểu thức chọn F đuợ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: A(và), V (hoặc),

—1

(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à 5p(r), là tập tất cả
các bộ của r thoả mãn F. Ta có: 5p(r) = {t I t£r A F(t)}.
Ví dụ 1.8:
B

c

D)

Xl

5


X

8

yi

7

y

6

Zl

7

z

7

Xl

9

X

5

yi


5

y

8

(A

^B>D(-0 (A

B

c

D)

yi

7

y

6

Zl

7

z


7

Xl

9

X

5


19

1.2.7. Phép kết nối
Cho quan hệ r(U) và s(V). Đặt M =U nV . 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ộ đuợ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).

I

P(UV)= r*s= {u*v uEr, vEs, U.M=V.M}
Neu M= U n V = 0 , r*s sẽ cho ta tích Đe-các, trong đó mỗi bộ của quan hệ
r sẽ đuợc ghép với mọi bộ của quan hệ s.
Ví dụ 1. 9:


r*s

A

B

c

G

H

Xl

X

X2

X2

X3

y

y2

y2

y2


ys

Zl

X

Z2

A

B

c

G

H

yi

X

X2

X2

X3

Zl


y

y2

y2

ys

X2

X

Z2

y2

y3

3

Bảng 1.7: Bảng biểu diễn các quan hệ r, s, r*s.
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
quan hệ m ngôi xác định trên tập thuộc tính

V,

với


u và s là một

V(=u, n>m

và s ^0 , có

nghĩa là lực luợ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 UYV sao cho với mọi
bộ

V

e s thì khi ghép bộ t với bộ
Ta có: r - s = {t I V

V

V

ta đuợc một bộ thuộc r.

E s, (t, v) E r}


20

Ví dụ 1.10:
A

B


c

D

A

B

Xl

1

Xl

2

Xl

1

yi

2

Xl

2

yi


2

Zl

3

Xl

2

Zl

3

Xl

1

Xl

4

yi

2

yi

4


Zl

3

Zl

5

c

D

Xl

2
Bảng 1.8: Bảng biểu diễn các quan hệ r , s , ĩ T s.

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
nhung yếu tố quan trọng nhất đuợ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
nhu loại bỏ đi những du 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 đuợ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 luợc đồ quan hệ về dạng
chuân 3 hoặc chuân Boye-Codd.



21

Định nghĩa 1.5[7]
Cho lược đồ quan hệ R xác định trên tập thuộc tính U, và X, Y ÇU. Nói
rang 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ỳ ti, t2 ER mà ti(X) =
t2(X) thì ti(Y) = t2(Y).
1.3.1 Các tính chất của phụ thuộc hàm[7]
Cho lược đồ quan hệ R xác định trên tập thuộc tính

u=

{Ai, 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:
1. Nếu Y e X thì X —> Y.
2. Neu X —>■Y thì x w —> YW.
3. N ế u X

Y, Y

ZthiX

Z.

4. Nếu X —>■Y, YZ —> w thì x z —> w .
5. Nếu X —>■Y, Z —>■w thì x z —>YW.
6. Nếu X


Y thì XZ->Y.

7. Nếu X —>■Y, X —>■Z thì X —>■YZ.
8. Neu X —> YZ thì X —>■Y.
9. Nếu X —> YZ, Z —> w v thì X

YZW.

1.3.2. Hệ tiên đề Amstrong[7]
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 e U ta có hệ tiên đề Amstrong như sau:
1- Phản xạ: Nếu Y e X thì X —> Y
2- Tăng trưởng: Neu X —> Y thì x w -► YW
3- Bắc cầu: Nếu X -► Y, Y -► z thì X -► z


22

1.4. Bao đóng
1.4.1. Bao đóng của tập phụ thuộc hàm và tập thuộc tính
Định nghĩa 1.6[2],[3],[7]
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 đuợc suy diễn từ các phụ thuộc hàm
thuộc F. Vậy F+ = {f I F ụ f }•
Định nghĩa 1.7[2],[3],[7]
Cho luợc đồ quan hệ R xác định trên tập thuộc tính u , cho X c 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 đuợc suy diễn từ F. Ta có:
x + = {A I X —>■A e F+}.

Đôi khi ta kí hiệu Xp+để lấy bao đóng của X theo tập phụ thuộc hàm F.
Thuật toán 1.1: Tìm bao đóng của tập thuộc tính
Cho tập phụ thuộc hàm F trên tập thuộc tính
thuộc tính X trong

u.

u

và một tập con các

Đe xác định bao đóng x + của tập thuộc tính X ta xây

dựng dãy bao nhau x (0) c x (1) C ... C x (i) nhu sau
Xuất phát: Đặt x (0) = X,
Với i > 0, ta đặt x (l+1) = x (l) ỊJ
L —>ReF
L c X < f>

Nếu x (i+1) = x (i) thì dừng thuật toán và cho kết quả x + = x w
Algorithm Baodong
Format: Baodong(X,F)

u
- Tập con thuộc tính X của u

Input:

- Tập phụ thuộc hàm F trên


Output:
Method
Y:=X;

- Y = x + = {A I X ^ A e F+}.


23

Repeat
Z:=Y;
for each FD L—>R in F do
if L <= Y then
Y :=Y uR;
endif;
endfor;
until Y=Z;
return Y ;
end Baodong.
Thuật toán trên có độ phức tạp đa thức bậc hai theo chiều dài dữ liệu đầu vào
0 (m n 2), trong đó n là số lượng thuộc tính trong

u, m

là số lượng phụ thuộc

hàm trong tập F.
Tính chất của bao đóng:



X Cx+

• Nếu X c Y thì X+CY+
• x->x+
.

x ++ = x +



X+Y+ C (XY)+



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



X —> Y <=> Y ^ x +



X ^ Y và Y ^ X <=>x+ = Y+

Chứng minh:
1)

Lấy bất kỳ A E X cần chứng minh A E x +.
Ta có A E X <=>{A} c: X suy ra X —> A (luật phản xạ)=> A EX+.


2)

Lay A E x +, ta cần chứng minh A E Y+.


×