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

Một số phụ thuộc dữ liệu trong cơ sở 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.12 MB, 92 trang )

BỘ GIÁO DỤC VÀ ĐÀO TẠO VIỆN KHOA HỌC
VÀ CÔNG NGHỆ VIỆT NAM

VIỆN CÔNG NGHỆ THÔNG TIN




TRỊNH ĐÌNH VINH



MỘT SỐ PHỤ THUỘC DỮ LIỆU
TRONG CƠ SỞ DỮ LIỆU DẠNG KHỐI







LUẬN ÁN TIẾN SĨ TOÁN HỌC






HÀ NỘI - 2011








1


BỘ GIÁO DỤC VÀ ĐÀO TẠO VIỆN KHOA HỌC
VÀ CÔNG NGHỆ VIỆT NAM

VIỆN CÔNG NGHỆ THÔNG TIN



TRỊNH ĐÌNH VINH


MỘT SỐ PHỤ THUỘC DỮ LIỆU
TRONG CƠ SỞ DỮ LIỆU DẠNG KHỐI


Chuyên ngành: BẢO ĐẢM TOÁN HỌC CHO MÁY TÍNH
VÀ HỆ THỐNG TÍNH TOÁN
Mã số: 62.46.35.01



LUẬN ÁN TIẾN SĨ TOÁN HỌC


NGƯỜI HƯỚNG DẪN KHOA HỌC:
1. GS.TS. Vũ Đức Thi
2. PGS.TS. Nguyễn Kim Anh



NỘI – 2011





2

Lời cảm ơn

để hoàn thành luận án này, tôi đã nhận đợc sự giúp đỡ rất tận tình của
các thầy cô hớng dẫn khoa học, các thầy cô trong Viện CNTT và trờng
ĐHSP Hà Nội 2. Tôi xin cảm ơn các thầy cô trong Viện CNTT và trờng
ĐHSP Hà Nội 2 đã tạo điều kiện học tập, nghiên cứu, giúp đỡ tôi rất nhiều
trong quá trình làm luận án. Đặc biệt tôi xin cảm ơn thầy GS. TS. Vũ Đức Thi,
cô PGS.TS. Nguyễn Kim Anh đã tận tình hớng dẫn, chỉ bảo cho tôi trong
toàn bộ 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 án
này.

Trịnh Đình Vinh




























3


Lời cam đoan

Tôi xin cam đoan đây là công trình nghiên cứu của tôi dới sự hớng
dẫn khoa học của các thầy cô GS.TS. Vũ Đức Thi và PGS. TS. Nguyễn Kim

Anh.
Các số liệu, kết quả nêu trong luận án là trung thực và cha từng đợc
ai công bố trong bất kì công trình nào khác.

Tác giả luận án




Trịnh Đình Vinh





















4

mục lục

Trang
Danh mục các ký hiệu và chữ viết tắt 7
Danh mục bảng biểu và hình vẽ .8
Lời mở đầu 9
Chơng 1:
Mô hình cơ sở dữ liệu quan hệ 13
1.1. Các khái niệm cơ bản 13
1.1.1. Thuộc tính và miền thuộc tính 13
1.1.2. Quan hệ, lợc đồ quan hệ 13
1.1.3. Khoá của quan hệ 14
1.2. Các phép toán đại số quan hệ 15
1.2.1. Phép hợp .15
1.2.2. Phép giao .15
1.2.3. Phép trừ 16
1.2.4. Tích đề các 16
1.2.5. Phép chiếu 17
1.2.6. Phép chọn 17
1.2.7. Phép kết nối 18
1.2.8. Phép chia 20
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 đề Armstrong và phép suy dẫn .21
1.4. Bao đóng 22
1.4.1. Bao đóng của tập phụ thuộc hàm 22
1.4.2. Bao đóng của tập thuộc tính 22
1.4.3. Bài toán thành viên và thuật toán tìm








5

bao đóng của tập thuộc tính 22
1.5. Khóa của lợc đồ quan hệ 24
1.6. Phủ của tập phụ thuộc hàm 26
1.7. Phủ tối thiểu của tập phụ thuộc hàm 26
1.7.1. Phụ thuộc hàm có vế trái d thừa 26
1.7.2. Tập phụ thuộc hàm có vế phải gồm 1 thuộc tính .27
1.7.3. Tập phụ thuộc hàm không d thừa .27
1.7.4. Tập phụ thuộc hàm tối thiểu 28
(Phủ tối thiểu của tập phụ thuộc hàm)
1.8. Các dạng chuẩn của lợc đồ quan hệ 28
1.9. Phụ thuộc đa trị 30
1.9.1. Định nghĩa phụ thuộc đa trị 30
1.9.2. Các tính chất của phụ thuộc đa trị 31
1.10. Kết luận chơng 1 32


Chơng 2 : Mô hình cơ sở dữ liệu dạng khối 33
2.1. Khối, lợc đồ khối 33
2.2. Lát cắt 34
2.3. Khoá của khối .35
2.4. Đại số quan hệ trên khối 37

2.4.1. Phép hợp 37
2.4.2. Phép giao .37
2.4.3. Phép trừ 37
2.4.4. Tích Đề Các 38
2.4.5. Tích Đề Các theo tập chỉ số .38
2.4.6. Phép chiếu 38
2.4.7. Phép chọn 39
2.4.8. Phép kết nối .39







6

2.4.9. Phép chia .40
2.5. Phụ thuộc hàm 41
2.6. Bao đóng của tập thuộc tính chỉ số 43
2.7. Khoá của lợc đồ khối R đối với
tập các phụ thuộc hàm F trên R 45
2. 8. Dạng chuẩn của khối 46
2.9. Phủ của tập phụ thuộc hàm 48
2.10. Kết luận chơng 2 50

Chơng 3: phụ thuộc đa trị, phụ thuộc đa trị xấp xỉ và
-phụ thuộc hàm trong mô hình dữ liệu dạng khối 51
3.1. Phụ thuộc đa trị trong mô hình dữ liệu dạng khối .51
3.2. Các tính chất của Phụ thuộc đa trị .53

3.3. Phụ thuộc đa trị xấp xỉ trong mô hình dữ liệu dạng khối 61
3.4. Các tính chất của phụ thuộc đa trị xấp xỉ 63
3.5. -Phụ thuộc hàm và -bao đóng trong mô hình
dữ liệu dạng khối .71
3.5.1. Khái niệm xấp xỉ mức .71
3.5.2. -phụ thuộc hàm và -bao đóng 73
3.6. Kết luận chơng 3 .84

Phần kết luận 85
Danh mục công trình công bố của tác giả 87
Danh mục tài liệu tham khảo 88











7


danh mục các ký hiệu và các chữ viết tắt
Trong luận án này dùng thống nhất các kí hiệu và các chữ viết tắt sau:

Kí hiệu ý nghĩa
A, B, C thuộc tính.

X, Y, Z tập thuộc tính.
XY XY (hợp của 2 tập thuộc tính X và Y).
ABC [A, B, C] (tập thuộc tính gồm 3 phần tử A, B, C).
Dom(A) miền giá trị của thuộc tính A.
r hoặc r(R) khối r trên tập R.

x
(i)
= (x, A
i
) các thuộc tính chỉ số của lợc đồ khối (x

id, i= 1 n).
id
(i)
= {x
(i)
xid } tập các thuộc tính chỉ số của lợc đồ khối.
r số phần tử của khối r.

r' số phần tử của khối con r của khối r.


















8


danh mục các bảng biểu và các hình vẽ

Bảng biểu ý nghĩa
Bảng 1.1 Biểu diễn quan hệ r 13
Bảng 1.2 Biểu diễn các quan hệ r, s và r x s16
Bảng 3.1 Quan hệ gần nhau trên miền giá trị của A
1
74

Hình vẽ ý nghĩa
Hình 2.1 Biểu diễn khối nhân viên (NV(R)) 34
Hình 2.2 Biểu diễn khối Canbo 41
Hình 3.1 Biểu diễn khối Sinhviên1 52
Hình 3.2 Biểu diễn khối Sinhviên2 62
Hình 3.3 Biểu diễn khối Sinhviên3 74

















9

Mở đầu

Để 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. Mỗi mô hình dữ liệu là một hệ hình thức
toán học gồm có hai phần:
1. Một hệ thống kí hiệu để mô tả dữ liệu.
2. Một tập hợp các phép toán thao tác trên dữ liệu đó.
Từ trớc đến nay đã có một số loại mô hình đợc sử dụng trong các hệ
thống cơ sở dữ liệu nh: mô hình thực thể - liên kết, mô hình mạng, mô hình
phân cấp, mô hình hớng đối tợng, mô hình dữ liệu datalog và mô hình quan
hệ. Trong số các mô hình này thì mô hình quan hệ là một trong những mô
hình đợc nhiều nhà khoa học quan tâm nghiên cứu, khai thác ứng dụng vì nó
đợc xây dựng trên một cơ sở toán học chặt chẽ [8], [15], [16], [20], [23],
[25]. Tuy nhiên, do các quan hệ có cấu trúc phẳng (tuyến tính) nên mô hình
này sẽ rất khó khăn khi biểu diễn các dữ liệu có tính chất động (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

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 [2], [19], [26], [31]; khối dữ liệu [17], [27], [28], [33];
kho dữ liệu [22], [29], [32]; mô hình dữ liệu dạng khối [3], [4], [5], [6], [13],
Trong đó chúng tôi thấy ở 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).
Ví dụ: khi chúng ta dùng các quan hệ trong mô hình quan hệ để tạo cơ
sở dữ liệu trong chơng trình quản lý lơng của các cán bộ trong một cơ quan
thì mỗi khi cập nhật lơng mới cho cán bộ đợc tăng lơng nó sẽ làm mất dữ
liệu lơng cũ trớc đó. Do đó, khi đến kỳ hạn xét tăng lơng cho các cán bộ







10

thì việc tìm kiếm các cán bộ đến kỳ hạn tăng lơng cũng gặp không ít khó
khăn (bởi vì sẽ phải tìm kiếm các cán bộ đã đợc tăng lơng trong thời gian 2
hoặc 3 năm trớc tuỳ theo cán bộ đó ở ngạch lơng nào). Tuy nhiên, nếu quản
lý lơng bằng khối trong mô hình khối thì nhờ việc sử dụng trục id (cột chỉ số)
làm trục thời gian để lu trữ dữ liệu lơng theo từng thời điểm thì chúng ta sẽ
dễ dàng đa ra các cán bộ đến kỳ hạn tăng lơng trong cơ quan đó.
Một ví dụ khác nữa là khi muốn mô tả các dữ liệu của con tàu khi nó di
chuyển vào bến cảng (vận tốc, khoảng cách so với bờ, độ sâu,) thì nếu ta
dùng mô hình quan hệ sẽ rất khó khăn trong việc mô tả các dữ liệu trên của

con tàu khi nó di chuyển dần vào cảng. Nhng nếu chúng ta dùng khối trong
mô hình khối sẽ dễ dàng biểu diễn đợc các dữ liệu trên của con tàu trong quá
trình chuyển động bằng cách sử dụng trục id làm trục thời gian, mỗi bộ giá trị
của các thuộc tính chỉ số sẽ biểu diễn dữ liệu của con tàu tại một thời điểm
nhất định khi con tàu di chuyển vào bờ.
Tuy nhiên, trong mô hình khối này cũng còn nhiều loại phụ thuộc dữ
liệu cha đợc nghiên cứu. Vì vậy:
Mục tiêu của luận án là nghiên cứu các phụ thuộc dữ liệu trong cơ sở
dữ liệu, cụ thể là tập trung vào nghiên cứu các phụ thuộc dữ liệu trong mô
hình dữ liệu dạng khối nhằm để góp phần bổ sung thêm vào lý thuyết thiết kế
mô hình dữ liệu dạng khối.
Luận án bao gồm: Lời mở đầu, ba chơng nội dung, phần kết luận,
danh mục công trình công bố và tài liệu tham khảo.
Chơng 1 trình bày các khái niệm cơ bản nhất về mô hình quan hệ.
Trình bày các phép toán đại số trên mô hình quan hệ, các vấn đề về phụ
thuộc hàm, khoá, bao đóng, phủ của tập phụ thuộc hàm cũng đợc giới thiệu
cùng các tính chất của chúng. Phần cuối chơng trình bày khái niệm về phụ
thuộc đa trị trong mô hình quan hệ và các tính chất của chúng [1], [7], [8],
[15], [16], [20].







11

Các kết quả nghiên cứu của luận án đợc trình bày trong phần cuối
của chơng 2 và toàn bộ chơng 3.

Chơng 2 giới thiệu tổng quan về mô hình khối: định nghĩa khối, lợc
đồ khối, lát cắt, phụ thuộc hàm, các dạng chuẩn trong khối. Các phép toán đại
số trên khối, khoá của khối, lợc đồ khối cũng đợc giới thiệu [3], [4], [5],
[6], [13].
Cuối chơng 2 chúng tôi xây dựng các khái niệm mới về: phủ, phủ
không d thừa, phủ tối thiểu của tập các phụ thuộc hàm trên lợc đồ khối; các
tính chất về phủ, phủ tối thiểu của tập các phụ thuộc hàm; đa ra điều kiện
cần và đủ của một phủ tối thiểu trong mô hình dạng khối [12].
Chơng 3 trình bày khái niệm mới về phụ thuộc đa trị trong mô hình
dữ liệu dạng khối; phát biểu và chứng minh các tính chất của phụ thuộc đa trị
trong mô hình dữ liệu khối; đa ra tiêu chuẩn cần và đủ của một phụ thuộc đa
trị trong mô hình này [14].
Khái niệm mới tiếp theo đợc trình bày trong chơng này là khái niệm
phụ thuộc đa trị xấp xỉ mức k giữa các thuộc tính chỉ số của một khối trong
mô hình dữ liệu dạng khối. Trên cơ sở đó, các tính chất của phụ thuộc đa trị
xấp xỉ, mối liên hệ giữa phụ thuộc đa trị xấp xỉ trên các lát cắt với các phụ
thuộc đa trị xấp xỉ trên khối đã đợc phát biểu và chứng minh [10].
Chơng này cũng trình bày thêm một khái niệm mới nữa về
-phụ thuộc
hàm; phát biểu và chứng minh các tính chất của nó trong mô hình dữ liệu
dạng khối, điều kiện cần và đủ của
-phụ thuộc hàm theo quan điểm tập thô
cũng đợc phát biểu và chứng minh [9], [11].
Ngoài ra ở chơng này còn p
hát biểu và chứng minh điều kiện cần và
đủ của một
-phụ thuộc hàm từ X vào Y khi mà X, Y có dạng riêng; xây
dựng khái niệm mới về
-bao đóng trong mô hình cơ sở dữ liệu dạng khối,
chứng minh điều kiện cần và đủ của tập

-bao đóng đối với tập các phụ thuộc







12

hàm F

h
; xây dựng thuật toán tính -bao đóng cho các tập thuộc tính chỉ số
đối với F

h
[11].
Cuối cùng, phần kết luận nêu những kết quả luận án đã đạt đợc và
hớng phát triển tiếp theo của luận án.












































13


Chơng 1: Mô hình cơ sở dữ liệu quan hệ
1. 1. Các khái niệm cơ bản
1.1.1. Thuộc tính và miền thuộc tính
Định nghĩa 1.1 [7], [8]
- Thuộc tính là đặc trng của các quan hệ.
- Tập tất cả các giá trị có thể có của thuộc tính A
i
gọi là miền giá trị của
thuộc tính đó, ký hiệu: Dom(A
i
) hay viết tắt là .
i
A
D
Ví dụ 1.1: Nhanvien(MaNV, Hoten, NgSinh, Đchi)
Dom(MaNV) = {char(4)} ; Dom(Hoten) = {char(3)} ;
Dom(NgSinh) = {date} ; Dom(Đchi) = {HN, HP, VP, }.
1.1.2. Quan hệ, lợc đồ quan hệ
Định nghĩa 1.2 [7], [8]
Cho U= {A
1
, A
2
, , A
n

} 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 A
i
(i=1,2, , n) có miền giá trị là . Khi đó r là một tập
i
A
D
A
i
D

các bộ {h
AU
i
1
, h
2
, , h
m
} đợc gọi là quan hệ trên U với h
j
(j=1, 2, , m) là một
hàm: h
j
: U sao cho h
j
(A
i
)


(i=1, 2, , n).
i
A
D
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
1
A
2
A
n
h
1
h
1
(A
1
) h
1
(A
2
) h
1
(A
n)
h
2
h

2
(A
1
) h
2
(A
2
) h
2
(A
n)

h
m
h
m
(A
1
) h
m
(A
2
) h
m
(A
n)
Bảng 1.1: Biểu diễn quan hệ r.








14

Ví dụ 1.2:
Nhânviên(MNV HOTEN NS DC PLV)
No1 A 2/04/76 HN P1
No2 A 4/05/70 HN P1
No3 B 2/04/76 HP P2
Trong đó các thuộc tính là MNV: mã nhân viên; HOTEN: họ tên;
NS: ngày sinh; DC: địa chỉ; PLV: phòng làm việc.
Bộ giá trị: (No1, A, 2/04/76, HN, P1) là một bộ.
Nếu có một bộ t = (d
1
, d
2
, d
3
, , d
m
) 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 [7], [8]
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={A
1
, A

2
, , A
n
} đợc viết là
R(U) hoặc R(A
1
, A
2
, , A
n
).
1.1.3. Khoá của quan hệ
Định nghĩa 1.4 [1],[7], [16]
Khoá của quan hệ r xác định trên tập thuộc U={A
1
, A
2
, , A
n
} là tập
con K U sao cho bất kỳ hai bộ khác nhau t
1
, t
2
r luôn thoả t
1
(K) t
2
(K) và
bất kỳ tập con thực sự K

1
K nào đó đều không có tính chất đó.
Tập thuộc tính K đợc gọi là siêu khoá nếu K

K và K là một khoá
của quan hệ r.
Ví dụ 1.3: Nhânviên(MNV HOTEN NS DC PLV)
No1 A 2/04/76 HN P1
No2 A 4/05/70 HN P1
No3 B 2/04/76 HP P2
Ta có thuộc tính MNV là khoá của quan hệ.







15

1.2. Các phép toán đại số quan hệ
x Phép toán tập hợp: hợp, giao, trừ, tích Đề-các.
x Phép toán quan hệ: chiếu, chọn, kết nối, chia.
Định nghĩa 1.5 [1], [7],[16]
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.4:
r (A B C) ; s (A B C)
a1 b1 c1 a1 b1 c1
a2 b1 c2 a2 b2 c2
a2 b2 c1
r s (A B C)
a1 b1 c1
a2 b1 c2
a2 b2 c1
a2 b2 c2
1.2.2. Phép giao
Phép giao của hai quan hệ khả hợp r và s, kí hiệu là r s, là tập tất cả
các bộ thuộc cả hai quan hệ r và s. Ta có:
r s = {t
t r

t s}
Ví dụ 1.5: từ định nghĩa của r và s trong ví dụ 1.4 ta có:
r s = (A B C)
a1 b1 c1








16

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 nhng không thuộc s. Ta có: r - s = {t
t r

t s}
Ví dụ 1.6: từ định nghĩa của r và s trong ví dụ 1.4 ta có:
r - s = (A B C)
a2 b1 c2
a2 b2 c1
s - r = (A B C)
a2 b2 C2
1.2.4. Tích Đề-các
Cho quan hệ r xác định trên tập thuộc tính {A
1
, A
2
, , A
n
} và quan hệ s
xác định trên tập thuộc tính {B
1
, B
2
, , B
m
}. Tích Đề-các của hai quan hệ r và s
kí hiệu là r s, là tập tất cả các (m+n) - bộ có n thành phần đầu tiên là một bộ

thuộc r và m thành phần sau là một bộ thuộc s. Ta có:
r s = {t=(a
1
, a
2
, , a
n
, b
1
, b
2
, , b
m
) (a
1
, a
2
, , a
n
) r


(b
1
b
2
, , b
m
) s}
Ví dụ 1.7:

r

r

s

MASV MAMH DIEM MASV MAMH DIEM MAMH TENMH
99001 CSDL 5.0 99001 CSDL 5.0 CSDL CO SO DU LIEU
99002 CTDL 2.0 99001 CSDL 5.0 FOX FOXPRO
99003 MANG 8.0
99002 CTDL 2.0
CSDL CO SO DU LIEU
s
99002 CTDL 2.0
FOX FOXPRO
MAMH TENMH
99003 MANG 8.0 CSDL CO SO DU LIEU
CSDL CO SO DU LIEU 99003 MANG 8.0 FOX FOXPRO
FOX FOXPRO
Bảng 1.2: Biểu diễn các quan hệ r, s và quan hệ r 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={A
1
, A
2
, ,
A
n
}, X là tập con của U. Phép chiếu của quan hệ r trên tập thuộc tính X, kí
hiệu là
X
(r), là tập các bộ của r xác định trên tập thuộc tính X. Ta có:

X
(r) = {t.X t r }.
Phép chiếu thực chất là phép toán giữ lại một số thuộc tính cần thiết của
quan hệ và loại bỏ những thuộc tính không cần thiết.
Ví dụ 1.8:
r (A B C D)
a 1 x 4
b 2 y 5
c 4 z 4
d 8 x 5
e 1 y 4

D
(r) (D)
4
5


BD
(r) = (B D)
1 4
2 5
4 4
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.







18

- Biểu thức chọn F đợc định nghĩa là một tổ hợp logic của các toán
hạng, mỗi toán hạng là một phép so sánh đơn giản giữa hai biến là hai thuộc
tính hoặc giữa một biến là một thuộc tính và một giá trị hằng. Biểu thức chọn
F cho giá trị đúng hoặc sai đối với mỗi bộ đã cho của quan hệ khi kiểm tra
riêng bộ đó.
- Các phép toán so sánh trong biểu thức F: >, <, =, , , .
- Các phép toán logic trong biểu thức F: (và), (hoặc), ơ (phủ định).
Cho r là một quan hệ và F là một biểu thức logic trên các thuộc tính của
r. Phép chọn trên quan hệ r với biểu thức chọn F, kí hiệu là
, là tập tất cả
các bộ của r thoả mãn F. Ta có:

F
(r)
F
(r)

=
{ t t

r

F(t) = ỳng}.
Ví dụ 1.9:
r (A B C D) ;
)(r
DB

(A B C D)
a 1 x 4 c 4 z 4
b 2 y 5 d 8 x 5
c 4 z 4
d 8 x 5
e 1 y 4
1.2.7. Phép kết nối
Cho quan hệ r xác định trên tập thuộc tính {A
1
, A
2
, , A
n
} và quan hệ s

xác định trên tập thuộc tính {B
1
, B
2
, , B
m
}. Để định nghĩa phép kết nối của
hai quan hệ, trớc hết chúng ta làm quen với khái niệm ghép bộ.
Giả sử cho hai bộ u=(a
1
, a
2
, , a
n
) và v=(b
1
, b
2
, , b
m
). Phép ghép bộ u
với bộ v, kí hiệu (u,v), đợc định nghĩa là: (u,v)=(a
1
, a
2
, , a
n
, b
1
, b

2
, , b
m
).
Phép kết nối hai quan hệ thực chất là phép ghép các cặp bộ của hai quan
hệ thoả mãn một điều kiện nào đó trên chúng. Điều kiện đó đợc gọi là điều
kiện kết nối hay biểu thức kết nối.







19

Biểu thức kết nối đợc định nghĩa là phép hội 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 một thuộc tính của quan hệ r và
một thuộc tính của quan hệ s.
Phép kết nối của quan hệ r với quan hệ s với biểu thức kết nối F đợc
định nghĩa nh sau: =
{
t(u,v)urvsF(t=)
= đúng}.
r
s
Tất nhiên ở đây cần giả thiết rằng các phép so sánh của các cặp thuộc
tính thuộc hai quan hệ là có nghĩa, hay mỗi giá trị của thuộc tính này có thể so
sánh đợc với mỗi giá trị của thuộc tính kia.
F

Trong trờng hợp phép so sánh là =, chúng ta gọi phép kết nối đó là
phép kết nối bằng. Trờng phép hợp kết nối bằng trên các thuộc tính cùng tên
của hai quan hệ và sau khi kết nối một trong hai thuộc tính của phép so sánh
= đợc loại bỏ thông qua phép chiếu thì phép kết nối này đợc gọi là kết nối
tự nhiên và sử dụng kí hiệu * . Phép kết nối tự nhiên của hai quan hệ có thể
đợc định nghĩa nh sau: r(U) * s(V) = {t.(UV) t.U

r t.V

s}.

Ví dụ 1.10:
r (A B C D) s (E F)
a 1 x 4 2 a
b 2 y 5 4 b
c 4 z 4 4 c
d 8 x 5
e 1 y 4

A B C D E F
r
s
B>E
c 4 z 4 2 a
d 8 x 5 2 a
d 8 x 5 4 b
d 8 x 5 4 c








20

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 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ộ. Để đơn giản chúng ta giả
thiết V U. 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 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 =
{
}
tvs (t,v)r



Ví dụ 1.11:
r (A B C D) s (A B)
a1 1 b 2 a1 1
a2 2 b 2 a2 2
a3 3 b 2 a3 3
a1 1 d 4
a2 2 d 4
a3 3 e 5
r ữ s (C D)
b 2

1.3. Phụ thuộc hàm
Định nghĩa 1.6 [1], [7], [16]
Cho lợc đồ quan hệ R xác định trên tập thuộc tính U. Cho X, Y là hai
tập con của 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ộ t
1
, t
2
bất kỳ
mà t
1
(X) = t
2
(X) thì t
1
(Y) = t
2
(Y).
Khái niệm phụ thuộc hàm mô tả một loại ràng buộc (phụ thuộc dữ liệu)
xảy ra tự nhiên nhất giữa tập các thuộc tính. Các ràng buộc này chính là
nguyên nhân gây nên sự d thừa dữ liệu và các dị thờng xảy ra khi cập nhật







21


dữ liệu. Ngời ta sử dụng các phụ thuộc hàm để chuẩn hoá lợc đồ quan hệ
về dạng chuẩn 3 hoặc dạng chuẩn Boye-Codd.
1.3.1. Các tính chất của phụ thuộc hàm
Cho lợc đồ quan hệ R xác định trên tập thuộc tính U = {
},
cho X, Y, Z, W U thì ta có một số tính chất cơ bản của lớp các phụ thuộc
hàm nh sau:
1n
A , , A
Tính chất 1:
Nếu Y X thì X Y.
Tính chất 2:
Nếu X Y thì XZ YZ.
Tính chất 3:
Nếu X Y và Y Z thì X Z.
Tính chất 4:
Nếu X Y thì XZ Y-W.
Tính chất 5:
Nếu X Y và YW Z thì XW Z.
Tính chất 6:
Nếu X Y và Z W thì XZ YW.
Tính chất 7:
Nếu X Y và Y ZW thì X YZW.
1.3.2. Hệ tiên đề Armstrong và phép suy dẫn
Các tính chất 1, 2, 3 của phụ thuộc hàm gọi là hệ tiên đề Armstrong của
lớp các phụ thuộc hàm.
Tính phản xạ: nếu Y X thì X Y.
Tính mở rộng hai vế: nếu X Y thì XZ YZ.
Tính bắc cầu: nếu X Y và Y Z thì X Z.








22

Phụ thuộc hàm đợc suy diễn logic từ tập phụ thuộc hàm F
Cho lợc đồ quan hệ R xác định trên tập thuộc tính U, F là tập các phụ
thuộc hàm trên R và X Y là một phụ thuộc hàm, X,Y U. Chúng ta nói
rằng X Y đợc suy diễn logic từ F nếu với mỗi quan hệ r xác định trên R
thỏa các phụ thuộc hàm trong F thì cũng thỏa X Y. Kí hiệu F |= X Y.
1.4. Bao đóng
1.4.1. Bao đóng của tập phụ thuộc hàm
Định nghĩa 1.7 [7], [15], [16]
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 F.
Vậy F
+
= {f F = f }.
Các tính chất:
Tính phản xạ: với mọi tập phụ thuộc hàm F ta luôn có F F
+
.
Tính đơn điệu: nếu F G thì F
+
G

+
.
Tính luỹ đẳng: với mọi tập phụ thuộc hàm F ta luôn có F
++
= F
+
.


1.4.2. Bao đóng của tập thuộc tính đối với tập các phụ thuộc hàm
Định nghĩa 1.8 [7], [15], [16]
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
+

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 X
F
+
để chỉ lấy bao đóng của X theo tập F.
1.4.3. Bài toán thành viên và thuật toán tìm bao đóng của tập thuộc tính
Bài toán thành viên:
Nói rằng X Y là thành viên của F nếu X Y F
+
.








23

Một vấn đề quan trọng khi nghiên cứu lý thuyết cơ sở dữ liệu là khi cho
trớc tập các phụ thuộc hàm F và một phụ thuộc hàm X Y, làm thế nào để
biết X Y F
+
hay không, bài toán này đợc gọi là bài toán thành viên.
Để trả lời câu hỏi này ta có thể tính F
+
rồi xác định xem X Y có
thuộc F
+
hay không. Việc tính F
+
là một công việc đòi hỏi thời gian và công
sức. Tuy nhiên, thay vì tính F
+
chúng ta có thể dùng tính chất của bao đóng
của tập thuộc tính để xác định X Y có là thành viên của F hay không.
Đó là: X Y F
+
Y X
+

. Ta chứng minh điều này.
Giả sử Y= A
1
A
n
với A
1
A
n
là các thuộc tính và Y X
+
. Từ định
nghĩa X
+
ta có X A
i
, áp dụng hệ tiên đề Amstrong cho mỗi i suy ra X Y
nhờ luật hợp.
Ngợc lại, giả sử ta có X Y, áp dụng hệ tiên đề Amstrong cho mỗi i
ta có X A
i
, A
i
Y nhờ luật tách, suy ra A
i
X
+
. Từ đó, suy ra Y X
+
.

Vậy X Y F
+
Y X

+
.
Thuật toán 1.1:
Xác định xem một phụ thuộc hàm X Y có tồn tại không?
Vào: U, F, X, Y U.
Ra: Kiểm tra X Y F
+
?
Phơng pháp
Bớc 1: Tìm bao đóng của tập thuộc tính X: X
F
+
Bớc 2: Kiểm tra Y X
+
nếu đúng thì X Y F
+
,
nếu sai thì X Y F
+
Bớc 3: Kết thúc thuật toán.
Thuật toán tìm bao đóng của tập thuộc tính:
Thuật toán 1.2: Tìm bao đóng của tập thuộc tính
Dữ liệu đầu vào: U, F, X U.








24

Ra: X
+
là bao đóng của X đối với F.
Phơng pháp:
Tính liên tiếp các tập thuộc tính X
0
, X
1
, X
2
, theo các bớc sau:
Bớc 0: đặt X
0
= X.
Bớc i: Tính X
i
từ X
i-1
nh sau:
X
i
= X
i-1
{A} nếu tồn tại Y Z F mà Y X

i-1
, A Z và A X
i-1
.

X
i-1
nếu ngợc lại.
Vì rằng X= X
0
X
i
U và U là hữu hạn cho nên sẽ tồn tại
một chỉ số i nào đó mà X
i
= X
i-1
, khi đó X
+
= X
i
.
Định lý 1.1
Thuật toán tìm bao đóng X
+
là đúng.
Ví dụ 1.12:
Cho tập thuộc tính U = {A, B, C, D, E, G, H} và tập phụ thuộc hàm
F = {A D, AB DE, CE G, E H}.
Tính (AB)

+
F
?
Bớc 0 : X
0
= AB.
Bớc 1: X
1
= X
0
{D} vì A D thoả mãn điều kiện.
Bớc 2: X
2
= X
1
{E} vì AB DE thoả mãn điều kiện.
Bớc 3: X
3
= X
2
{H} vì E H thoả mãn điều kiện.
Bớc 4: X
4
= X
3
.
Do đó, tất cả các phụ thuộc hàm có thể xác định đợc từ AB:
AB D ; AB E ; AB H ; AB AB.
1.5. Khoá của lợc đồ quan hệ
Định nghĩa 1.9 [7], [8], [16]

Cho lợc đồ quan hệ R xác định trên tập thuộc tính U = { },
F là một tập phụ thuộc hàm xác định trên U, K U, K đợc gọi là siêu khoá
1
A , , A
n


×