Các phụ thuộc dữ liệu có vai trò quan trọng trong thiết kế cơ sở
dữ liệu, quản lý chất lượng dữ liệu và biểu diễn tri thức. Các phụ
thuộc trong phát hiện tri thức được trích xuất từ dữ liệu hiện có của
cơ sở dữ liệu. Quá trình trích xuất này được gọi là phát hiện phụ
thuộc.
Mục đích của việc phát hiện phụ thuộc là tìm các phụ thuộc quan
trọng đúng (thỏa mãn) trên dữ liệu của cơ sở dữ liệu. Các phụ thuộc
(được phát hiện) biểu diễn tri thức và có thể được dùng để kiểm tra
thiết kế cơ sở dữ liệu, đánh giá chất lượng dữ liệu.
Từ những năm đầu thập kỷ 80 của thế kỷ 20, bài toán phát hiện
phụ thuộc đã thu hút được đông đảo các nhà khoa học. Và cho đến
thời điểm hiện tại, vấn đề phát hiện phụ thuộc từ các tập dữ liệu lớn
(big data) càng trở nên quan trọng vì trong các tập dữ liệu lớn này
chứa rất nhiều tri thức quý giá.
Hiện nay, với sự phát triển của các thiết bị số, đặc biệt là các ứng
dụng mạng xã hội và điện thoại thông minh, lượng dữ liệu trong các
ứng dụng tăng rất nhanh làm nảy sinh vấn đề lưu trữ, quản lý, đặc
biệt là vấn đề phát hiện tri thức từ các tập dữ liệu lớn đó. Bài toán
phát hiện FD và RFD trong cơ sở dữ liệu là một trong những vấn đề
quan trọng của phát hiện tri thức. Ba loại phụ thuộc điển hình được
chú ý phát hiện là FD, AFD và CFD. AFD là sự mở rộng của FD,
tính chất "xấp xỉ" dựa trên độ thỏa hoặc độ đo lỗi; CFD là sự mở
rộng của FD, nhằm nắm bắt những yếu tố không nhất quán trong dữ
liệ
26 trang |
Chia sẻ: thientruc20 | Lượt xem: 567 | Lượt tải: 0
Bạn đang xem trước 20 trang tài liệu Tóm tắt luận án Phát hiện phụ thuộc hàm và phụ thuộc hàm suy rộng trong cơ sở dữ liệu, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
BỘ GIÁO DỤC VÀ ĐÀO TẠO VIỆN HÀN LÂM KHOA HỌC
VÀ CÔNG NGHỆ VIỆT NAM
HỌC VIỆN KHOA HỌC VÀ CÔNG NGHỆ
-----------------------------
VŨ QUỐC TUẤN
PHÁT HIỆN PHỤ THUỘC HÀM VÀ PHỤ THUỘC
HÀM SUY RỘNG TRONG CƠ SỞ DỮ LIỆU
Chuyên ngành: Cơ sở Toán học cho Tin học
Mã số: 9 46 01 10
TÓM TẮT LUẬN ÁN TIẾN SĨ TOÁN HỌC
Hà Nội - 2019
Công trình được hoàn thành tại:
Học viện Khoa học và Công nghệ - Viện Hàn lâm Khoa học và
Công nghệ Việt Nam
Người hướng dẫn khoa học 1: PGS. TS. Hồ Thuần
Người hướng dẫn khoa học 2: PGS. TS. Nguyễn Thanh Tùng
Phản biện 1:
Phản biện 2:
Phản biện 3: .
Luận án sẽ được bảo vệ trước Hội đồng đánh giá luận án tiến sĩ cấp
Học viện, họp tại Học viện Khoa học và Công nghệ - Viện Hàn lâm
Khoa học và Công nghệ Việt Nam vào hồi giờ ..’, ngày tháng
năm 201.
Có thể tìm hiểu luận án tại:
- Thư viện Học viện Khoa học và Công nghệ
- Thư viện Quốc gia Việt Nam
1
MỞ ĐẦU
Các phụ thuộc dữ liệu có vai trò quan trọng trong thiết kế cơ sở
dữ liệu, quản lý chất lượng dữ liệu và biểu diễn tri thức. Các phụ
thuộc trong phát hiện tri thức được trích xuất từ dữ liệu hiện có của
cơ sở dữ liệu. Quá trình trích xuất này được gọi là phát hiện phụ
thuộc.
Mục đích của việc phát hiện phụ thuộc là tìm các phụ thuộc quan
trọng đúng (thỏa mãn) trên dữ liệu của cơ sở dữ liệu. Các phụ thuộc
(được phát hiện) biểu diễn tri thức và có thể được dùng để kiểm tra
thiết kế cơ sở dữ liệu, đánh giá chất lượng dữ liệu.
Từ những năm đầu thập kỷ 80 của thế kỷ 20, bài toán phát hiện
phụ thuộc đã thu hút được đông đảo các nhà khoa học. Và cho đến
thời điểm hiện tại, vấn đề phát hiện phụ thuộc từ các tập dữ liệu lớn
(big data) càng trở nên quan trọng vì trong các tập dữ liệu lớn này
chứa rất nhiều tri thức quý giá.
Hiện nay, với sự phát triển của các thiết bị số, đặc biệt là các ứng
dụng mạng xã hội và điện thoại thông minh, lượng dữ liệu trong các
ứng dụng tăng rất nhanh làm nảy sinh vấn đề lưu trữ, quản lý, đặc
biệt là vấn đề phát hiện tri thức từ các tập dữ liệu lớn đó. Bài toán
phát hiện FD và RFD trong cơ sở dữ liệu là một trong những vấn đề
quan trọng của phát hiện tri thức. Ba loại phụ thuộc điển hình được
chú ý phát hiện là FD, AFD và CFD. AFD là sự mở rộng của FD,
tính chất "xấp xỉ" dựa trên độ thỏa hoặc độ đo lỗi; CFD là sự mở
rộng của FD, nhằm nắm bắt những yếu tố không nhất quán trong dữ
liệu.
Các hướng nghiên cứu giải quyết bài toán phát hiện RFD trong cơ
sở dữ liệu, trước hết tập trung vào phát hiện FD do FD là trường hợp
riêng của tất cả các loại RFD, các kết quả về phát hiện FD có thể
2
được thích nghi để phát hiện các loại phụ thuộc khác (chẳng hạn
AFD). Mô hình chung của bài toán phát hiện FD là xây dựng không
gian tìm kiếm các FD, kiểm tra sự thỏa mãn của từng FD, tỉa không
gian tìm kiếm, xuất ra tập FD đã phát hiện được và làm gọn tập FD
này (giảm bớt sự dư thừa). Trong bài toán phát hiện FD, phát hiện
khóa là trường hợp đặc biệt và cũng là bài toán quan trọng trong
chuẩn hóa cơ sở dữ liệu quan hệ.
Độ phức tạp thời gian tổng quát của bài toán phát hiện FD là đa
thức theo số bản ghi trong cơ sở dữ liệu nhưng là hàm mũ theo số
thuộc tính của cơ sở dữ liệu đó. Do đó, để giảm thời gian xử lý, cần
xây dựng các luật tỉa hiệu quả. Trong số các luật tỉa đã được đề xuất,
tỉa khóa là rất quan trọng, khi phát hiện được khóa thì có thể tỉa (xóa)
mọi nút chứa khóa trong không gian tìm kiếm. Tuy nhiên, các luật tỉa
khóa hiện có vẫn còn nhược điểm là tìm khóa trên toàn bộ tập thuộc
tính của cơ sở dữ liệu (đây thực sự là vấn đề rất khó vì độ phức tạp
thời gian có thể là hàm mũ theo số thuộc tính của ), vậy có cách
nào phát hiện được khóa trong một tập con thực sự của hay
không? Câu hỏi trên chính là một trong những động lực cơ bản của
luận án này.
Sau khi đã phát hiện được tập các phụ thuộc, tập này có thể rất
lớn và gây khó khăn cho việc sử dụng vì chứa những dư thừa không
cần thiết. Vấn đề quan trọng đặt ra là làm thế nào để loại bỏ được
(càng nhiều càng tốt) sự dư thừa trong tập phụ thuộc đã được phát
hiện. Đây cũng là bài toán được quan tâm trong luận án.
Một hướng nghiên cứu nữa trong luận án là tập trung nghiên cứu,
phát hiện hai loại RFD điển hình, đó là AFD và CFD. Cả AFD và
CFD đều có nhiều ứng dụng và xuất hiện nhiều trong các cơ sở dữ
liệu quan hệ, đặc biệt CFD còn là công cụ mạnh khi giải quyết bài
3
toán làm sạch dữ liệu. Với AFD, vấn đề quan trọng nhất là cải tiến và
phát triển các kỹ thuật tính toán các độ thỏa hoặc độ đo lỗi; với CFD,
ngoài việc phát hiện, thì việc tìm hiểu về một thứ tự phân cấp giữa
CFD và một số loại phụ thuộc khác cũng là vấn đề rất đáng quan
tâm.
Nội dung nghiên cứu trong luận án là những vấn đề thời sự, được
xới lại, làm mới với hàng loạt các công trình của các tác giả nước
ngoài; trong khi ở trong nước, có nhiều công trình được công bố liên
quan tới các phương pháp và thuật toán xác định các tập rút gọn
(reduct) của một bảng quyết định theo nhiều tiếp cận khác nhau.
Mục tiêu của luận án là nghiên cứu một số vấn đề như đã phân
tích ở trên trong phạm vi cơ sở dữ liệu quan hệ. Để thực hiện các
mục tiêu trên, chúng tôi tập trung vào các nội dung sau:
Chương 1. Trình bày tổng quan về mô hình dữ liệu quan hệ, các
khái niệm FD, bao đóng của một tập thuộc tính, khóa của lược đồ
quan hệ,Đồng thời tập trung trình bày về RFD và khát quát các
phương pháp đã được sử dụng để phát hiện FD và RFD.
Chương 2. Trình bày về AFD và CFD (hai loại FD suy rộng điển
hình) và một số kết quả liên quan.
Chương 3. Trình bày các thuật toán tính bao đóng của một tập
thuộc tính đối với một tập FD, vấn đề rút gọn cho bài toán xác định
khóa của lược đồ quan hệ và một số kết quả liên quan.
Chương 4. Trình bày một phép biến đổi tiền xử lý hiệu quả các
tập FD (nhằm hạn chế sự dư thừa trong một tập FD cho trước) và
một số kết quả liên quan.
4
Chương 1
PHỤ THUỘC HÀM VÀ PHỤ THUỘC HÀM SUY RỘNG
TRONG MÔ HÌNH DỮ LIỆU QUAN HỆ
1.1. Nhắc lại một số khái niệm cơ bản
Một quan hệ r trên tập thuộc tính Ω = {A1, A2,,An}
r {(a1, a2,,an) | ai Dom(Ai), i = 1, 2,, n}
trong đó Dom(Ai) là miền trị của thuộc tính Ai, i = 1, 2,, n.
Một lược đồ quan hệ S là một cặp có thứ tự S = , trong đó
Ω là tập hữu hạn các thuộc tính, F là tập các FD.
1.2. Phụ thuộc hàm
Phụ thuộc hàm. Giả sử X, Y . Khi đó X Y nếu với mọi quan
hệ r trên lược đồ S(), t1, t2 r mà t1[X] = t2[X] thì t1[Y] = t2[Y].
Hệ quy tắc suy diễn Armstrong. Với mọi X, Y, Z , ta có
Q1. (Phản xạ): Nếu Y X thì X Y.
Q2. (Gia tăng): Nếu X Y thì XZ YZ.
Q3. (Bắc cầu): Nếu X Y và Y Z thì X Z.
Bao đóng của X đối với tập FD F, là tập FX
với:
FX
= {A (X A) F+}
Khóa của lược đồ quan hệ. Cho S = và K . Ta nói K
là một khóa của S nếu hai điều kiện sau đồng thời được thỏa mãn:
(i). (K ) F+
(ii). Nếu K' K thì (K' ) F+
Nếu K thỏa mãn (i) thì K được gọi là một siêu khóa.
1.3. Phụ thuộc hàm suy rộng (RFD)
1.3.1. Phụ thuộc hàm xấp xỉ (AFD)
AFD là các FD được thỏa mãn với phần lớn các bộ trong quan hệ.
Để xác định mức độ vi phạm của X Y trên quan hệ r, một độ đo lỗi
5
nào đó, ký hiệu là ( , )e X Y r , sẽ được sử dụng. Cho trước một
ngưỡng lỗi , 0 1. Ta nói X Y là AFD nếu và chỉ nếu
( , )e X Y r .
1.3.2. Phụ thuộc hàm mêtric (MFD)
Xét X Y trên quan hệ r. Một MFD là sự mở rộng của FD bằng
cách thay thế điều kiện t1[Y] = t2[Y] bằng d(t1[Y], t2[Y]) ≤ , trong đó
d là một mêtric trên Y, d: dom(Y) dom(Y) R và 0 là một tham
số.
1.3.3. Phụ thuộc hàm điều kiện (CFD)
Một CFD có dạng = (X Y, Tp), trong đó X Y là một FD và
Tp là một bảng mẫu với các thuộc tính trong XY. Bảng mẫu xác định
các bộ của quan hệ thỏa X Y. Một cách trực quan, bảng mẫu Tp
của làm mịn X Y được nhúng trong bằng việc áp đặt mối liên
kết của các giá trị dữ liệu có liên quan về mặt ngữ nghĩa.
1.3.4. Phụ thuộc hàm mờ (FFD)
Cho r là một quan hệ trên Ω = {A1, A2,,An} và X, Y . Với Ai
Ω, mức độ bằng nhau của các giá trị dữ liệu trong Dom(Ai) được
xác định bởi quan hệ (hàm) Ri.
Cho trước tham số (0 ≤ ≤ 1), ta nói hai bộ t1[X] và t2[X] bằng
nhau với mức , kí hiệu t1[X] E() t2[X], nếu Rk(t1[Ak], t2[Ak])
với mọi Ak X. Khi đó, X Y được gọi là FFD mức nếu t1, t2
r, t1[X] E() t2[X] t1[Y] E() t2[Y].
1.3.5. Phụ thuộc sai phân (DD)
DD mở rộng quan hệ bằng nhau trong FD X Y trên quan hệ r.
Điều kiện t1, t2 bằng nhau trên X và bằng nhau trên Y tương ứng được
thay thế bằng điều kiện hai bộ này thỏa mãn hàm L và hàm R. Thực
chất, các hàm sai phân sử dụng khoảng cách mêtric để mở rộng các
quan hệ bằng nhau được sử dụng trong FD.
6
FD là trường hợp đặc biệt của DD khi L[t1[X], t2[X]) = 0 và
R[t1[Y], t2[Y]) = 0. Ngoài ra, DD còn là sự mở rộng của MFD khi
L[t1[X], t2[X]) = 0 và R[t1[Y], t2[Y]) ≤ .
1.3.6. Các loại RFD khác
Còn có nhiều loại RFD khác nữa. Xuất phát từ các ứng dụng thực
tế, mỗi loại RFD là kết quả của sự mở rộng (nới lỏng) quan hệ bằng
nhau trong khái niệm FD truyền thống theo một cách thức hay một
nghĩa nào đó.
1.4. Phát hiện FD
Phương pháp top-down. Phương pháp này sinh các FD ứng viên
dựa trên một dàn thuộc tính, kiểm tra sự thỏa mãn của các FD ứng
viên và sau đó sử dụng các FD đã được phát hiện là đúng để tỉa các
FD ứng viên ở các mức thấp hơn trong dàn nhằm thu hẹp không gian
tìm kiếm. Một vấn đề quan trọng là làm thế nào để kiểm tra một FD
ứng viên có được thỏa mãn hay không. Một số phương pháp tính
toán đã được sử dụng là phương pháp phân hoạch và phương pháp
tập tự do. Hai thuật toán nổi tiếng sử dụng phương pháp phân hoạch
là TANE và FD_Mine. Thuật toán cài đặt phương pháp tập tự do là
FUN.
Phương pháp bottom-up. Khác với phương pháp top-down ở trên,
phương pháp bottom-up so sánh các bộ của quan hệ để tính các tập
bằng nhau hoặc các tập khác nhau. Các tập này sau đó được sử dụng
để có được các FD đúng trên quan hệ đang xét. Đặc trưng của kỹ
thuật bottom-up là chúng kiểm tra các FD ứng viên dựa trên các tập
bằng nhau hoặc khác nhau đã được tính. Hai thuật toán điển hình sử
dụng phương pháp này là Dep-Miner và FastFDs.
Độ phức tạp trong trường hợp xấu nhất của bài toán phát hiện FD
là hàm mũ theo số thuộc tính của .
7
Có một số chủ đề liên quan đến phát hiện FD như lấy mẫu, duy trì
các FD đã được phát hiện, phát hiện khóa, ...
1.5. Phát hiện RFD
1.5.1. Phát hiện AFD
Để kiểm tra các AFD, các phương pháp phát hiện FD có thể được
thích nghi để phát hiện các AFD bằng cách bổ sung vào phần tính
toán độ thỏa hoặc độ đo lỗi.
1.5.2. Phát hiện CFD
Những khó khăn xuất hiện khi phát hiện các CFD đến từ hai khía
cạnh. Số lượng các FD nhúng cần kiểm tra có thể có là hàm mũ theo
số thuộc tính. Mặt khác, bài toán phát hiện bảng mẫu tối ưu là NP-C.
Ba thuật toán điển hình để phát hiện CFD là CFDMiner, CTANE
và FastCFD.
1.6. Tổng kết chương 1
Chương này đã trình bày khái quát về FD và RFD trong mô hình
dữ liệu quan hệ. Bài toán phát hiện phụ thuộc dữ liệu có không gian
tìm kiếm là hàm mũ theo số thuộc tính.
Các phương pháp phát hiện FD có thể được thích nghi để phát
hiện các RFD. Chẳng hạn, có thể bổ sung phần tính độ đo lỗi hoặc độ
thỏa vào thuật toán phát hiện FD để phát hiện các AFD.
Đã có một số thuật toán được đề xuất để giải quyết bài toán phát
hiện FD và RFD.
8
Chương 2.
PHỤ THUỘC HÀM XẤP XỈ
VÀ PHỤ THUỘC HÀM ĐIỀU KIỆN
2.1. Về một số kết quả liên quan đến FD và AFD
Phần này chỉ rõ mối quan hệ giữa các kết quả của hai bài báo
thuộc hai nhóm tác giả ([Y. Huhtala et al., 1999] và [S. King et al.,
2003]) và chứng minh một số bổ đề quan trọng, là nền tảng để phát
hiện FD và AFD (chưa được chứng minh).
2.1.1. Phân hoạch
Với t r và X , ký hiệu:
[t]X = {u r | t[X] = u[X]}và X = {[t]X | t r}
Tích của hai phân hoạch X và Y, ký hiệu X Y. Số lớp tương
đương của phân hoạch X được ký hiệu là |X |.
2.1.2. Một số kết quả
Các định lý dưới đây của [S.King et al., 2003]) thực chất chính là
một số bổ đề của [Y. Huhtala et al., 1999], các bổ đề này đã được
chứng minh chi tiết trong luận án.
Định lý 2.1. FD X A thoả mãn nếu và chỉ nếu X mịn hơn A.
Định lý 2.2. FD X A thoả mãn nếu và chỉ nếu |X| = |X{A}|.
Định lý 2.3. FD X A thỏa mãn nếu và chỉ nếu g3(X) = g3(X {A}).
Định lý 2.4. Ta có X Y = X Y
Định lý 2.5. Giả sử B X và X - {B} B. Khi đó, nếu X A thì X -
{B} A. Nếu X là một siêu khoá thì X - {B} cũng là một siêu khoá.
Định lý 2.6. C+(X) = {A R | B X, X - {A, B} B không thoả
mãn}.
Định lý 2.7. Giả sử A X và X - {A} A. FD X - {A} A tối tiểu
nếu và chỉ nếu với mọi B X, ta có A C+(X - {B}).
9
2.2. Phát hiện FD và AFD
Một số độ đo xấp xỉ đã được đề xuất và thường xuyên được sử
dụng khi phát hiện AFD là TRUTHr(X Y), g1(X Y, r), g2(X Y,
r) và g3(X Y, r). Việc lựa chọn các độ đo khác nhau có ảnh hưởng
đến kết quả phát hiện các phụ thuộc. Luận án đã chỉ ra được các
quan hệ mới giữa các độ đo như sau:
TRUTHr(X Y) = 1 - 1 ,
1
r
g X Y r
r
2 1, . ,
2
r
g X Y r g X Y r
2 3
( )
( , ) ( , ) max | ' |: ' ( ), ' / | |
X
Y
c r
g X Y r g X Y r c c c c c r
Cho quan hệ r trên lược đồ S(). Với mỗi X , ta xây dựng
một quan hệ tương đương X như sau:
t X u khi và chỉ khi t[X] = u[X] với mọi t, u r
Giả sử mr t t t 1 2, ,..., . Mỗi quan hệ X trên r có thể được biểu
diễn dưới dạng một ma trận (gọi là ma trận tương đương) với
ija 1nếu ti X tj và 0ija nếu ngược lại.
X t1 t2 ... tj ... tm
t1 a11 a12 ... a1j ... a1m
t2 a21 a22 ... a2j ... a2m
... ... ... ... ... ... ...
ti ai1 ai2 ... aij ... aim
... ... ... ... ... .. ...
tm am1 am2 ... amj ... amm
Sử dụng ma trận tương đương (ma trận thuộc tính), trong luận án
đã xây dựng được các thuật toán (có độ phức tạp thời gian O(m2)) để
10
phát hiện FD (kiểm tra tính đúng của FD) và AFD (tính các độ đo
TRUTHr(X Y), g1(X Y, r), g2(X Y, r)).
2.3. Phụ thuộc hàm điều kiện (CFD)
Định nghĩa. Một CFD xác định trên lược đồ quan hệ R là một
cặp = (X Y, Tp), trong đó X Y là một FD (được gọi là FD
nhúng trong ) và Tp là một bảng mẫu với các thuộc tính trong X
Y. Bảng mẫu Tp chứa các bộ mẫu, mỗi bộ mẫu tp Tp chứa các giá trị
hằng và biến không tên "". Biến không tên "" lấy giá trị trong
miền thuộc tính tương ứng.
Ngữ nghĩa của CFD. Bảng mẫu Tp trong CFD = (X Y, Tp)
xác định các bộ của quan hệ phải thỏa FD X Y. Một cách trực
quan, bảng mẫu Tp của làm mịn FD X Y được nhúng trong
bằng việc áp đặt mối liên kết của các giá trị dữ liệu có liên quan về
mặt ngữ nghĩa.
Bài toán quyết định xem một tập CFD cho trước có nhất quán hay
không là NP-đầy đủ. Đã có hệ quy tắc suy diễn xác đáng và đầy đủ
đối với CFD. Đã có các thuật toán phát hiện CFD là CFDMiner,
CTANE và FastCFD.
2.4. Về một thứ tự phân cấp giữa các FD, CFD và AR
Công trình của [R.Medina et al., 2009] là một công trình hay và
độc đáo. Các tác giả đã chỉ ra một thứ tự phân cấp giữa các FD, CFD
và AR: FD là hợp của các CFD trong khi CFD là hợp của các AR.
Thứ tự phân cấp giữa các FD, CFD và AR mang lại nhiều lợi ích: các
thuật toán hiện có để phát hiện AR có thể được thích nghi để phát
hiện nhiều loại phụ thuộc dữ liệu khác và hơn nữa còn sinh một tập
được rút gọn các phụ thuộc.
Dưới đây là một số nhận xét và kết quả bước đầu sau khi nghiên
cứu công trình của [R.Medina et al., 2009]:
11
Nhận xét 2.1. Khác với hầu hết các tác giả nghiên cứu về CFD,
[R.Medina et al., 2009] đã mở rộng các bộ mẫu tp, xác định trên toàn
bộ Attr(R), trong đó tp[A] = với A X Y.
Nhận xét 2.2. Thay cho đối sánh một bộ t r với một bộ mẫu tp
Tp (tp đã được mở rộng, xác định trên toàn bộ Attr(R)), ta đối sánh
t(X) với tp(X), t(Y) với tp(Y). Về thực chất t(X) và tp(X) (tương tự cho
t(Y) và tp(Y)) là sánh hợp nếu
A X: t(X)[A] = tp(X)[A] = a Dom(A)
hoặc t(X)[A] = a và tp(X)[A] =
Nhận xét 2.3. Xét định nghĩa một bộ mẫu tp xác định một quan hệ
con (mảnh ngang) của [R.Medina et al., 2009] như sau:
pt
r = {t r | tp t} (*)
Biểu thức (*) rõ ràng là không chỉnh vì hầu hết các trường hợp đều
cho kết quả là tập rỗng. Thực vậy, trường hợp tp có chứa ít nhất một
thành phần là thì rõ ràng không tồn tại t r để cho tp t. Trường
hợp ngược lại, với giả thiết X Y Attr(R), ta có
tp[A] = và t[A] = a với A X Y.
Do đó cũng không thể tồn tại t r để cho tp t. Như vậy,
pt
r được
xác định bởi (*) cho kết quả khác rỗng khi X Y = Attr(R) và tp
trùng với một bộ nào đó của r. Do đó, biểu thức (*) phải được sửa lại
như sau:
pt
r = {t r | t(X Y) tp(X Y)}
[R.Medina et al., 2009] đã sử dụng các định nghĩa sau:
Tính chất X-đầy đủ. Quan hệ r được gọi là X-đầy đủ nếu và chỉ
nếu t1, t2 r ta có t1[X] = t2[X].
Bộ mẫu X-đầy đủ: (X, r) = {t r}
Phân tách ngang X-đầy đủ: RX(r) = {r' r | r' là X-đầy đủ}
12
Tập các bộ mẫu X-đầy đủ: (X, r) = {(X, r') | r' RX(r)}
Toán tử bao đóng:
(X, r) = {A Attr(R) | tp (X, r), tp[A] }
Nhận xét 2.4. Như vậy, cho r' là một quan hệ X-đầy đủ và r' r. có
thể tính (X, r') theo công thức (X, r') = {t r'}.
Xét định nghĩa toán tử trên hai bộ t1, t2 r của [R.Medina et al.,
2009]: nếu chỉ dựa vào quan hệ thứ tự a với a là một giá trị
hằng bất kỳ, sẽ khiến cho việc tính t1 t2 gặp khó khăn. Về thực
chất, ta chỉ cần so sánh các thành phần tương ứng của hai bộ t1 và t2
để biết chúng bằng nhau hay khác nhau. Do đó, thay cho phép toán
, ta sẽ dùng phép toán đơn giản hơn:
Với t1, t2 r,
t1 t2 = t sao cho A Attr(R),
1 1 2
1 2
[ ] [ ] [ ] [ ]
[ ] [ ] [ ]
nÕu t
nÕu t
t A t A A t A
t A A t A
Khi xem xét quan hệ giữa (X, r) và FX
, chúng tôi có mệnh đề
dưới đây. Mệnh đề này đã được chứng minh chi tiết trong luận án.
Mệnh đề. Cho r là một thể hiện của lược đồ R xác đinh trên tập
thuộc tính Attr(R), X Attr(R), và r thỏa một tập phụ thuộc hàm F.
Khi đó: (X, r) = {A Attr(R) | tp (X, r), tp[A] }
= FX
= {A Attr(R) | (X A) F+}
2.5. Kết luận chương 2
Chương này trình bày về một số kết quả liên quan đến FD và
AFD, phương pháp ma trận để phát hiện FD và CFD và một số kết
quả bước đầu liên quan đến thứ tự phân cấp giữa FD, CFD và AR.
FD, AFD và CFD là ba loại phụ thuộc dữ liệu quan trọng. Nghiên
cứu và tiếp tục giải quyết các bài toán liên quan đến ba loại phụ
thuộc này là một hướng mới và rất đáng quan tâm.
Các kết quả chính trong chương này được công bố trong [CT1,
CT2, CT8, CT9].
13
Chương 3.
THUẬT TOÁN TÍNH BAO ĐÓNG VÀ VẤN ĐỀ RÚT GỌN
BÀI TOÁN TÌM KHÓA CỦA LƯỢC ĐỒ QUAN HỆ
3.1. Thuật toán tính bao đóng
3.1.1. Khái niệm bao đóng
Cho tập FD F xác định trên và X . Ta có:
FX
= {A (X A) F+}
Để đơn giản, khi tập F đã được chỉ rõ, kí hiệu X+ thay cho FX
.
3.1.2. Một số thuật toán tính bao đóng
Phần này đề cập đến một số thuật toán tính bao đóng. Tập trung
nghiên cứu thuật toán tính bao đóng của Mora và cộng sự và cải tiến
thuật toán này.
Kết quả thực nghiệm cho thấy thuật toán của Mora và cộng sự
hiệu quả hơn các thuật toán khác. Tuy nhiên, tính đúng đắn của thuật
toán này không được chứng minh. Hơn nữa, nhược điểm của nó là
mỗi lần duyệt tập F, tất cả các FD có vế trái và vế phải cùng chứa
trong Xnew vẫn được kiểm tra vế trái để từ đó tính giá trị mới của Xnew
(điều này làm mất thời gian không cần thiết vì giá trị Xnew thực chất
không thay đổi).
Thuật toán cải tiến tránh được những phép kiểm tra và tính toán
không cần thiết này vì thực hiện loại bỏ ngay từ đầu các FD có vế
phải chứa trong Xnew.
Luận án đã chứng minh tính đúng đắn của thuật toán của Mora và
cộng