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

∝ phụ thuộc hàm trong mô hình dữ liệu dạng khối (LV01845)

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.26 MB, 61 trang )

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

PHẠM THANH CHUNG

α – PHỤ THUỘC HÀM 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, 2016


i

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
các thầy cô giáo 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.
Xin chân thành cảm ơn các thầy giáo, cô giáo đã trực tiếp giảng dạy và
mang đến cho tôi niềm say mê nghiên cứu khoa học.
Tôi xin gửi lời biết ơn chân thành tới, bạn bè, gia đình đã luôn tạo điều
kiện, ủng hộ về mọi mặt để tôi hoàn thành 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.
Hà Nội, ngày 10 tháng 7 năm 2016


Học viên

Phạm Thanh Chung


ii

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

Phạm Thanh Chung


iii

MỤC LỤC
LỜI CẢM ƠN .................................................................................................... i
LỜI CAM ĐOAN ............................................................................................. ii
DANH MỤC KÝ HIỆU VÀ CHỮ CÁI VIẾT TẮT ....................................... vi
DANH MỤC CÁC BẢNG.............................................................................. vii
DANH MỤC CÁC HÌNH .............................................................................. viii
MỞ ĐẦU .......................................................................................................... 1
CHƢƠNG 1: MÔ HÌNH DỮ LIỆU QUAN HỆ ........................................... 4
1.1. Mô hình dữ liệu quan hệ .......................................................................... 4
1.1.1. Thuộc tính và miền thuộc tính ....................................................... 4
1.1.2. Quan hệ, lược đồ quan hệ............................................................... 4

1.2. Các phép toán đại số quan hệ .................................................................. 6
1.2.1. Phép hợp ......................................................................................... 6
1.2.2. Phép giao ........................................................................................ 6
1.2.3. Phép trừ .......................................................................................... 7
1.2.4. Tích Đề-các .................................................................................... 7
1.2.5. Phép chiếu ...................................................................................... 8
1.2.6. Phép chọn ....................................................................................... 9
1.2.7. Phép kết nối .................................................................................. 10
1.2.8. Phép chia ...................................................................................... 11
1.3. Phụ thuộc hàm ....................................................................................... 12
1.3.1. Khái niệm phụ thuộc hàm ............................................................ 12
1.3.2. Định nghĩa phụ thuộc hàm ........................................................... 12
1.3.3. Các tính chất của phụ thuộc hàm ................................................. 12
1.3.4. Hệ tiên đề Amstrong .................................................................... 13
1.3.5. Các hệ tiên đề khác cho phụ thuộc hàm. ...................................... 15


iv

1.4. Bao đ ng ................................................................................................ 16
1.4.1. Bao đ ng của tập phụ thuộc hàm và tập thuộc tính ..................... 16
1.4.2. Bài toán thành viên ....................................................................... 20
CHƢƠNG 2: MÔ HÌNH DỮ LIỆU DẠNG KHỐI .................................... 22
2.1. Khối, lược đồ khối và lát cắt.................................................................. 22
2.1.1. Khối, lược đồ khối........................................................................ 22
2.1.2. Lát cắt ........................................................................................... 24
2.2. Các ph p tính trên khối .......................................................................... 26
2.2.1. Phép chèn ..................................................................................... 26
2.2.2. Ph p loại bỏ .................................................................................. 27
2.2.3. Ph p sửa đổi ................................................................................. 27

2.3. Đại số quan hệ trên khối ........................................................................ 27
2.3.1. Ph p hợp ....................................................................................... 28
2.3.2. Phép giao ...................................................................................... 29
2.3.3. Ph p trừ ........................................................................................ 29
2.3.4. Tích Đề các................................................................................... 30
2.3.5. Tích Đề các theo tập chỉ số .......................................................... 30
2.3.6. Ph p chiếu .................................................................................... 31
2.3.7. Ph p chọn ..................................................................................... 32
2.3.8. Ph p kết nối .................................................................................. 32
2.3.9. Phép chia ...................................................................................... 33
2.4. Phụ thuộc hàm ....................................................................................... 34
2.5. Bao đ ng của tập thuộc tính chỉ số ........................................................ 36
CHƢƠNG 3: α - PHỤ THUỘC HÀM TRONG MÔ HÌNH DỮ LIỆU
DẠNG KHỐI ................................................................................................. 39
3.1. α - phụ thuộc hàm trong mô hình dữ liệu dạng khối ............................. 39
3.1.1. Khái niệm xấp xỉ mức α ............................................................... 39


v

3.1.2. α - phụ thuộc hàm ......................................................................... 41
3.2. Một số tính chất của α - phụ thuộc hàm ................................................ 43
3.3. Một số tính chất mở rộng của α - phụ thuộc hàm trong mô hình dữ
liệu dạng khối .................................................................................................. 48
KẾT LUẬN .................................................................................................... 51
TÀI LIỆU THAM KHẢO ............................................................................ 52


vi


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



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



Suy dẫn theo quan hệ



Khác




Với mọi



Phép giao



Phép hợp

\

Phép trừ



Tập con



Nằm trong



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



Rỗng



Tồn tại


vii

DANH MỤC CÁC BẢNG

Bảng 1.1: Biểu diễn quan hệ r. .......................................................................... 5
Bảng 1.2: Biểu diễn ví dụ học sinh. .................................................................. 5
Bảng 1.3: Bảng biểu diễn quan hệ r, s, r  s. ................................................... 6

Bảng 1.4: Bảng biểu diễn quan hệ r, s, r  s. ................................................... 7
Bảng 1.5: Bảng biểu diễn quan hệ r, s, r \ s, s \ r. ............................................. 7
Bảng 1.6: Bảng biểu diễn các quan hệ r, s, r× s. ............................................... 8
Bảng 1.7: Bảng biểu diễn các quan hệ r, s, r*s. .............................................. 11
Bảng 1.8: Bảng biểu diễn các quan hệ r, s, r ÷ s. ............................................ 12
Bảng 2.1: Bảng biểu diễn khối điểm học viên DiemHV R‟ ……………… 24
Bảng 2.2: Bảng biểu diễn lát cắt r(RHọc kỳ 2). ................................................... 24
Bảng 2.3: Biểu diễn họ gồm 2 quan hệ r1, r2. .................................................. 25
Bảng 3.1: Quan hệ gần nhau trên miền giá trị của A1 ...........................................42


viii

DANH MỤC CÁC HÌNH
Hình 2.1: Biểu diễn khối điểm sinh viên DiemSV(R) .................................... 23
Hình 2.2: Biểu diễn các khối r(R), s(R), t(R).................................................. 26
Hình 2.3: Biểu diễn 2 khối r, s. ....................................................................... 28
Hình 2.4: Biểu diễn các khối r, s, r  s. .......................................................... 28
Hình 2.5: Biểu diễn các khối r, s, r  s. .......................................................... 29
Hình 2. 6: Biểu diễn các khối r, s, r \ s. ........................................................... 30
Hình 2.7: Biểu diễn các khối r, r‟ = P(r). ...................................................... 32
Hình 3.1: Biểu diễn khối sinh viên 3 .............................................................. 42


1

MỞ ĐẦU
1. Lý do chọn đề tài
Trong thời đại ngày nay, 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 nhiều quy mô khác nhau. Cơ sở dữ liệu là một trong những lĩnh vực
đ ng vai trò nền tảng trong sự phát triển của công nghệ thông tin. Để c thể
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 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 tất cả các mô hình thì mô hình quan hệ được quan tâm hơn cả
vì n được xây dựng trên một 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. Mô hình
này do E. Codd đề xuất ra năm 1970. Do các quan hệ c cấu trúc phẳng
tuyến tính nên mô hình này chưa đủ đáp ứng đối với các ứng dụng phức tạp,
các dữ liệu c cấu trúc phi tuyến,…
Trong những năm gần đây, việc nghiên cứu nhằm mở rộng mô hình dữ
liệu quan hệ đã được nhiều nhà khoa học quan tâm. Theo hướng nghiên cứu
này đã c một số hướng mở rộng mô hình quan hệ được đề xuất nghiên cứu
như: mô hình dữ liệu đa chiều, khối dữ liệu, kho dữ liệu, mô hình dữ liệu
dạng khối, … Trong mô hình dữ liệu dạng khối, các khối là khái niệm cơ bản
được mở rộng từ các quan hệ trong mô hình quan hệ, các khối này c thể biểu
diễn các dữ liệu c tính chất động biểu diễn các dữ liệu c thuộc tính thay đổi
theo thời gian .
Tuy nhiên, trong quá trình nghiên cứu về mô hình dữ liệu khối thì việc
xây dựng và phân tích mối quan hệ phụ thuộc dữ liệu đ ng vai trò quan trọng


2

trong việc thiết kế và xây dựng cơ sở dữ liệu. Từ đ , trong luận văn này
nghiên cứu các dạng phụ thuộc hàm của mô hình dữ liệu khối, đặc biệt là α phụ thuộc hàm. Vì vậy, em lựa chọn đề tài nghiên cứu là: “α - phụ thuộc hàm
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
Tìm hiểu khái quát về các phụ thuộc trên lược đồ khối sau đ đi sâu và
nghiên cứu một số tính chất của α - phụ thuộc hàm trên lược đồ khối và lược
đồ lát cắt.
3. Nhiệm vụ nghiên cứu
Tìm hiểu về mô hình cơ sở dữ liệu quan hệ
Tìm hiểu về mô hình dữ liệu dạng khối.
Tìm hiểu về lý thuyết α - phụ thuộc hàm 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 nghiên cứu
Một số tính chất của α - phụ thuộc hàm trong mô hình dữ liệu dạng
khối.
Phạm vi nghiên cứu
Nghiên cứu lý thuyết, phát biểu và chứng một số tính chất mới của α phụ thuộc hàm trong mô hình dữ liệu dạng khối.
5. Phƣơng pháp nghiên cứu
Phương pháp tổng hợp phân tích các vấn đề c liên quan đến đề tài.
Phương pháp lý luận và chứng minh
6. Những đóng góp của đề tài
Phát biểu và chứng minh một số tính chất mới của α - phụ thuộc hàm
trên lược đồ khối và lược đồ lát cắt.


3

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ệ

Trong 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ệ. Làm rõ các ph p toán đại số quan hệ, các khái niệm
về phụ thuộc hàm, bao đ ng. Ngoài ra các thuật toán tìm bao đ ng của tập
thuộc tính, bài toán thành viên, cũng được trình bày.
Chƣơng 2: Mô hình dữ liệu dạng khối
Chương này luận văn đã trình bày các khái niệm cơ bản trong mô hình
cơ sở dữ liệu dạng khối như: Khái niệm về khối, lược đồ khối, lát cát, phụ
thuộc hàm, các dạng chuẩn của khối. Ngoài ra, chương này còn trình bày các
ph p toán cơ bản trên khối, các khái niệm về phụ thuộc hàm, thuật toán bao
đ ng của tập thuộc tính chỉ số.
Chƣơng 3: α – phụ thuộc hàm trong mô hình dữ liệu dạng khối
Chương này luận văn đã trình bày khái niệm mức xấp xỉ α. Từ đ trình
bày định nghĩa α – phụ thuộc hàm. Đồng thời phát biểu và chứng minh một số
tính chất đã có của α – phụ thuộc hàm. Cuối cùng phát biểu và chứng minh
một số tính chất mở rộng của α – phụ thuộc hàm trong mô hình dữ liệu dạng
khối.


4

CHƢƠNG 1: MÔ HÌNH DỮ LIỆU QUAN HỆ
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ệ 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ệ đã được n i tới trong tài
liệu [2,4,5].
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
- 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 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 } ={„MC‟, „QN‟, „YB‟, …}.
1.1.2. Quan hệ, lƣợc đồ quan hệ
Định nghĩa 1.2
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 ) viết tắt là DAi.
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:


5

hj :U →
Ai U

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

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

h1(A1)

h1(A2)



h1(An)

h2

h2(A1)

h2(A2)



h2(An)












hm

hm(A1)

hm(A2)



hm(An)

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

MaHS

HOTEN

NS

DC


LOP

HS01

A

24/02/93

QN

A1

HS02

A

11/05/93

MC

A2

HS03

B

15/03/93

YB


B1

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, A1 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
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à


6

R U hoặc R A1, A2, .., 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
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  s, là tập tất cả các
bộ thuộc r hoặc thuộc s. Ta c : r  s = {t│ t ∈ r ∨t ∈s}
Ví dụ 1.3:
r

rs

A

B

C

x1

y1

x2

;

s

A

B

C

z1


x1

y1

z1

y1

z2

x2

y2

z2

x2

y2

z1

A

B

C

x1


y1

z1

x2

y1

z2

x2

y2

z1

x2

y2

z2

Bảng 1.3: Bảng biểu diễn quan hệ r, s, r  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}


7


Ví dụ 1.4:
r

r s

A

B

C

x1

y1

x2

;

s

A

B

C

z1


x1

y1

z1

y1

z2

x2

y2

z2

x2

y2

z1

A

B

C

x1


y1

z1

Bảng 1.4: Bảng biểu diễn quan hệ r, s, r  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 ∈ r ∧ t ∉ s}
Ví dụ 1.5 :
r

r\s=

A

B

C

x1

y1

x2

;

s

A


B

C

z1

x1

y1

z1

y1

z2

x2

y2

z2

x2

y2

z1

A


B

C

A

B

C

x2

y1

z2

x2

y2

z2

x2

y2

z1

s\r=


Bảng 1.5: Bảng biểu diễn quan hệ r, s, r \ s, s \ r.
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 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 × s = {t=(a1, a2, .., an, b1, b2, .., bm)│(a1, a2, .., an) ∈r

 (b1 b2, .., bm) ∈s}


8

Ví dụ 1.6:
r

A

B

C

x1

y1

x2
x2


;

s

G

H

F

z1

x1

y1

z1

y1

z2

x2

y2

z2

y2


z1

x1

y2

z2

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.6: Bảng biểu diễn các quan hệ r, s, 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.


9

Ví dụ 1.7:
r

(A

B

C


D)

x1

2

x

6

y1

7

y

4

z1

7

z

7

x1

8


x

5

y1

2

y

6

B (r)(B)

2
7
8
 BD (r)(B

D)

2

6

7

4


7

7

8

5

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ộ đ .


10

- 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 : F(r) = {t│ t∈r

 F(t)}.

Ví dụ 1.8:
r

(A

B

C

D)

x1

5

x

8

y1

7

y

6


z1

7

z

7

x1

9

x

5

y1

5

y

8

BD (r) (A

B

C


D)

y1

7

y

6

z1

7

z

7

x1

9

x

5

1.2.7. Phép kết nối
Cho 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.


11

Ví dụ 1. 9:
r

r*s

A

B

C

x1

x

y

;

s


G

H

x2

x2

x3

y2

y2

y2

y3

z1

x

z2

A

B

C


G

H

y1

x

x2

x2

x3

z1

y

y2

y2

y3

x2

x

z2


y2

y3

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 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 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.
Ta có: r † s = {t│ v ∈ s, (t, v) ∈ r}
Ví dụ 1.10:
r

A

B

C

D

x1

1

x1

y1


2

z1

;

s

A

B

2

x1

1

x1

2

y1

2

3

x1


2

z1

3

x1

1

x1

4

y1

2

y1

4

z1

3

z1

5



12

r÷s

C

D

x1

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

1.3. Phụ thuộc hàm
1.3.1. Khái niệm 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.
1.3.2. Định nghĩa phụ thuộc hàm
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 1, t2 ∈ R mà t1(X)
= t2(X) thì t1(Y) = t2(Y).
1.3.3. 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:
TC1: Tính phản xạ
Nếu Y ⊆ X thì X → Y.


13

TC2: Tính mở rộng hai vế
Nếu X → Y thì XW → YW.
TC3: Tính chất bắc cầu
Nếu X → Y, Y → Z thì X → Z.
TC4: Tính tựa bắc cầu
Nếu X → Y, YZ → W thì XZ → W.
TC5: Tính cộng đầy đủ
Nếu X → Y, Z → W thì XZ →YW.
TC6: Tính mở rộng vế phải
Nếu X → Y thì XZ→Y.
TC7: Tính cộng ở vế phải
Nếu X → Y, X → Z thì X → YZ.
TC8: Tính bộ phận ở vế phải
Nếu X → YZ thì X → Y.
TC9: Tính lũy đẳng
Nếu X → YZ, Z → W thì X → YZW.
1.3.4. Hệ tiên đề Amstrong
Các tính chất 1, 2, 3 của phụ thuộc hàm gọi là hệ tiên đề Amstrong của

các lớp phụ thuộc hàm.
- Tính phản xạ: Nếu Y ⊆ X thì X → Y
- Tính mở rộng hai vế tăng trưởng : Nếu X → Y thì XW → YW
- Tính 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).


14

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ả thiết ta lại c

X → Y nên t1(X) = t2(X) ⇒

t1(Y) = t2(Y) (mâu thuẫn) ⇒ t1(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


15

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,

 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ạ
V không thể là tập con của X+, bởi vì nếu V

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ộ t 1, 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.5. 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 ⊆ U ta c các hệ tiên đề tương đương với hệ tiên đề Amstrong như sau:
Hệ tiên đề B0
Nếu X → YZ thì X → Y
Nếu X → YZ và Z → AW thì X → YZW
Hệ tiên đề S0
Nếu Y ⊆X thì X → Y
Nếu X → Y và YZ → V thì XZ → V


16

Hệ tiên đề D0
Nếu X → Y và Y → Z thì X → Z
Nếu X → Y và Z → W thì XZ → YW
Hệ tiên đề M0
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 và tập thuộc tính

Định nghĩa 1.6
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 }.
Định nghĩa 1.7
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+ để 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. Để 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)  X(1)  …  X(i) như sau
Xuất phát: Đặt X(0) = X,
Với i > 0, ta đặt X(i+1) = X(i)

n

R
L RF
L  X( i )

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


×