i
ĐẠI HỌC THÁI NGUYÊN
TRƢỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG
LÊ MẠNH HÀ
NGHIÊN CỨU PHỤ THUỘC MẠNH TRONG
CƠ SỞ DỮ LIỆU
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
http://www.lrc-tnu.edu.vn/
ii
LỜI CAM ĐOAN
Tôi xin cam đoan luận văn là công trình nghiên cứu của riêng cá nhân
tôi, không sao chép của ai do tôi tự nghiên cứu, đọc, dịch tài liệu, tổng hợp và
thực hiện. Nội dung lý thuyết trong trong luận văn tôi có sử dụng một số tài
liệu tham khảo như đã trình bày trong phần tài liệu tham khảo. Chương trình
phần mềm và những kết quả trong luận văn là trung thực và chưa được công
bố trong bất kỳ một công trình nào khác.
Thái Nguyên, ngày7 tháng 6 năm 2014
Học viên thực hiện
Lê Mạnh Hà
Số hóa bởi Trung tâm Học liệu
http://www.lrc-tnu.edu.vn/
iii
LỜI CẢM ƠN
Lời đầu tiên, em xin gửi lời biết ơn sâu sắc đến GS.TS Vũ Đức Thi
người đã tận tình hướng dẫn, chỉ bảo, giúp đỡ em trong suốt quá trình làm
luận văn.
Em cũng xin gửi lời cảm ơn đến các giảng viên trường Đại học Công
nghệ thông tin và Truyền thông - Đại học Thái Nguyên, các thầy Viện Công
nghệ thông tin đã truyền đạt những kiến thức và giúp đỡ em trong suốt quá
trình học của mình.
Tôi cũng xin gửi lời cảm ơn tới các đồng nghiệp, gia đình và bạn bè
những người đã ủng hộ, động viên tạo mọi điều kiện giúp đỡ để tôi có thể
hoàn thành tốt luận văn.
Tôi cũng xin gửi lời cảm ơn tới Ban giám hiệu Trường Cao đẳng Sư
phạm Quảng Ninh đã tạo kiện thuận lợi cho tôi tham gia khóa học và trong
suốt quá trình hoàn thành luận văn.
Một lần nữa, xin chân thành cảm ơn.
Thái Nguyên, ngày 7 tháng 6 năm 2014
Học viên thực hiện
Lê Mạnh Hà
Số hóa bởi Trung tâm Học liệu
http://www.lrc-tnu.edu.vn/
iv
MỤC LỤC
Lời cam đoan .......................................................................................................................
Lời cảm ơn ...........................................................................................................................
Mục lục .................................................................................................................................
Phần mở đầu ........................................................................................................................
Bảng các kí hiệu ...................................................................................................................
Bảng các hình vẽ ..................................................................................................................
Chƣơng 1: Phụ thuộc hàm ................................................................................................
1.1. Định nghĩa............................................................................................................
1.2. Hệ tiên đề ArmStrong ..........................................................................................
1.3. Bao đóng của tập phụ thuộc hàm và tập thuộc tính .............................................
1.4. Khoá tối thiểu của sơ đồ quan hệ và quan hệ ......................................................
1.5. Các dạng chuẩn ....................................................................................................
1.6. Hệ Sperner ...........................................................................................................
1.7. Các dạng tương đương của họ phụ thuộc hàm ....................................................
1.8. Kết luận ................................................................................................................
Chƣơng 2: Phụ thuộc mạnh và một số tính chất đặc trƣng của phụ
thuộc mạnh...........................................................................................................................
2.1. Định nghĩa............................................................................................................
2.2. Hệ tiên đề phụ thuộc mạnh ..................................................................................
2.3. Bao đóng của tập phụ thuộc mạnh và tập thuộc tính ...........................................
2.4. Khoá tối thiểu của sơ đồ mạnh và quan hệ ..........................................................
2.5. Các dạng tương đương của họ phụ thuộc mạnh ..................................................
2.6. Một số tính chất cơ bản của bao đóng của tập thuộc tính ...................................
2.7. Thuật toán tính bao đóng của tập thuộc tính trên quan hệ...................................
2.8. Họ các tập tối thiểu ..............................................................................................
2.9. Quan hệ ArmStrong của phụ thuộc mạnh ...........................................................
Số hóa bởi Trung tâm Học liệu
http://www.lrc-tnu.edu.vn/
v
2.9.1. Sự tồn tại của quan hệ ArmStrong .........................................................
2.92. Các thuật toán ..........................................................................................
2.9.3. Một số bài toán quan trọng .....................................................................
2.10. Kết luận ..............................................................................................................
Chƣơng 3: Cài đặt một số thuật toán về phụ thuộc mạnh trong CSDL ........................
3.1. Lựa chọn bài toán. ...............................................................................................
3.2 Thuật toán sử dụng trong chương trình.................................................................
3.3.Cài đặt chương trình ........................................................................................................
3.4.Một số mã lệnh ................................................................................................................
3.5. Hướng dẫn sử dụng chương trình. .......................................................................
3.6Chương trình minh họa ..........................................................................................
3.7 Đánh giá kết quả thực nghiệm .............................................................................
Kết luận ................................................................................................................................
Tài liệu tham khảo ..............................................................................................................
Số hóa bởi Trung tâm Học liệu
http://www.lrc-tnu.edu.vn/
vi
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 [6]
mà ngày nay đã 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ỉ đ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 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ế rất phong phú và đa dạng. Loại ràng buộc dữ liệu đầu tiên là
phụ thuộc hàm được giới thiệu bởi E. F. Codd [6] vào những năm 1970. Ba
loại ràng buộc dữ liệu khác sau đó cũng được xem xét đến là phụ thuộc đối
ngẫu, phụ thuộc mạnh và phụ thuộc yếu bởiCzédli [7, 8] (1980). Tiếp sau đó
J. Demetrovics và G.Gyepesi [11] (1983), vànhững người khác [1, 15, 26]
Số hóa bởi Trung tâm Học liệu
http://www.lrc-tnu.edu.vn/
vii
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 các thuộc tính của vế trái. 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 trên 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 phụ thuộc hàm và phụ
thuộc mạnh. Luận văn bao gồm: Phần mở đầu, 3 chương và phần kết luận.
Chương 1: Nhắc lại một số khái niệm cơ bản về phụ thuộc hàm và
quan hệ Armstrong.
Chương 2: Mục đích của chương này là trình bày nghiên cứu quan hệ
Armstrong đối với phụ thuộc mạnh. Có thể nói, trong nghiên cứu về các ràng
buộc dữ liệu nói chung và phụ thuộc mạnh nói riêng, khái niệm bao đóng của
tập thuộc tính thật sự đóng một vai trò quan trọng. Kết quả chính là trình bày
một số nghiên cứu về quan hệ Armstrong. Đầu tiên, khái niệm họ các tập tối
tiểu của thuộc tính của một sơ đồ mạnh được đề xuất. Đây là khái niệm đóng
vai trò quan trọng trong việc xây dựng quan hệ Armstrong của sơ đồ mạnh
Cuối cùng, luận văn đề cập đến bốn bài toán quan trọng đối với việc
nghiên cứu cấu trúc và lôgic của họ phụ thuộc mạnh: bài toán xây dựng quan
hệ Armstrong của một sơ đồ mạnh cho trước, bài toán xây dựng sơ đồ mạnh
đúng trên một quan hệ cho trước, bài toán kéo theo phụ thuộc mạnh-quan hệ
và bài toán tương đương phụ thuộc mạnh-quan hệ. Tất cả các bài toán này
được chứng tỏ có thể được giải quyết bằng các thuật toán thời gian đa thức.
Chương 3: Cài đặt chương trình để minh họa phụ lý thuyết phụ thuộc
mạnh.
Số hóa bởi Trung tâm Học liệu
http://www.lrc-tnu.edu.vn/
viii
BẢNG CÁC KÍ HIỆU
Trong luận văn, có 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 trên U
G=(U,S): Sơ đồ mạnh, với U là tập thuộc tính và S là tập các phụ thuộc
mạnh trên U.
R: quan hệ trên tập thuộc tính U.
FR: (tương ứng SR) tập tất cả các phụ thuộc hàm (tương ứng phụ thuộc
mạnh) đúng trên quan hệ R.
F+: (tương ứng S+) bao đóng của tập phụ thuộc hàm (tương ứng phụ
thuộc mạnh).
KS: (tương ứng KG, KR) tập tất cả các khóa tối tiểu của sơ đồ quan hệ s
(tương ứng sơ đồ mạnh, quan hệ R).
KS-1: (tương ứng KR-1) tập phản khóa của KS (tương ứng KR).
Ka: họ các tập tối tiểu của thuộc tính a.
Fn: (tương ứng Dn) tập tất cả các thuộc tính không cơ bản (tương ứng
thuộc tính phụ thuộc).
: (tương ứng NR) hệ bằng nhau (tương ứng không bằng nhau) quan
R
hệ của R.
IS: họ các tập độc lập tối tiểu của sơ đồ quan hệ s.
LS: (tương ứng LR) họ tất cả các bao đóng của tập thuộc tính của sơ đồ
quan hệ s (tương ứng quan hệ R).
CSDL: cơ sở dữ liệu.
Số hóa bởi Trung tâm Học liệu
http://www.lrc-tnu.edu.vn/
ix
BẢNG CÁC HÌNH VẼ
Hình 1.1: Phụ thuộc hàm.
Hình 1.2 : Tương quan giữa lớp quan hệ với lớp phụ thuộc hàm.
Hình 1.3 : Tương quan giữa lớp phụ thuộc hàm với lớp hàm đóng.
Hình 1.4 : Lớp các dạng chuẩn.
Hình 1.5 : Tương quan giữa họ phụ thuộc hàm với hệ Sperner.
Hình 1.6 : Tương quan lớp các hàm đóng với hàm chọn đặc biệt.
Hình 1.7 : Tương quan giữa lớp các hàm đóng và nửa dàn giao.
Hình 1.8 : Tương quan giữa lớp các nửa dàn giao và tập không giao.
Số hóa bởi Trung tâm Học liệu
http://www.lrc-tnu.edu.vn/
1
Chƣơng 1: PHỤ THUỘC HÀM
Khái niệm phụ thuộc hàm được đề xuất bởi E.F.Codd và sau đó lần đầu
tiên được tiên đề hoá bởi W.W.Armstrong [4](1974). Đâ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 phụ thuộc này.
1.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ộtmệnh đề có dạng X Y, trong đóX, Y U. Ta nói phụ thuộc hàm X Y
đúngtrong quan hệ R={h1,..,hm} trên U nếu:
( hi,hj R)(( a X)(hi(a)=hj(a))
( b Y)(hi(b)=hj(b)))
Ta cũng nói rằng R thỏa phụ thuộc hàm X Y.
Gọi FR là họ tất cả các phụ thuộc hàm đúng trên quan hệ R.
Ta có thể nhận thấy rằng X mà phụ thuộc hàm vào Y, nếu hai dòng bất
kỳ mà các giá trị của tập thuộc tính X mà bằng nhau từng cặp một, thì kéo
theo các giá trị trên tập thuộc tính Y cũng phải bằng nhau từng cặp một.
Với định nghĩa này dễ thấy rằng trong các file dữ liệu cột, mã số hoặc
thứ tự không thể bằng nhau.
Số hóa bởi Trung tâm Học liệu
http://www.lrc-tnu.edu.vn/
2
Ví dụ:Một cửa hàng cần quản lý về các loại mặt hàng mà họ bán ra.
Giả sử mỗi loại hàng có một mầu duy nhất và một giá duy nhất. Khi đó kí
hiệu hàng hóa (KIHIEU) xác định hàm màu (MAU) và đơn giá (DONGIA)
của loại hàng đó. Trong trường hợp đơn giản đó, ta có tập thuộc tính U =
{KIHIEU, MAU, DONGIA} và tập các phụ thuộc hàm F = {KIHIEU
MAU, KIHIEU
R
DONGIA}.
KIHIEU MAU DONGIA
S
KIHIEU MAU DONGIA
A1
Xanh
10
A1
Xanh
10
A2
Vàng
20
A2
Vàng
20
B1
Đỏ
30
A1
Đỏ
10
(a)
(b)
Hình 1.1. Phụ thuộc hàm.
Hình 1.1(a) mô tả quan hệ r thỏa F vì nó thỏa cả hai phụ thuộc hàm của
F. Trong hình 1.1(b), quan hệ s mặc dù thỏa phụ thuộc hàm KIHIEU
DONGIA. Tuy nhiên, s không thỏa KIHIEU
MAU vì nó chứa hai bộ bằng
nhau trên KIHIEU(“A1”) nhưng không bằng nhau trên MAU (“Xanh” và
“Đỏ”) do đó nó không thỏa F. Tất cả nhưng quan hệ thỏa F như r lập thành
lược đồ quan hệ R(U) = (U, F).
Trong ví dụ này, rõ ràng mọi quan hệ thỏa F đều thỏa (KIHIEU
MAU DONGIA) nên phụ thuộc hàm này là được suy diễn từ F hay F =
(KIHIEU
MAU DONGIA).
Khái niệm phụ thuộc hàm miêu tả một loạt ràng buộc (phụ thuộc dữ
liệu) xảy ra tự nhiên nhất giữa các tập thuộc tính
Số hóa bởi Trung tâm Học liệu
http://www.lrc-tnu.edu.vn/
3
1.2 Hệ tiên đề Arsmtrong
Năm 1974, Armstrong đã chỉ ra được bốn đặc trưng cho một tập phụ
thuộc hàm của một file dữ liệu nào đó. Chúng được gọi là hệ tiên đề
Armstrong
Giả sửU là 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.X
X
F.
F2.X Y
F, Y
Z F
F3.X
Y
F, X
V, W
Y
V
W
F.
F4.X Y
F, V
W F
X
V
Y
W F.
Rõ ràng FR là một
X Z F.
- họ trên U.
Trong [4]W.W.Armstrong đã chứng minh một kết quả rất quan trọ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 FR = F.
Kết quả này cù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 (Fl)-(F4)
đúng là các đặc trưng của họ phụ thuộc hàm. Nhờ có hệ tiên đề này từ nay trở
đi 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 lôgic của mô hình dữ liệu quan hệ. Đặc biệt, 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.
Ví dụ chỉ ra có nhiều quan hệ khác nhau xong các họ đầy đủ các phụ
thuộc hàm của chúng lại như nhau.
Số hóa bởi Trung tâm Học liệu
http://www.lrc-tnu.edu.vn/
4
Cho R1 và R2 là các quan hệ sau:
a b
a B
0 0
0 0
R1 1 1
R2 1 1
2 1
2 1
3 2
3 1
Có thể thấy r1 và r2 khác nhau nhưng Fr1 = Fr2.
Như vậy, tương quan giữa lớp các quan hệ với lớp các họ phụ thuộc
hàm có thể được thể hiện bằng hình vẽ sau.
Lớp các quan hệ
Lớp các phụ thuộc hàm
Hình1.2 : Tương quan giữa lớp quan hệ với lớp phụ thuộc hàm
1.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.
Như vậy khi cho một sơ đồ quan hệ có nghĩa 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 các ràng buộc giữa các tập
cột (bằng việc cho phụ thuộc hàm). Sự thật việc cho các ràng buộc này phải
Số hóa bởi Trung tâm Học liệu
http://www.lrc-tnu.edu.vn/
5
tuân theo nghĩa của các cột.
Khi đóbao đóng của 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).
Ta thấy có một tương ứng 1-1 giữa lớp các hàm đóng và lớp các họf ,có hình
vẽ sau
Lớp các hàm đóng
Lớp các họ phụ thuộc hàm
Hình 1.3 : Tương quan giữa lớp phụ thuộc hàm với lớp hàm đóng
Trong [4] W.W.Armstrong đã 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 FR = 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.
Gọi X là tập con thuộc tính của U. Ký pháp X+ ={a U|X {a} F+}.
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(D.Maier [23]). 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
Y có 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 [23]).
Đối
với
quan
hệ
R
Số hóa bởi Trung tâm Học liệu
trên
tập
thuộc
tính
U,
ta
http://www.lrc-tnu.edu.vn/
đặt
6
XR+={a U|X {a} FR}. Khi đó, XR+ được gọi bao đóng của tập thuộc tính
X trên R.
Bài toán xác định bao đóng XR+ cũng có độ phức tạp là đa thức theo
kích thước của R(Vũ Đức Thi [25]).
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 thoả mọi phụ thuộc hàm của F.
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). Các tính chất này có thể tìm
thấy trong[2].
Định lý 1.3.1. [2]Giả sử s = (U, F) là một sơ đồquan hệ và 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
7. X
Y F+ khi và chỉ khi Y+ X+.
8. X
X+ F+ và X+
X
9. X+ = Y+ khi và chỉ khi X
X+ .
F+
Y F+ và Y
X F+.
Trong phần này cùng giới thiệu thêm khái niệm phủ (D.Maier [23]).
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+ =
Số hóa bởi Trung tâm Học liệu
http://www.lrc-tnu.edu.vn/
7
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ốitiểu nếu |F|≤|F’| với mọi phủF’.
1.4 Khoá 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 khoá tối tiể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 FR).
X K sao cho X
U
F+(tương ứng X U FR).
Nếu K thỏa điều kiện (1) thì K được gọi là khoá của s (tương ứng của
R).
Ký pháp Ks(tương ứng KR) là tập tất cả khoá tối tiểu của s(tương ứng
R). Đã có nhiều tác giả nghiên cứu về khoá tối tiểu của sơ đồ quan hệ và quan
hệ. Chẳng hạn, những kết quả này có thể tìm thấy trong [9, 14, 17].
Đối với việc tìm một khoá tối tiểu của sơ đồ quan hệ và quan
hệ,cácthuậttoán tương ứng của nó đều có độphức tạp thời gian đa thức.
Biếtrằng,trong[3] để tìm một khoá tối tiểu của sơ đồ quan hệs = (U,F)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= {Xi Yi|Xi,Yi
L=
U,Xi Yi= ,i = 1,2,... ,m}
R)+và
, R=
Yi
|Xi
Yi
, Xi Yi F
Khi đó, tachứng minh được một mối quan hệ tương đương khoá như
sau:
Định lý 1.4.1.K là một khóa tối tiểu của
Số hóa bởi Trung tâm Học liệu
nếu và chỉ nếu K (U-R) là một
http://www.lrc-tnu.edu.vn/
8
khoá tối tiểu của s.
Rõ ràng, việc tìm một khoá 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ệ,
chẳng hạn có thể tìm thấy trong [12].
Thuật toán xác định tập tất cả khoá 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.Lucchesi và S.L.Osborn
[21] 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ả khoá 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ả khoá tối tiểu cũng có độ phức
tạp là hàm mũ theo kích thước của R(C.Beeri, M.Dowd, R.Fagin và R.Staman
[5], J. Demetrovics và Vũ Đức Thi [14], G.Gottlob và L.Libkin [19]).
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 khoá tối tiểu K Ks(tương ứng K KR) để
a là một thuộc tính của K. Trong trường hợp ngược lạia được gọi là thuộc tính
không cơ bản. Ký pháp Fn là tậ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 hoá 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.Lucchesi và S.L.Osborn [21]) 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, đố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 (J.Demetrovics và Vũ Đức Thi [14]).
Số hóa bởi Trung tâm Học liệu
http://www.lrc-tnu.edu.vn/
9
1.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, xoá 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 đổi về các dạng chuẩn thích hợp. Quá trình đó được gọi
là quá trình chuẩn hoá. Như vậy, việc chuẩn hoá các quan hệ cũng như sơ đồ
quan hệ đóng một vai trò cực kỳ quan trọng trong thiết kế các hệ quản trị
CSDL trên mô hình dữ liệu quan hệ của E.F.Codd. Nhờ có chuẩn hoá, 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à tập phụ thuộc hàm trên 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à tập phụ thuộc hàm trên U và X, Y
F+. 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
Z X
F+và Y
F+, Z Y
F +,
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 s chỉ chứa các 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 đều phụ thuộc đầy đủ vào
mọi khoá 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 không cơ bản của s phụ thuộc bắc cầu vào
Số hóa bởi Trung tâm Học liệu
http://www.lrc-tnu.edu.vn/
10
bất kỳ một khoá 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 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 khoá tối tiểu của s.
Như vậy việc phân lớp các dạng chuẩn có thể được thể hiện quan hình vẽ sau
BCNF
3NF
2NF
1NF
Hình 1.4 : Lớp các dạng chuẩn
Đối với quan hệ R trên tập thuộc tính U, thì R được gọi ở 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, rõ ràng 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à 3NF thì 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ó khá nhiều [10, 13, 15, 16, 18].
Số hóa bởi Trung tâm Học liệu
http://www.lrc-tnu.edu.vn/
11
Đố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 hay không là đượ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 s có phải dạng chuẩn 3 hay không là NP-đầy đủ [25].
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.6 Hệ Sperner
Cho U là một tập hữu hạnP(U) là tập luỹ thừa của U và K là một tập
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 Ks và KR(tập tất cả khoá
tối tiểu của sơ đồ quan hệ s và quan hệ R) là các hệ Sperner.
Trong [10] J.Demetrovics đã chứng minh rằng, nếu s=(U, F) là một sơ
đồ quan hệ thì Ks là một hệ Sperner trên U. Ngược lại, nếu Ks là một hệ
Sperner bất kỳ trên U thì luôn tồn tại một sơ đồ quan hệ s sao cho Ks = K.
Mối quan hệ giữa lớp họ phụ thuộc hàm và lớp các hệ Sperner thể hiện qua
hình vẽ sau
Lớp các họ phụ thuộc hàm
Số hóa bởi Trung tâm Học liệu
Lớp các hệ Sperner
http://www.lrc-tnu.edu.vn/
- Xem thêm -