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 (1.1 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
DANG
KHÓI



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

HẢ N ộ ĩ, 2015


B ộ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠĨ 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 T hắng



HẢ N ộ ĩ, 2015


1

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ô 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
Hoc 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
CHƯƠNG 1: MÔ HÌNH DỮ LIỆU QUAN HỆ VÀ CÁC DẠNG PHỦ ......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ệ, lượ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ủ tương đương....................................................................................27
1.5.2. Phủ không d ư ..........................................................................................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ốivà 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 tiể 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 ế ữái

LR

v ế phải

1=


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

|-

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ừ

Q

Tập con


2

Nằm trong

e

Thuộc



Không thuộc

x+

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, r -r 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 , i 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 chươ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ó 1thuộc tính
Hình 3.6. Danh sách tập phụ thuộc hàm loại bỏ dư 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. Kết quả tìm phủ tối thiểu của lát cắt thứ nh ất.....................
Hình 3.9. Kết quả tìm phủ tối thiểu của lát cắt thứ hai........................
Hình 3.10. Kết 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 ột 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 lượ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ủ.
- Đưa 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 lược đồ khối và lược đồ lát cắt.
3. Nhiệm vụ nghiên cứu
Để đạt đượ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 chươ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 chươ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 đượ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 được các
kết quả tốt. Mô hình dữ liệu quan hệ và các dạng phủ sẽ được trình bày trong
phần dưới đây.
Để 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 được trình bày ở chương 1 đã đượ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 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à D aì
Ví dụ 1.1.
Đối tượng Họcsinh có các thuộc tính như: MaHS, Hoten, NgSinh, Đchi,...
Miền giá trị của các thuộc tính của đối tượ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 \ ‘Q N \ ‘Y B \ ...}.
1.1.2. Quan hệ, lược đồ quan hệ
Định nghĩa 1.2[5]
Cho u = {Ai, Ả 2 ,
Mỗi thuộc tính Aj (i=l,2,

An} là một tập hữu hạn không rỗng các thuộc tính.
n) có miền giá trị là Dom( Ai ) viết tắt là Daì-

Khi đó r là một tập các bộ {hi, h 2 ,

(j= l, 2,

m) là một hàm:

hm} được gọi là quan hệ trên u với hj


13

hj :U —> U

sao cho hj (Aị) e D Aj (i=l, 2, ...,n)

AịSU

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:

Ai

a2

hi

hi(Ai)

hi(A2)

h2


h2(A 0

h2(A2)

...

...

hm(Ai)

hm(A2)

hm

...
...
...
...
...

A„
hi(An)
h2(An)

...
hm(An)

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


Học sinh

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, d2 , (Ỉ3 ,

dm) £ r, r xác định trên u, X

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.

C Ư

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 được gọi là lược đồ quan hệ.
Lược đồ quan hệ R với tập thuộc tính U={Ai, A 2 ,
R(U) hoặc R(Ai, A2,

An} đượ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 đượ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ó: r u s = {t I t e r vt Gs}
Ví du 1 .3 :
A

B

c

A

B


c

Xl

yi

Zl

Xl

yi

Zl

X2

yi

Z2

X2

Ỵ2

Z2

X2

y2


Zl

A

B

c

Xl

yi

Zl

x2

yi

Z2

x2

y2

Zl

x2

y2


Z2

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 e r A t Gs}
Ví dụ 1.4:

ru s

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 nhưng không thuộc s. Ta có: r \ s = { t | t e r A t Ể s }
Ví dụ 1.5 :

A

B

c

A

B

c

Xl

yi


Zl

Xl

yi

Zl

X2

yi

Z2

X2

Ỵ2

Z2

X2

Ỵ2

Zl

r\s = A

B


c

s\r = A

B

c

X2

yi

Z2

x2

y2

Z2

x2

y2

Zl

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 ,
s kí hiệu là r

X

An} và quan hệ s

Bm}. Tích Đe-các của hai quan hệ r và

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 „ , bi, b2, b m ) I (ai, a2, a „ ) Gr A (bi b2, b m) Gs}
Ví du 1.6:
A

B

c

G

H

F

Xl


yi

Zl

Xl

yi

Zl

x2

yi

Z2

X2

Ỵ2

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.


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à n 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ó:

n x(r)= {t.x | 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

nBD(r)(®

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

B

c

D)

Xl

5

X

8

yi

7

y

6

Zl

7


z

7

Xl

9

X

5

yi

5

y

8

(A

SB,D(r) (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ộ được dán từ các
bộ u củ a quan hệ

R

v ớ i m ỗ i b ộ V củ a quan hệ

s

(s a o c h o c á c trị trên m iề n

thuộc tính chung M của hai bộ này giống nhau).
P(UV)= r*s= {u*v I uGr, vGs, U.M=V.M}
Nếu M= U n V = 0 , 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. 9:

r*s

A

B

c

Xl

X

y


G

H

x2

x2

x3

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


Ỵ2

y3

;

s

Bảng .7: Bảng biêu diên
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 VczU, n>m và s * 0 , 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
bộ V e s thì khi ghép bộ t với bộ V ta được một bộ thuộc r.

Ta có: r + s = {t I V V e s, (t, v) e r}

saocho với mọi


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, r 4- 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
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.


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
rằng X xác định hàm Y hay Y phụ thuộc hàm vào X
với mọi quan

và kí hiệu X —►Y nếu

hệ r xác định trên R và với hai bộ bấtkỳ ti, Í2 £R 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 = {Al, A 2 ,
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. Neu X —> Y, Y —> z thì X —>• z.
4. Neu 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. Nếu 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 ç U ta có hệ tiên đề Amstrong như sau:
1- Phản xạ: Nếu Y ç 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 được suy diễn từ các phụ thuộc hàm
thuộc F. Vậy F+ = {f I F 1=f }.
Định nghĩa 1.7[2],[3],[7]
Cho lượ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 được suy diễn từ F. Ta có:
X+ = {A | 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 u và một tập con các
thuộc tính X trong u . Đ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) như sau

Xuất phát: Đặt x (0) = X,
V ới i > 0, ta đặt x (i+1) = x (i) ( j
L—>RẹF
LcX<’>

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

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

Output:
Method
Y:=X;

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

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


23

Repeat
Z:=Y;
for each FD L—»R in F do
i f L e 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 n2), 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 c x +


Nếu X c Y thì x +c Y+



X -> x +

• x ++ = x +


X+Y+c (XY)+



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

• X -> Y o Y C 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 }£ X suy ra X —> A (luật phản xạ)=> A e x +.

2)

Lấy A E x +, ta cần chứng minh A e Y+.


×