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

Luận văn ∝ phụ thuộc hàm 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.9 MB, 60 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

a - 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


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
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


11

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


Ill

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ín h ...................................................... 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ệ ừê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: a - PHỤ THUỘC HÀM TRONG MÔ HÌNH DỮ LIỆU
DẠNG KHỐI.................................................................................................39
3.1. a - 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 a .............................................................. 39


y

3.1.2. a - phụ thuộc hàm......................................................................... 41
3.2. Một số tính chất của a - phụ thuộc hàm ............................................... 43
3.3. Một số tính chất mở rộng của 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

h

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
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


V ll

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 u s.................................................... 6
Bảng 1.4: Bảng biểu diễn quan hệ r, s, r n 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, rx 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 -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ọckỳ2)..................................................... 24
Bảng 2.3: Biểu diễn họ gồm 2 quan hệ Ĩ 1 r2.................................................... 25
Bảng 3.1: Quan hệ gần nhau trên miền giá trị của A i........................................42



V lll

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 u s............................................................28
Hình 2.5: Biểu diễn các khối r, s, r n 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’ = Ilp(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. Đe 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 ừò quan trọng


2

ừong 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à a phụ thuộc hàm. Vì vậy, em lựa chọn đề tài nghiên cứu là: “a - 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 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 a - 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 a - phụ thuộc hàm trong mô hình dữ liệu dạng
khối.
Phạm vỉ 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 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 a - phụ thuộc hàm
ừê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 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ệ
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: a - 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ỉ a. Từ đó trình
bày định nghĩa 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 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 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(Aị) hay viết tắt là D aì
Ví du 1.1.
Đối tượng Họcsỉnh 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= {Ai, 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=l,2, ..., 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,
(j=l, 2, ..., m) là một hàm:

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


5

hj :ư —>

u

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

a


2

...

An

hi

h i(A i)

h i(A 2)

...

h i(A n)

h2

h 2(A j)

h 2(A 2)

...

h 2(A n)

...

...


...

...

hm(Ai)

hm(A 2)

...

hm(An)

hm

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

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, d3, ..., dm) G r, r xác định trên u, X c U thì
t(X) (hoặc t.X) được gọi là giá trị của tập thuộc tính X ừê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 Ư={Ai, A2, .., An) được viết là


6

R(U) hoặc R(Ai, 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 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 Es}
Ví du 1.3:
A

B


c

Xi

yi

Zl

x2

J2

z2

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


7

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

B

c

A


B

c

Xl

yi

Zl

Xl

yi

Zl

x2

yi

z2

x2

y2

z2

x2


y2

Zl

A

B

c

A

B

c

x2

yi

z2

x2

y2

z2

x2


y2

Zl

;

s

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 ừên tập thuộc tính {Als A2, A
xác định trên tập thuộc tính {Bi, B2,

n} 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, a n) Gr A (bi b2, b m ) Gs}


8

Ví dụ 1.6:
A

B


c

G

H

F

Xl

yi

Zl

Xl

yi

Zl

x2

yi

z2

x2

y2


z2

x2

y2

Zl

Xl

yi

z2

rx s
A

B

c

G

H

F

Xl


yi

Zl

Xl

yi

Zl

Xl

yi

Zl

x2

J2

z2

Xl

yi

Zl

Xl


J2

z2

x2

yi

z2

Xl

yi

Zl

x2

yi

z2

x2

y2

z2

x2


yi

z2

Xl

J2

z2

x2

J2

Zl

Xl

yi

Zl

x2

J2

Zl

x2


J2

z2

x2

J2

Zl

Xl

J2

z2

?

~

Bảng 1.6: Bảng biêu diên các quan hệ r, s, rx 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={Ai, 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à

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,(r) = < tx | ter} .

Phép chiếu thực chất là phép toán giữ lại một số thuộc tính cần thiết

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:

(A

B

c

D)

Xl

2

X

yi

7

y

6
4


Zl

7

z

7

Xl

8
2

X

5
6

yi

y

n B(r)(B)
2
7
8

nBD(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 ừong biểu thức F: A (và), V (hoặc),

(phủ định).

Cho r là một quan hệ và F là một biểu thức logic trên các thuộc tính của

r. Phép chọn ừê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ó: ôF(r) = {t I ter A F(t)}.
Ví du 1.8:
r

(A

B

c

D)

Xl

5

X

8

yi

7

y

6

Zl


7

z

7

Xl

9

X

5

yi

5

y

8

ôB,D(r)(A

B

c

D)


yi

7

y

6

Zl

7

z

7

Xl

9

X

5

1.2.7. Phép kết nối
Cho quan hệ r(U) và s(V). Đặt M=UnV. Phép kết nối (tự nhiên) hai
quan hệ r(ư) 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 I uEr, VÉS, U.M=V.M}
Nếu M= U nV =0, r*s sẽ cho ta tích Đe-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:
A

B

c

G

H

Xl

X

x2

x2

x3

y


y2

y2

y2

y3

Zl

X

z2

A

B

c

G

H

yi

X

x2


x2

x3

Zl

y

y2

y2

ys

x2

X

z2

y2

ys

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 ừên tập thuộc tính u và s là một
quan hệ m ngôi xác định ừên tập thuộc tính V, với VcU, 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


uw 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 H- s = {t IV V e s, (t, v) G r}
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


12

c

D

Xl

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


1.3. Phu
• 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 họ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 Q 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ỳ ti, t2 E R mà ti(X)
= t2(X) thì ti(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
An}, cho X, Y, Z,

u=

{Ai, A2, ...,


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ế
Neu 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 ếuX -> Y thìX Z -> 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
Neu X —>YZ thì X —>Y.
TC9: Tính lũy đẳng
NếuX -> YZ, Z -> W t h i 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 đề Amsừong của
các lớp phụ thuộc hàm.
- Tính phản xạ: Nếu Y Q X thì X —>■Y
- Tính mở rộng hai vế (tăng trưởng): Neu X —>Y thì xw —>YW
- Tính bắc càu: Neu 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 ti, t2t r(R) và ti(X) = t2(X), cần chứng minh ti(Y) = t2(Y).


14

Thật vậy, từ giả thiết ti(X) = t2(X) m à Y c X suy ra ti(Y) = t2(Y).
Vậy từ t!(X) = t2(X) => ti(Y) = t2(Y).
2. Với mọi ti, t2t r(R) và ti(XW) = t2(XW), cần chứng minh ti(YW)= t2(YW)
Phản chứng: Giả sử ti(YW) Ỷ t2(YW).
ti(X)= t2(X)

Theo giả thiết có ti(XW) = t2(XW)


ti(W)= t2(W)
Nên để có ti(YW) Ỷ t2(YW) thì ti(Y) + t2(Y).
Nhưng cũng theo giả thiết ta lại có X —> Y nên ti(X) = t2(X) =>
ti(Y) = t2(Y) (mâu thuẫn) =» t,(YW)= t2(YW).
Vậy từ ti(XW) = t2(XW) => ti(YW)= t2(YW).
3. Với mọi ti, t2Ẽ r(R) và ti(X) = t2(X), cần chứng minh ti(Z) = t2(Z)
Phản chứng: Giả sử ti(Z) Ỷ t2(Z).
Theo giả thiết X —►Y nên ti(X) = t2(X) => ti(Y) = t2(Y).
Mặt khác, cũng theo giả thiết có Y —>z nên ti(Y) = t2(Y) => ti(Z) = t2(Z)
(mâu thuẫn).
Vậy từ U(X) = t2(X) => t!(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ộ ti, t2 như sau:
r

A

B

F

G

H


M

ti

1

1

1

1

1

1

h

1

1

1

0

0

0



15

Trong đó, các thuộc tính trong ti đề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ị

1cò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

e F không thỏa trên r. Như vậy,

w

ÇI

x+,

vì nếu không sẽ vi phạm tính bằng nhau của w trên hai bộ ti và t2. Hon nữa,
V không thể là tập con của

x+, bởi vì nếu V

Ç

trên r. Vậy phải có ít nhất một thuộc tính A


x+thì w —» V sẽ thỏa mãn
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

E

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 ừê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

ÇZx+và Y ç x+, vì

nếu không sẽ vi phạm sự bằng nhau trên các bộ ti, t2 của X và Y. Nhưng nếu


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 Ư. Khi đó với các tập thuộc tính X, Y,
Z, w ç uta có các hệ tiên đề tưong đương với hệ tiên đề Amstrong như sau:

Hê tiên đề B°
Nếu X -> YZ thì X -> Y
Nếu X -►YZ và Z -> AW thì X -►YZW
Hệ tiên đề s°
Nếu Y ÕX thì X —>Y
Nếu X

Y và YZ

V thì x z

V


16

Hê tiên đề D°

z thì X -> z
Nếu X —►Y và z —►w thì xz —>YW
Nếu X -> Y và Y ->

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 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 I F ụ f }.
Định nghĩa 1.7

Rxác định trên tập thuộc tính u, cho XcƯ, 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à
Cho lược đồ quan hệ

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 - > Ae ¥+}.
Đô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
thuộc tính X trong Ư. Để xác định bao đóng
dựng dãy bao nhau x(0)c

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

x+của tập thuộc tính X ta xây

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) u
LLcX (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



×