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

Nghiên cứu phụ thuộc hàm trên cơ sở siêu đồ thị và tập trù mật

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.22 MB, 60 trang )

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
1

ĐẠI HỌC THÁI NGUYÊN
TRƢỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG



HÀ MỸ TRINH


NGHIÊN CỨU PHỤ THUỘC HÀM TRÊN
CƠ SỞ SIÊU ĐỒ THỊ VÀ TẬP TRÙ MẬT



LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH





THÁI NGUYÊN – 2014
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
2

ĐẠI HỌC THÁI NGUYÊN
TRƢỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG


HÀ MỸ TRINH




NGHIÊN CỨU PHỤ THUỘC HÀM TRÊN
CƠ SỞ SIÊU ĐỒ THỊ VÀ TẬP TRÙ MẬT

Chuyên ngành: Khoa học máy tính
Mã số: 60 48 01


LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH


Ngƣời hƣớng dẫn khoa học:
GS.TS VŨ ĐỨC THI






THÁI NGUYÊN – 2014
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
3


LỜI CAM ĐOAN
Học viên xin cam đoan đây là công trình tổng hợp và nghiên cứu của riêng học
viên. Các kết quả nêu trong luận văn là trung thực và rõ ràng đƣợc tìm hiểu trong
cac tài liệu tham khảo.



Xác nhận của giáo viên hƣớng dẫn





GS.TS Vũ Đức Thi
Học viên





Hà Mỹ Trinh
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
4

MỤC LỤC
CHƢƠNG 1: KHÁI NIỆM CHUNG 10
1.1 Một số ký hiệu và quy ƣớc 10
1.2 Quan hệ và một số khái niệm cơ bản 13
1.2.1 Quan hệ 13
1.2.2 Cơ sở dữ liệu quan hệ 15
1.2.3 Đại số quan hệ 15
1.3 Phụ thuộc hàm 15
1.3.1 Định nghĩa 15
1.3.2 Hệ tiên đề Arsmtrong 16
1.3.3 Bao đóng của tập phụ thuộc hàm và tập thuộc tính 16
1.3.4 Khóa tối tiểu của sơ đồ quan hệ và quan hệ 19

1.3.5 Các dạng chuẩn 20
1.3.6. Hệ Sperner 22
1.3.7 Các dạng tƣơng đƣơng của họ phụ thuộc hàm 28
CHƢƠNG 2: MỘT SỐ THUẬT TOÁN SIÊU ĐỒ THỊ VÀ TẬP TRÙ MẬT
30
2.1. Siêu đồ thị 30
2.1.1. Định nghĩa 30
2.1.2 Siêu đồ thị transversal 33
2.2 Tập độc lập 37
2.3 Tập trù mật 39
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
5

2.3.1. Tập trù mật của quan hệ 39
2.3.2. Tập trù mật của sơ đồ quan hệ 42
2.4 Khóa tối tiểu đối với phụ thuộc hàm 46
CHƢƠNG 3: ỨNG DỤNG TÌM KHÓA TỐI THIỂU TRONG MỘT FILE DỮ
LIỆU 53
3.1 Mô tả bài toán 53
3.2 Cài đặt. 53
3.2.1 Yêu cầu hệ thống 53
3.2.2 Cấu trúc các lớp chƣơng trình 54
3.3Thử nghiệm chƣơng trình 54
KẾT LUẬN 57
TÀI LIỆU THAM KHẢO 58


Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
6


DANH MỤC KÝ HIỆU VÀ CHỮ VIẾT TẮT
Trong suốt luận văn, học viên sử dụng các quy ƣớc về ký hiệu và chữ viết tắt
sau:
- s = (U,F): Sơ đồ quan hệ, với U là tập các thuộc tính và F là tập các phụ
thuộc hàm.
- R: Quan hệ trên tập thuộc tính.
- F
R
: Tập tất cả các phụ thuộc hàm đúng trên quan hệ R.
- F
+
: Bao đóng của tập phụ thuộc hàm.
- :Tập tất cả các khóa tối tiểu của sơ đồ quan hệ s.
- : Tập phản khóa .
- F
n
: Tập tất cả các thuộc tính không cơ bản
- D
n
: Tập tất cả các thuộc tính phụ thuộc.
- : Hệ bằng nhau.
- N
R
: Hệ không bằng nhau.
- Trs(H): Họ tất cả các transversal của siêu đồ thị H.
- Tr(H): Siêu đồ thị transversal của siêu đồ thị H.
- I
s
: Họ các tập độc lập tối thiểu của sơ đồ quan hệ s.
- L

s
: Họ tất cả các bao đóng của tập thuộc tính của sơ đồ quan hệ s.
- CSDL: Cơ sở dữ liệu.
- Relation scheme: Sơ đồ quan hệ.
- Strong scheme: Sơ đồ mạnh.
- Minimal key: Khóa tối tiểu.
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
7

- Antikey: Phản khóa.
- Minimum cover: Phủ tối tiểu.
- Transversal hypergraph: Siêu đồ thị Transversal.
- Dense families: Họ trù mật.
- Simple hypergraph: Siêu đồ thị đơn.
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
8

MỞ ĐẦU
Cơ sở dữ liệu (CSDL) là một trong những lĩnh vực đƣợc tập trung nghiên cứu
và phát triển của công nghệ thông tin, nhằm giải quyết các bài toán quản lý, tìm
kiếm thông tin trong những hệ thống lớn đa dạng, phức tạp cho nhiều ngƣời sử
dụng trên máy tính điện tử. Có thể nói E. F. Codd là ngƣời đầu tiên đề xuất mô hình
dữ liệu quan hệ cho CSDL với công trình “A relational model for large shared data
banks (1970)” và đã trở thành kinh điển. Đây là mô hình đƣợc xây dựng trên cơ sở
lý thuyết toán học về các quan hệ, bao gồm các thực thể (đối tƣợng) và các mối
quan hệ qua lại giữa chứng. Chính điều này đã tạo cơ sở toán học với cấu trúc hoàn
chỉnh làm nền tảng cho các vấn đề nghiên cứu lý thuyết về CSDL.
Ngƣời ta xem CSDL quan hệ nhƣ là một tập hợp hữu hạn các quan hệ. Trong đó
mỗi quan hệ có thể đƣợc hình dung một cách trực quan nhƣ là một bảng chữ nhật
gồm có các hàng và các cột. Mỗi hàng là một bản ghi (record) lƣu trữ các dữ liệu.

Mỗi cột là một thuộc tính.
Trong lý thuyết thiết kế CSDL quan hệ, ràng buộc dữ liệu hay còn gọi là phụ
thuộc dữ liệu có một ý nghĩa quan trọng trong việc đảm bảo tính nhất quán của dữ
liệu. Nghiên cứu ràng buộc dữ liệu là một vấn đề cần thiết. Ý nghĩa của việc nêu ra
khái niệm ràng buộc dữ liệu là nhằm đảm bảo cho các dữ liệu trong CSDL không
mâu thuẫn, phản ánh đúng thế giới hiện thực. Các nhà nghiên cứu đã đƣa ra nhiều
loại ràng buộc dữ liệu khác nhau để đáp ứng phù hợp với thực tế phong phú và đa
dạng. Loại dữ liệu ràng buộc đầu tiên là phụ thuộc hàm đƣợc giới thiệu bởi E. F.
Codd vào năm 1970. G. Czédli [10], [11] (1980)đã xem xét đến ba loại ràng buộc
dữ liệu khác nhau là: phụ thuộc đối ngẫu , phụ thuộc mạnh và phụ thuộc yếu. Tiếp
sau đó các tác giả J. Demetrovics và G. Gyepesi (1983), [1], [17] cũng tiếp tục
nghiên cứu các ràng buộc dữ liệu này. Với ba loại ràng buộc dữ liệu này, ngƣời sử
dụng đôi khi có thể lấy đƣợc các thông tin thực mong muốn, ngay cả khi không tồn
tại một phụ thuộc hàm nào giữa các tập thuộc tính và chỉ cần biết ít nhất một giá trị
của các thuộc tính, chứ không phải tập toàn bộ các giá trị của thuộc tính của vế trái.
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
9

Hơn thế nữa, đôi khi việc xử lý và tìm kiếm thông tin đƣợc tiến hành nhanh chóng
hơn vì chỉ cần phải tìm kiếm một phần của quan hệ mà thôi.
Mục tiêu của luận văn là tiếp tục nghiên cứu về phụ thuộc hàm trên cơ sở siêu
đồ thị và tập trù mật. Luận văn bao gồm 3 chƣơng:
Chƣơng 1: Khái niệm chung: Nhắc lại một số khái niệm cơ bản nhất của toán
học. Kế đến là một số khái niệm quan hệ và một số khái niệm cơ bản liên quan
khác. Tập trung giới thiệu về phụ thuộc hàm.
Chƣơng 2: Một số thuật toán siêu đồ thì và tập trù mật: Lý thuyết siêu đồ thị là
một trong những lĩnh vực quan trọng của toán rời rạc có nhiều ứng dụng có ý nghĩa
đối với nhiều lĩnh vực trong tin học. Một siêu đồ thị Hchính là mở rộng của một đồ
thị trên một tập hữu hạn các đỉnh U, với mỗi siêu cạnh H
i

của H là một tập con
khác rỗng của U. Ngƣời ta đã chứng minh rằng lý thuyết siêu đồ thị đƣợc xem nhƣ
là một công cụ thích hợp để giải quyết các bài toán tổ hợp trong mô hình dữ liệu
quan hệ. Đặc biệt là khóa tối tiểu và phụ thuộc hàm.
Luận văn nghiên cứu và tìm hiểu một số tính chất cũng nhƣ ứng dụng của họ trù
mật. Phát biểu và chứng minh một điều kiện cần và đủ để một họ bất kỳ trù mật
trong quan hệ
Chƣơng 3: Luận văn nghiên cứu một số thuật toán tìm khóa tối tiểu trong một
quan hệ dựa trên cơ sở siêu đồ thị và tập trù mật. Từ đó phát triển thành một chƣơng
trình tìm khóa tối tiểu trong một file dữ liệu.
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
10

CHƢƠNG 1: KHÁI NIỆM CHUNG
Chƣơng này, đầu tiên nhắc lại một số khái niện của toán học cần thiết cho luận
văn. Kế đến giới thiệu sơ lƣợc khái niệm quan hệ, cơ sở dữ liệu quan hệ và đại số
quan hệ. Cuối cùng tập trung giới thiệu khái niệm phụ thuộc hàm.
1.1 Một số ký hiệu và quy ƣớc
Những khái niệm và ký hiệu đƣợc trình bày trong đoạn sẽ đƣợc dùng xuyên suốt
trong luận văn.
Chúng ta sử dụng các chữ Latin hoa A, B, C, … , X, Y, Z để ký hiệu một tập hợp.
Các chữ Latin thƣờng a, b, c, …, x, y, z để ký hiệu các phần tử của một tập hợp. Khi
cần xác định thứ tự, các tập hợp (tƣơng ứng phần tử) sẽ đƣợc đánh chỉ số, chẳng
hạn nhƣ A
1
, …, A
n
(tƣơng ứng a
1
, …, a

n
). Họ (tập) các tập hợp chúng ta ký hiệu
bằng các chữ Calligraphy A , B, C , …, X, Y, Z.
Giả sử chúng ta cũng đã quen thuộc với các ký hiệu sau: thuộc (ϵ ), xây dựng
tập ({ - |- }), tập rỗng ( ), tập hợp con ( ), tập hợp con thật sự ( ), hợp ( ), giao
( ), hiệu (-), n – bộ xắp thứ tự ((x
1
, …, x
n
)), tích Descartes (X
1
× … × X
n
) lƣợng từ
phổ dụng ( ) và lƣợng từ tồn tại ( ).
Hợp của một họ các tập hợp S, ký hiệu S, đƣợc định nghĩa là

Giao của một họ các tập hợp S, ký hiệu đƣợc định nghĩa là

Đặc biệt ngƣời ta còn hay xét đến các tập hợp con của một tập hợp cố định U
nào đó. Khi đó nếu X U thì U – X đƣợc gọi là phần bù của X đối với U. Trong
trƣờng hợp này thay cho ký hiệu U – X ta viết là X, và U đƣợc gọi là tập hợp vũ trụ.
Tập lũy thừa của U, ký hiệu P (U) đƣợc định nghĩa là tập hợp gồm tất cả các
tập hợp con của U, tức là
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
11

P (U) = { X | X U}
Lực lƣợng của tập U ký hiệu là |U|. Đặc biệt, tập hợp rỗng có lực lƣợng U.
Một quan hệ n ngôi R trên tập hợp U là một tập con tích Descretes U

n
. Đặc biệt,
nếu n= 2 thì R đƣợc gọi là quan hệ hai ngôi. Khi đó thay vì viết (a, b) R ngƣời ta
hay viết là a R b.
Quan hệ hai ngôi R trên tập hợp U đƣợc gọi là
(1) Phản xạ nếu a R a với mọi a U.
(2) Đối xứng nếu với mọi a, b U, a R b kéo theo b R a.
(3) Phản đối xứng nếu với mọi a,b U, a R b và b R a kéo theo a = b.
(4) Bắc cầu nếu với mọi a, b, c U, a R b và b R c kéo theo a R c.
Quan hệ hai ngôi R trên tập hợp U đƣợc gọi là quan hệ tƣơng đƣơng nếu quan
hệ R là phản xạ, đối xứng và bắc cầu. Nếu R là quan hệ tƣơng đƣơng trên tập hợp U
thì khi đó với mọi a U ngƣời ta gọi tập hợp
{b U | b R a}
là lớp tƣơng đƣơng của phần tử a, và ký hiệu là [a]
R
hoặc [a] nếu không sợ nhầm
lẫn. Tập hợp tất cả các lớp tƣơng đƣơng của tập hợp U theo quan hệ tƣơng đƣơng
R, ký hiệu U/R, đƣợc gọi là tập thƣơng của U theo R. Tức là
U/R = {[a] | a U}
Quan hệ hai ngôi R trên tập hợp U đƣợc gọi là quan hệ thứ tự nếu quan hệ R là
phản xạ, phản đối xứng và bắc cầu. Ngƣời ta thƣờng ký hiệu quan hệ thứ tự bởi ký
hiệu ≤. Khi trên tập hợp U có quan hệ thứ tự ≤ thì ngƣời ta nói U là một tập hợp
đƣợc sắp thứ tự. Nếu x ≤ y thì ngƣời ta nói x đứng trƣớc y, hay x nhỏ hơn hoặc
bằng y. Nếu x ≤y và x ≠ y thì ngƣời ta viết x < y.
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
12

Hai phần tử x, y U gọi là so sánh đƣợc đối với quan hệ thứ tự ≤ nếu x ≤ y
hoặc y ≤ x. Trƣờng hợp nếu không tồn tại x ≤ y và y ≤ x thì ngƣời ta nói x và y
không so sánh theo quan hệ thứ tự ≤.

Tập hợp U đƣợc gọi là sắp thứ tự toàn phần (hay sắp thứ tự tuyến tính) bởi quan
hệ thứ tự ≤ nếu với phần tử bất kỳ của U đều so sánh đƣợc với nhau. Khi đó, quan
hệ thứ tự ≤ trên U là quan hệ thứ tự toàn phần. Trƣờng hợp nếu tồn tại hai phần tử U
không so sánh đƣợc với nhau theo quan hệ thứ tự ≤ thì ngƣời ta nói tập hợp U đƣợc
sắp thứ tự bộ phận. Khi đó quan hệ thứ tự ≤ cũng đƣợc gọi là quan hệ thứ tự bộ
phận.
Cho U là tập hợp đƣợc sắp thứ tự bởi quan hệ thứ tự ≤ và X U. Phần tử a U
đƣợc gọi là phần tử tối đại của U nếu

Phần tử b U đƣợc gọi là phần tử tối thiêu của U nếu

Phần tử c U đƣợc gọi là phần tử lớn nhất của U nếu

Phần tử d U đƣợc gọi là phần tử nhỏ nhất của U nếu

Phần tử m U đƣợc gọi là phần tử chặn trên của U nếu

Phần tử n U đƣợc gọi là phần tử chặn dƣới của U nếu

Phần tử nhỏ nhất của tập hợp tất cả các phần tử chặn trên của X đƣợc gọi là cận
trên của X trong U, ký hiệu . Phần tử lớn nhất của tập hợp tất cả các phần tử
chặn dƣới của X đƣợc gọi là cận dƣới của X trong U, ký hiệu .
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
13

Đối với một họ của các tập hợp bất kỳ S = {X
1
, , X
n
}, chúng ta gọi

,


tức là min(S) là tập tất cả phần tử tối thiểu của S và max(S) là tập tất cả phần tử tối
đại của S ( theo quan hệ thứ tự bao hàm “ ”).
Một ánh xạ từ tập hợp X đến tập hợp Y là một phép tƣơng ứng mỗi
phần tử x X duy nhất một phần tử . Phần tử f(x) đƣợc gọi là giá trị của f
tại x qua f. Tập hợp X đƣợc gọi là tập nguồn hay miền xác định của ánh xạ f và tập
hợp Y đƣợc gọi là tập đích hay miền giá trị của ánh xạ f. Ánh xạ f từ X và Y còn
đƣợc gọi là một hàm từ X vào Y.
Ánh xạ đƣợc gọi là đơn ánh nếu với mọi x, x‟ X, x ≠ x‟ kéo theo
f(x) ≠ f(x‟). Ánh xạ đƣợc gọi là toàn ánh nếu mọi y Y tồn tại ít nhất x
X sao cho f(x) = y.Ánh xạ đƣợc gọi là song ánh (hay một tƣơng ứng 1
– 1) nếu f vừa là một đơn ánh vừa là toàn ánh.
1.2 Quan hệ và một số khái niệm cơ bản
1.2.1 Quan hệ
Cho U = {a
1
, …, a
n
} là một tập hữu hạn khác rỗng các thuộc tính. Mỗi thuộc
tính a
i
có một tập hợp khác rỗng dom(a
i
). Tập dom(a
i
) đƣợc gọi là miền giá trị của
thuộc tính a
i

.Khi đó một tập con hữu hạn các tích Descretes dom(a
1
) × dom(a
2
) × …
× dom(a
n
) đƣợc gọi là một quan hệ trên U, và ký hiệu R. Rõ ràng quan hệ R trên U
chính là một tập các bộ : R = {h
1
, …, h
m
} với

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
14

Nhƣ vậy, một quan hệ R trên U có thể đƣợc biểu diễn bởi một bảng 2 chiều
trong đó mỗi cột ứng với một thuộc tính và mỗi hàng ứng với một bộ.

a
1
a
2


a
n

h

1
h
1
(a
1
)
h
1
(a
2
)
….
h
1
(a
m
)
h
2
h
2
(a
1
)
h
2
(a
2
)


h
2
(a
m
)





h
m
h
m
(a
1
)
h
m
(a
2
)
….
h
m
(a
m
)

Ví dụ 1.2.1. Trong một trƣờng học, chúng ta quản lý sinh viên theo biểu gồm các

thuộc tính sau:
SINH VIEN
STT
HOTEN
GIOITINH
NAMSINH
NGHANH
KHOA
001
Nguyen Van
Anh
Nam
1983
Toan
KT25
002
Le Thi Binh
Nu
1982
Ly
KT25
003
Nguyen Van
Tuyen
Nam
1982
Ly
KT25
004
Tran Thi Mai

Vy
Nu
1985
Anh
KT25

Nhƣ vậy, chúng ta có quan hệ gồm 4 bộ xác định trên tập thuộc tính SINHVIEN
= {STT, HOTEN, GIOITINH, NAMSINH, NGHANH, KHOA}.
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
15

1.2.2 Cơ sở dữ liệu quan hệ
Một CSDL bao gồm một tập hữu hạn các quan hệ đƣợc gọi là cơ sở dữ liệu
quan hệ. Tuy nhiên, theo cách nhìn của ngƣời sử dụng thì một CSDL quan hệ là
một tập hợp các bảng biến đổi theo thời gian.
Một số thao tác trên CSDL quan hệ là: tạo lập những quan hệ mới, cập nhập dữ
liệu và cuối cùng là khai thác thông tin từ CSDL quan hệ.
Chức năng quan trọng nhất của CSDL là khai thác dữ liệu đã đƣợc lữu trữ một
cách có hiệu quả.
1.2.3 Đại số quan hệ
E. F. Codd [9] (1970) là ngƣời đã có nhiều đóng góp quan trọng trong việc phát
triển đại số quan hệ. Đại số quan hệ cung cấp tám phép toán tác động trên các quan
hệ và cho kết quả cũng là một quan hệ. Tám phép toán đó là phép hợp, phép giao,
phép hiệu, phép tích Descretes, phép chọn, phép chiếu, phép kết nối và phép chia. Ở
đây chúng ta giả sử đã quen thuộc với thuật toán này.
1.3 Phụ thuộc hàm
Khái niệm phụ thuộc hàm đƣợc đề xuất bởi E. F. Codd nêu ra và sau đó lần đầu
tiên đƣợc đề hóa bởi W. W. Armstrong. Đây là một loại ràng buộc dữ liệu xảy ra tự
nhiên nhất giữa các tập thuộc tính. Về cơ bản các hệ quản trị cơ sở dữ liệu lơn đều
sử dụng ràng buộc này.

1.3.1 Định nghĩa
Cho U là tập hữu hạn khác rỗng các thuộc tính. Một phụ thuộc hàm là một mệnh
đề có dạng X → Y, trong đó X, Y U. Ta nói phụ thuộc hàm X → Y đúng trong
quan hệR = {h
1
, …, h
m
} trên U nếu

Ta cũng nói R thỏa mãn phụ thuộc hàm X → Y.
Gọi F
R
là họ tất cả các phụ thuộc hàm đúng trên quan hệ R.
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
16

Nhƣ vậy, ở ví dụ 1.2.1 ta có
{STT} → {HOTEN, GIOITINH, NAMSINH, NGHANH, KHOA},
nghĩa là thuộc tính STT xác định duy nhất các thuộc tính HOTEN, GIOITINH,
NAMSINH, NGHANH, KHOA.
1.3.2 Hệ tiên đề Arsmtrong
Giả sử U tập hữu hạn khác rỗng các thuộc tính và X, Y, Z, V, W U. Ta nói F là
một f – họ hay họ đầy đủ trên U nếu:
(F1) ,
(F2) ,
(F3) ,
(F4) .
Rõ ràng F
R
là một f – họ trênU.

W. W. Armstrong [12] (1974), đã chứng minh rằng: “nếu F là một họ bất kỳ, thì
luôn tồn tại một quan hệ R trên U sao cho F
R
= F”.
Kết quả này trùng với định nghĩa của phụ thuộc hàm, chứng tỏ rằng hệ tiên đề
Armstrong là đúng đắn và đầy đủ. Có nghĩa là, bốn tính chất (F1)-(F4) đúng là các
đặc trƣng của họ phụ thuộc hàm. Nhờ có hệ tiên đề này,khi nghiên cứu và khảo sát
họ phụ thuộc hàm không bị lệ thuộc vào các quan hệ (bảng) cụ thể. Các công cụ của
toán học đƣợc áp dụng để nghiên cứu làm sáng tỏ cấu trúc logic của mô hình dữ
liệu quan hệ. Đặc biệt, chúng ta sử dụng công cụ thuật toán để thiết kế các công
đoạn xây dựng các hệ quản trị cơ sở dữ liệu.
1.3.3 Bao đóng của tập phụ thuộc hàm và tập thuộc tính
Ta gọi sơ đồ quan hệ s là một cặp (U, F), trong đó U là tập hữu hạn khác rỗng
các thuộc tính và F là tập các phụ thuộc hàm trên U.
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
17

Nhƣ vậy, khi cho một sơ đồ quan hệ có nghĩa chúng ta cho một đầu biểu gồm
nhiều cột, nhƣng không có dữ liệu và áp đặt các rằng buộc giữa các tập cột (bằng
việc cho phụ thuộc hàm), nhƣng các ràng buộc này phải tuân theo nghĩa của các cột.
Khi đó, bao đóng của một tập phụ thuộc hàm F, ký hiệu F
+
, đƣợc định nghĩa là
tập tất cả các phụ thuộc hàm đƣợc dẫn xuất từ F bằng cách áp dụng các quy tắc từ
(F1)-(F4).
W. W. Armstrong [12] (1974), đã chứng minh rằng. Nếu s = (U, F) là một sơ đồ
quan hệ thì luôn tồn tại một quan hệ R trên U sao cho F
r
= F
+

. Một quan hệ R nhƣ
vậy đƣợc gọi là quan hệ Armstrong của s. Trong trƣờng hợp này hiển nhiên các phụ
thuộc hàm của s đều đúng trên R. Khái niệm quan hệ Armstrong của s đã đƣợc R.
Fagin [22] (1980) nêu ra.
Gọi X là tập con thuộc tính củaU. Ký pháp X
+
= . Khi
đó X
+
đƣợc gọi là bao đóng của tập thuộc tính X trên s.
Bài toán xác định bao đóng X
+
có độ phúc tạp là đa thức theo kích thƣớc của s.
Do đó, bài toán thành viên đối với sơ đồ quan hệ (nghĩa là cho sơ đồ quan hệ s =
(U, F) và phụ thuộc hàm X → Y, kiểm tra xem X → Ycó phụ thuộc F
+
hay không)
có thể đƣợc giải quyết bằng một thuật toán thời gian đa thức (D. Maier [26] (1983),
C. Berri và cộng sự [7] (1984)).
Đối với quan hệ R trên tập thuộc tính U, ta đặt X
+
R
= .
Khi đó, X
+
R
đƣợc gọi là bao đóng của tập thuộc tính X trên R.
Bài toán xác định bao đóng X
+
R

cũng có độ phúc tạp là đa thức theo kích thƣớc
của R (Vũ Đức Thi [29] (1986)).
Lƣu ý rằng, khi bàn về phụ thuộc hàm thì quan hệ R đƣợc xét là quan hệ của
một sơ đồ quan hệ s = (U, F) nào đó, nghĩa là tập thuộc tính của R là U và R thỏa
mãn mọi phụ thuộc của hàm F.
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
18

Dƣới đây là một số tính chất cơ bản của bao đóng của tập thuộc tính trên sơ đồ
quan hệ (trên quan hệ vẫn còn đúng). Ta có
Định lý 1.3.1. Giả sử s = (U, F) là một sơ đồ quan hệ X, Y U. Khi đó
(1) Tính phản xạ: X X
+

(2) Tính đơn điệu: nếu X Y thì X
+
Y
+

(3) Tính lũy đẳng: X
++
= X
+

(4) X
+
Y
+
(X Y)
+


(5) (X
+
Y)
+
= (X Y
+
)
+
= (X
+
Y
+
)
+

(6) X → Y F
+
khi và chỉ khi Y X
+

(7) X → Y F
+
khi và chỉ khi Y
+
X
+

(8) X → X
+

F
+
và X
+
→ X F
+

(9) X
+
= Y
+
khi và chỉ khi X → Y F
+
và Y → X F
+

Chú ý rằng trong một số chứng minh ở chƣơng 2, nếu có sử dụng các tính chất
này để lập luận thì đôi lúc không cần trích dẫn. Bởi rằng đây là những tính chất rất
cơ bản.
D. Maier [26] (1983), đã nêu ra khái niệm phủ nhƣ sau: Tập phụ thuộc hàm F
đƣợc gọi là một phủ của tập phụ thuộc hàm G nếu F
+
= G
+
. Phủ F đƣợc gọi là không
dƣ thừa nếu với mọi phụ thuộc hàm X → Y F thì X → Y (F – {X → Y})
+
. Phủ
F đƣợc gọi tối thiểu nếu |F| ≤ |F‟| với mọi phủ F‟.
* Thuật toán tìm bao đóng của tập thuộc tính

Input: (Q , F , )X⊆Q
+

Output: X
F
+

Bƣớc1: Tính dãy X
(0)
, X
(1)
, , X
(i)
:
• X
(0)
=X
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
19

• X
(i+1)
=X
(i)
∪Z ,∃(Y → Z ∈)F Y ⊆X
(i)
, loại Y → Z )ra khỏi F
• Dừng khi X
(i+1)
=X

(i)
hoặc khi X
(i)
=Q
+

Bƣớc2: Kếtluận X
F
+
=X
(i)
:
1.3.4 Khóa tối tiểu của sơ đồ quan hệ và quan hệ
Cho s = (U, F) là một sơ đồ quan hệ, R là một quan hệ và K là một tập con
thuộc tính của U. Khi đó K đƣợc gọi là một khóa tối thiểu của s (tƣơng ứng của R)
nếu K thỏa các điều kiện sau:
(1) K → U F
+
(tƣơng ứng K → U F
R
),
(2) X K sao cho X → U F
+
( tƣơng ứng X → U F
R
.
Nếu K thỏa điều kiện (1) thì K đƣợc gọi là khóa của s (tƣơng ứng của R).
Ký pháp K
S
(tƣơng ứng K

R
) là tập tất cả khóa tối tiểu của s(tƣơng ứng R).
Khóa tối tiểu của sơ đồ quan hệ và quan hệ đã đƣợc nhiều tác giả nghiên cứu
nhƣ: [7], [12], [16], [19], [25], [27].
Đối với việc tìm một khóa tối tiểu của sơ đồ quan hệ và quan hệ, các thuật toán
tƣơng ứng của nó đều có độ phức tạp thời gian đa thức. Biết rằng, theo [27] để tìm
một khóa tối tiểu của sơ đồ quan hệ s = (U, F) chúng ta dịch chuyển sơ đồ quan hệ s
về sơ đồ quan hệ là sơ đồ quan hệ có số thuộc tính ít hơn và số phụ thuộc
hàm gọn hơn, ở đây F = ,
+

. Khi đó, chúng ta chứng minh đƣợc một mối quan hệ
tƣơng đƣơng khóa nhƣ sau:
Định lý 1.3.2. K là một khóa tối tiểu của nếu và chỉ nếu K (U – R) là một
khóa tối tiểu của s.
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
20

Rõ ràng, việc tìm một khóa tối tiểu trên sơ đồ quan hệ tốt hơn (bài toán này có
độ phức tạp là đa thức theo kích thƣớc của ) trên sơ đồ quan hệ s ban đầu. Những
kết quả nghiên cứu về phép dịch chuyển sơ đồ quan hệ, có thể tìm thấy trong [14].
C. T. Yu và D. T. Johnson đã chứng tỏ rằng số các khóa tối thiểu của sơ đồ quan
hệ s = (U, F) đƣợc biểu diễn bằng hàm mũ theo |U|.
Thuật toán xác định tập tất cả khóa tối tiểu của sơ đồ quan hệ cũng đã đƣợc
nghiên cứu nhiều. Trong đó, thuật toán của C. L. Lucchesivà cộng sự [25] (1978) là
khá hiệu quả, dù rằng độ phức tạp của nó cũng là hàm mũ. Thuật toán này đƣợc
xem là thuật toán cơ bản để tìm tất cả khóa tối tiểu của một sơ đồ quan hệ.
Đối với quan hệ R, bài toán tìm tập tất cả khóa tối tiểu cũng có độ phức tạp là
làm mũ theo kích thƣớc của R (J. Demetrovics và Vũ Đức Thi [16] (1987), G.
Gottlob và L. Libkin [24] (1990)).

Thuộc tính a đƣợc gọi là thuộc tính cơ bản của sơ đồ quan hệ s (tƣơng ứng của
quan hệ R) nếu tồn tại một khóa tối tiểu (tƣơng ứng ) để a là một
thuộc tính của K. Trong trƣờng hợp ngƣợc lại, a đƣợc gọi là thuộc tính không cơ
bản. Ký pháp F
n
là tập hợp tất cả các thuộc tính không cơ bản.
Thuộc tính cơ bản và thuộc tính không cơ bản đóng một vai trò quan trọng trong
việc chuẩn hóa các sơ đồ quan hệ cũng nhƣ quan hệ.
Bài toán xác định a là thuộc tính cơ bản hay không của một sơ đồ quan hệ là bài
toán NP-đầy đủ (C. L. Lucchesivà S. L. Osborn [25] (1983)). Có nghĩa là, cho đến
nay chƣa có một thuật toán có độ phức tạp thời gian đa thức để giải quyết bài toán
này. Tuy nhiên, J. Demetrovics và Vũ Đức Thi [16] (1987), đối với quan hệ thì bài
toán này đƣợc giải quyết bằng một thuật toán thời gian đa thức.
1.3.5 Các dạng chuẩn
Do việc cập nhật dữ liệu thông qua các thao tác thêm, xóa và sửa đổi gây nên
những dị thƣờng, mà nguyên nhân chính là do lặp lại một số dữ liệu trong quan hệ
nên các quan hệ cần thiết phải đƣợc phân tách thành các quan hệ nhỏ hơn hay biến
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
21

đổi về dạng chuẩn thích hợp. Quá trình đó đƣợc gọi là quá trình chuẩn hóa. Nhƣ
vậy, việc chuẩn hóa các quan hệ nhƣ sơ đồ quan hệ đóng một vai trò cực kỳ quan
trọng trong thiết kế cac hệ quản trị CSDL trên mô hình dữ liệu quan hệ của E. F.
Codd. Nhờ có chuẩn hóa chúng ta tránh đƣợc dƣ thừa dữ liệu, dị thƣờng trong cập
nhật và tăng tốc độ của các phép toán xử lý quan hệ.
Cho F là một tập phụ thuộc trên hàm U và X → Y là một phụ thuộc hàm trong
F. Tập Y đƣợc gọi là phụ thuộc hàm đầy đủvào X nếu X → Y là rút gọn trái, nghĩa
là không tồn tại một tập con thật sự Z của X sao cho Z → Y F
+
. Ngƣợc lại, Y

đƣợc gọi là phụ thuộc bộ phận vào X.
Cho F là một tập phụ thuộc trên hàm U và X, Y U. Tập Y đƣợc gọi là phụ
thuộc bắc cầu vào X nếu tồn tại Z U sao cho X → Z F
+
, Z → Y F
+
, Z→ X F
+

và Y Z, Ngƣợc lại, Y đƣợc gọi là phụ thuộc trực tiếp vào X.
Cho s = (U, F) là một sơ đồ quan hệ. Khi đó s đƣợc gọi là:
(1) Ở dạng chuẩn một (1NF) ứng với tập phụ thuộc hàm F nếu toàn bộ
miền giá trị của các thuộc tính trong quan hệ chỉ chứa giá trị nguyên tố.
(2) Ở dạng chuẩn hai (2NF) ứng với tập phụ thuộc hàm F nếu s ở dạng
chuẩn một và mọi thuộc tính không cơ bản của s điều phụ thuộc đầy đủ vào
mọi khóa tối tiểu của s.
(3) Ở dạng chuẩn ba (3NF) ứng với tập phụ thuộc hàm F nếu s ở dạng
chuẩn một và không có thuộc tính nào của s phụ thuộc bắc cầu vào bất kỳ
một khóa tối tiểu của s.
(4) Ở dạng chuẩn Boyce – Codd (BCNF) ứng với tập phụ thuộc hàm F
nếu s ở dạng chuẩn ba và không có thuộc tính nào của khóa tối tiểu s phục
thuộc bắc cầu vào bất kỳ thuộc tính không khóas.
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
22

Đối với quan hệ R trên tập thuộc tính U, thì R đƣợc gọi là dạng chuẩn một
(tƣơng ứng dạng chuẩn hai, dạng chuẩn ba, dạng chuẩn Boyce – Codd) nếu R xác
định trên sơ đồ quan hệ ở dạng chuẩn một (tƣơng ứng dạng chuẩn hai, dạng chuẩn
ba, dạng chuẩn Boyce – Codd).
Từ các định nghĩa trên, chúng ta có nhận xét sau: Nếu sơ đồ quan hệ s (tƣơng

ứng quan hệ R) là BCNF thì s (tƣơng ứng R) là 3NF, nếu s (tƣơng ứng R) là 2NF
và nếu s (tƣơng ứng R) là 2NF thì s (tƣơng ứng R) là 1NF. Tuy nhiên, điều ngƣợc
lại của nhận xét này là không đúng.
Cho trƣớc một sơ đồ quan hệ hay một quan hệ, kiểm tra xem sơ đồ quan hệ hay
quan hệ đó đã là ở BCNF, hay 3NF hay chƣa là rất quan trọng. Những kết quả
nghiên cứu về vấn đề này đã có nhiều tác giả nêu ra [13], [15], [17], [18], [20], [24],
[29]. Đối với một quan hệ R (tƣơng ứng sơ đồ quan hệ s) trên U cho trƣớc, bài toán
xác định R(s) có phải là dạng chuẩn Boyce – Codd, đƣợc tính bằng thời gian đa
thức theo kích thƣớc của R(s). Đối với quan hệ R trên U cho trƣớc, bài toán xác
định R có phải là dạng chuẩn 3 hay không cũng là đa thức theo kích thƣớc của R.
Tuy nhiên, đối với sơ đồ quan hệ s trên U cho trƣớc, khi đó bài toán xác đính có
phải dạng chuẩn 3 hay không là NP-đầy đủ. Có nghĩa là cho đến nay, độ phức tạp
thời gian của bài toán này không là đa thức.
Đối với dạng chuẩn 2, các câu hỏi tƣơng tự cho R lẫn s vẫn còn là bài toán mở.
Chúng ta phỏng đoán có độ phức tạp thời gian là hàm mũ trở lên.
1.3.6. Hệ Sperner
Cho U là một tập hữu hạn, P(U) là tập lũy thừa của U và K là một con của
P(U). Ta nói K là một hệ Sperner trên U nếu với mọi A,B K kéo theo A B. Từ
định nghĩa này, rõ ràng chúng ta thấy K
S
và K
R
(tập tất cả khóa tối tiểu của sơ đồ
quan hệ s và quan hệ R) là hệ Sperner.
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
23

Lực lƣợng của một hệ Sperner K bất kỳ trên U không vƣợt quá , tức là
|K| ≤ , với |U| = n.
J. Demetrvics [12] (1980) đã chứng minh rằng: “Nếu s = (U, F) là một sơ đồ

quan hệ thì K
S
là một hệ SpernertrênU. Ngƣợc lại, nếu K là một hệ Sperner bất kỳ
trên U thì luôn tồn tại một sơ đồ quan hệ sao cho K
S
= K”.
Ví dụ 1.3.3. Cho K = {K
1
, …, K
m
} là một hệ SpernertrênU. Khi đó s = (U, F),
ở đây F = {K
1
→ U, …, K
m
→ U}, là sơ đồ quan hệ mà K
s
= K
Tập phản khóa của hệ Sperner K, ký hiệu K
-1
, đƣợc định nghĩa nhƣ sau:
K
-1
= {A P(U) | (B K) (B A) và (A C) ( B K) (B C)}.
Có thể thấy K
-1
cũng là một quan hệ SpernertrênU. Rõ ràng, nếu K đóng vai
trò là tập của các khóa tối tiểu của một sơ đồ quan hệ nào đó thì theo định nghĩa K
-1


là tập tất cả các tập không phải là khóa lớn nhất.
Trong luận văn này luôn quy ƣớc rằng nếu hệ Sperner đóng vai trò là tập các
khóa tối tiểu (tƣơng ứng tập các phản khóa) thì hệ này không rỗng và không chứa
tập (tƣơng ứng không chứa tập U và ). Chúng ta coi mỗi phép so sánh hai thuộc
tính là một phép cơ bản của thuật toán. Vì vậy, nếu chúng ta giả sử rằng các tập con
của U đƣợc biểu diễn nhƣ là các danh sách đƣợc sắp xếp các thuộc tính, thì phép
toán Boolean trên hai tập con của U đòi hỏi khoảng |U| phép cơ bản.
Biết rằng, nếu K là một hệ Sperner khác rỗng tùy ý thì luôn tồn tại một quan hệ
R để K
R
= K (J. Demetrovics [12] (1979)). Từ kết quả này định nghĩa sau đƣợc
đƣa ra: “Cho R là một quan hệ và K là một hệ Sperner khác rỗng trênU. Khi đó, Ta
nói R biểu diễn K nếu K
R
= K”.
Theo Demetrovics j., Vu Duc Thi [16] (1987), định lý sau cho chúng ta một
điều kiện cần và đủ để một quan hệ biểu diễn một Sperner cho trƣớc.
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
24

Định lý 1.3.4. Giả sử K là một hệ Sperner không rỗng và R là một quan hệ trên
U. Khi đó R biểu diễn K nếu và chỉ nếu K
-1
= max (
r
), ở đây max (
r
) là hệ bằng
nhau cực đại của quan hệ R.
Hệ bằng nhau cực đại của quan hệ đƣợc định nghĩa nhƣ sau: Cho R = {h

1
, …,
h
m
} là một quan hệ trên U và là
R
hệ bằng nhau của R, nghĩa là,
R
= {E
ij
| 1 ≤ i < j ≤ m}
với E
ij
= {a U | h
i
(a) = h
j
(a)}. Khi đó, ta đặt
max(
R
) = { E
ij R
| E
pq R
: E
ij
E
pq
}
Cho s = (U, F) là một sơ đồ quan hệ và K

s
là tập tất cả khóa tối tiểu của s. Ký
hiệu K
s
-1
là tập các phản khóa của K
s
. Hệ quả sau là đƣợc chỉ ra.
Hệ quả 1.3.5. Giả sử s = (U, F) là một sơ đồ quan hệ và R là một quan hệ trên
U. Quan hệ đƣợc gọi là biểu diễn s nếu K
R
= K
S.
Khi đó R biểu diễn s nếu và chỉ
nếu K
s
-1
= max(
R
).
Kết quả sau cũng đƣợc chỉ ra bởi J. Demetrovics và Vũ Đức Thi [16] (1987).
Định lý 1.3.6. Giả sử K là một hệ Sperner trên U. Khi đó

Từ hệ quả 1.3.5 và định lý 1.2.6, rõ ràng đối với quan hệ R vấn đề thuộc tính cơ
bản đƣợc giải quyết bằng một thuật toán thời gian đa thức theo kích thƣớc của R.
Tác giả Vũ Đức Thi đã đƣa ra thuật toán tìm một tập phản khóa từ một hệ
Sperner cho trƣớc. Thuật toán đó đƣợc mô tả nhƣ sau:
Thuật toán 1. 3.7.(Tìm tập phản khóa)
Vào: Hệ Sperner K = {B
1

, …, B
m
} trên U
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
25

Ra: K
-1

Phƣơng pháp:
Bƣớc 1: Đặt K
1
= {U – (a) | a B
1
}. Rõ rang K
1
= {B
1
}
-1

Bƣớc q + 1 (q < m). Giả sử K
q
= F
q
{X
1
, …, X
tq
} với X

1
, …, X
tq
chứa B
q+1

và F
q
= {A K
q
| B
q+1
A}. Với mọi i (i = 1, 2, …, t
q
), xây dựng phản khóa của
{B
q+1
} trên X
i
tƣơng tự nhƣ K
1
. Ký hiệu chúng là A
1
i
, …, A
ri
i
(i = 1, 2, …, t
q
). Đặt

K
q+1
= F
q
{A
P
i
| A F
q
}
Cuối cùng đặt K
-1
= K
m
Định lý 1.3.8.Với mỗi q (1 ≤ q ≤ m), K
q
= {B
1
, …, B
q
}
-1
, nghĩa là K
m
= K
-1
.
Có thể thấy rằng K và K
-1
xác định duy nhất lẫn nhau và việc xác định K

-1
dự
trên thuật toán 1.3.7 là phụ thuộc vào thứ tự B
1
, …, B
m
. Ký hiệu K
q
= F
q
{X
1
, …,
X
tq
} và gọi l
q
(1≤ q ≤ m – 1) là số các phần tử của K
q
.
Mệnh đề 1.3.9.Độ phức tạp thời gian tồi nhất của thuật toán 1.3.7 là

ở đây

Rõ ràng, trong mỗi bƣớc thuật toán 1.3.7 K
q
, là một hệ Sperner. Trong các
trƣờng hợp l
q
≤ l

m
(q = 1,2,…, m – 1), dễ dàng thấy độ phức tạp thời gian của thuật
toán 1.3.7 là không lớn hơn . Do đó, trong các trƣờng hợp này
thuật toán 1.3.7 tính K
-1
là thời gian đa thức theo |U|, |K|, |K
-1
|. Rõ ràng, nếu số

×