1
A . M Ở Đ Ầ U
Cơ sở dữ liệu là hạt nhân không thể thiếu trong các hệ thống,
trong đó có các hệ thống máy tính và truyền thông. Cùng với sự phát
triển không ngừng của Internet, việc trao đổi thông tin và truyền dữ
liệu trên mạng là một nhu cầu tất yếu đặt ra. Với khối lượng thông tin
lớn được trao đổi, dữ liệu lưu trữ phân tán, các yêu cầu truy xuất có
thể xảy ra ở nhiều nơi, việc đảm bảo tính nhất quán, tránh dư thừa dữ
liệu, dị thường khi thêm, xóa bộ cũng như các bài toán liên quan đến
tổ chức, xử lý, nén dữ liệu,… luôn là vấn đề được quan tâm.
Bên cạnh yêu cầu đảm bảo dữ liệu không bị mất mát trên đường
truyền, một vấn đề khác đặt ra là tổ chức, thiết kế, quản lý dữ liệu sao
cho việc lưu trữ tốn ít bộ nhớ nhất, khai thác hiệu quả và thời gian
truyền dữ liệu được giảm tối đa.
Để lưu trữ, quản lý và khai thác dữ liệu ta có thể dùng nhiều mô
hình tổ chức dữ liệu khác nhau như: mô hình phân cấp, mô hình
mạng, mô hình quan hệ… Trong các mô hình đó, mô hình quan hệ
nhận được sự quan tâm của nhiều nhóm nghiên cứu vì được xây dựng
trên một cơ sở toán học chặt chẽ, áp dụng rộng các công cụ đại số và
logic. Trong mô hình quan hệ, việc nghiên cứu các ràng buộc dữ liệu
hay còn gọi là các phụ thuộc dữ liệu đóng vai trò quan trọng trong
việc mô tả thế giới thực, phản ánh ngữ nghĩa dữ liệu của cơ sở dữ
liệu. Việc nghiên cứu này là một vấn đề cần thiết, có ý nghĩa và giữ
một vai trò quan trọng trong việc đảm bảo tính nhất quán của dữ liệu.
Mục đích của việc nghiên cứu này là để bảo đảm cho dữ liệu trong cơ
sở dữ liệu không mâu thuẫn, phản ánh đúng thế giới thực
HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG
LƯƠNG NGUYỄN HOÀNG HOA
PHÁT TRIỂN MỘT SỐ PHỤ THUỘC
LOGIC TRONG CƠ SỞ DỮ LIỆU
Chuyên ngành: Truyền dữ liệu và mạng máy tính
Mã ngành: 62 48 15 01
TÓM TẮT LUẬN ÁN TIẾN SỸ KỸ THUẬT
HÀ NỘI – 2013
Công trình được hoàn thành tại:
Học viện Công nghệ Bưu chính Viễn thông
Người hướng dẫn khoa học:
Hướng dẫn 1: PGS.TSKH NGUYỄN XUÂN HUY
Hướng dẫn 2: PGS.TS TỪ MINH PHƯƠNG
Phản biện 1: PGS. TS Đoàn Văn Ban
Phản biện 2: PGS. TS Nguyễn Kim Anh
Phản biện 3: PGS. TS Nguyễn Hải Châu
Luận án được bảo vệ trước Hội đồng chấm luận án cấp Học viện tại
Học viện Công nghệ Bưu chính viễn thông
Vào hồi: 14 giờ, ngày 17 tháng 01 năm 2013
Có thể tìm hiểu luận án tại:
1. Thư viện Quốc gia
2. Thư viện Học viện Công nghệ Bưu chính Viễn thông
DANH MỤC CÁC CÔNG TRÌNH CÔNG BỐ
[1]
Bùi Đ
ức Minh, L
ương Nguy
ễn Ho
àng Hoa, Cao Tùng Anh,
Nguyễn Gia Như, Nguyễn Xuân Huy (2010), “Biểu diễn cơ sở
của hệ sinh ánh xạ đóng”, Kỷ yếu Hội thảo Quốc gia "Một số
vấn đề chọn lọc của Công nghệ thông tin", Hưng Yên, 19-
20/08/2010, NXB KHKT Hà Nội, tr.51-58.
[2]
Bùi Đ
ức Minh, L
ương Nguy
ễn Ho
àng Hoa, Cao Tùng Anh,
Nguyễn Minh Hiệp, Bùi Duy Tuấn, Nguyễn Xuân Huy (2010),
“Ánh xạ đóng và ứng dụng”, Kỷ yếu Hội thảo khoa học Công
nghệ Thông tin năm 2010, Trường Đại học Đà lạt, Đà Lạt,
03/12/2010, tr.31-38.
[3]
Bùi Đ
ức Minh, L
ương Nguy
ễn Ho
àng Hoa (2011), “H
ệ sinh cân
bằng và bài toán biểu diễn cơ sở hệ sinh ánh xạ đóng”, Chuyên
san các công trình nghiên cứu, phát triển và ứng dụng CNTT-
TT, Tạp chí Công nghệ Thông tin & Truyền thông, Tập V-1, Số
5 (25), tr.15-21.
[4]
Nguy
ễn Xuân Huy, L
ê Th
ị Mỹ Hạnh, L
ương Nguy
ễn Ho
àng
Hoa, Bùi Đức Minh, Nguyễn Đức Vũ (2007), “Thiết kế cơ sở
dữ liệu theo tiếp cận dịch chuyển lược đồ quan hệ”, Kỷ yếu Hội
thảo Khoa học Quốc gia “Một số vấn đề chọn lọc của Công
nghệ thông tin và Truyền thông”, Đại Lải, 14-15/09/2007, NXB
KHTN, tr.499-506.
[5]
Hà Quang Th
ụy, Nguyễn Ngọc Hóa, Nguyễ
n Vi
ết Thế, L
ương
Nguyễn Hoàng Hoa (2011), “Giải pháp lọc nội dung hỗ trợ
quản lý và đảm bảo an toàn – an ninh trên Internet”, Chuyên san
Các Công trình nghiên cứu, phát triển và ứng dụng CNTT&TT,
Tạp chí Công nghệ Thông tin & Truyền thông, Tập V-1, Số 6
(26), tr.260-270.
[6]
Luong Nguyen Hoa
ng Hoa (2011), “Some results concerning
Generalized Positive Boolean Dependencies in relational
database”, Internatinal Journal of Computer Electrical
Engineering (IJCEE), Vol 6, 12/2011.
5
Cho tập thuộc tính U. Một phụ thuộc hàm (PTH) trên U là biểu thức
dạng : f: XY ; X,Y U
Nếu f: XY là một phụ thuộc hàm trên U thì ta nói tập thuộc tính Y
phụ thuộc vào tập thuộc tính X, hoặc tập thuộc tính X xác định hàm
tập thuộc tính Y.
1.3. Các công thứ c B ool e
Định nghĩa 1.3.1
Cho U = {x
1
, ,x
n
} là tập hữu hạn các biến Boole, B là tập trị Boole,
B = {0,1}. Khi đó các công thức Boole CTB) là các công thức được
xây dựng trên các biến của U, các hằng 0/1 và các phép toán , ,
. Ký hiệu LU) là tập các CTB xây dựng trên tập các biến U.
Hai phép gán trị đặc biệt được quan tâm là phép gán trị đơn vị e =
1,1, ,1) và phép gán trị không z = 0,0, ,0).
Định nghĩa 1.3.3
Bảng chân lý của f, ký hiệu là T
f
, là tập các phép gán trị v sao cho fv)
nhận giá trị 1, T
f
= {v B
n
| fv) =1}
Khi đó bảng chân lý T
F
của tập hữu hạn các công thức F trên U,
chính là giao của các bảng chân lý của mỗi công thức thành viên
trong F,
TT
f
Ff
F
Ta có, v T
F
khi và chỉ khi f F: fv) = 1.
1.4. Ph ụ th u ộc Bo ol e dư ơng
Định nghĩa 1.4.1
Công thức f LU) được gọi là công thức Boole dương CTBD) nếu
fe) =1, trong đó e là phép gán trị đơn vị, e = (1,1, ,1).
Ký hiệu PU) là tập toàn bộ các công thức dương trên U.
Định nghĩa 1.4.2
Mỗi công thức Boole dương trong PU) được gọi là một phụ thuộc
Boole dương PTBD). Dễ thấy phụ thuộc hàm là một PTBD.
2
Trong quản lý các cơ sở dữ liệu, phụ thuộc dữ liệu được hiểu là
những mệnh đề mô tả các ràng buộc mà dữ liệu phải thỏa mãn trong
thực tế. Nhờ những mô tả phụ thuộc này mà hệ quản trị cơ sở dữ liệu
có thể quản lý tốt được chất lượng dữ liệu. Phụ thuộc dữ liệu đầu tiên
được Codd tác giả của mô hình dữ liệu quan hệ đặt nền móng từ
những năm 70 với khái niệm phụ thuộc hàm. Sau đó một loạt tác giả
khác đã tiếp tục phát triển các dạng phụ thuộc bậc cao, phụ thuộc mờ
cũng như xây dựng các hệ tiên đề cho các lớp phụ thuộc - tức là đặt
nền móng cơ sở lý thuyết về phụ thuộc dữ liệu. Một trong số những
lớp phụ thuộc quan trọng đã được phát triển, đề xuất sau này là phụ
thuộc Boole dương.
Với mong muốn phát triển, mở rộng lý thuyết về phụ thuộc
dữ liệu và ứng dụng. Mục tiêu của luận án là tiếp tục nghiên cứu,
phát triển một số vấn đề liên quan đến lớp phụ thuộc Boole dương và
công cụ để mô tả, phản ánh lớp phụ thuộc này. Đây là vấn đề nghiên
cứu đã và đang được nhiều nhà khoa học quan tâm.
Mục đích nghiên cứu
- Nghiên cứu các lớp phụ thuộc Boole dương trong đó tập trung
chủ yếu việc vào việc đề xuất, phát triển một số khái niệm, tính
chất của lớp phụ thuộc Boole dương tổng quát và một số khía
cạnh ứng dụng của lớp phụ thuộc này.
- Nghiên cứu về ánh xạ đóng và tổng quát hóa một số kết quả về
lớp các phụ thuộc Boole dương theo ngôn ngữ ánh xạ đóng. Đề
xuất công cụ toán học để biểu diễn ánh xạ đóng, nâng cao hiệu
quả tính toán khi sử dụng công cụ này.
Những đóng góp của luận án
Luận án đã giải quyết được các vấn đề sau:
3
(1) Đề xuất, xây dựng khái niệm và một số tính chất của cơ sở hệ
sinh ánh xạ đóng. Phát biểu và chứng minh các định lý, bổ đề
về biểu diễn cơ sở của hệ sinh ánh xạ đóng thông qua phép
thu gọn hệ sinh. Đề xuất một dạng biểu diễn cơ sở hệ sinh
ánh xạ đóng với kỹ thuật thu gọn hệ sinh theo vế trái tối tiểu
của tập luật sinh.
(2) Đề xuất một lớp hệ sinh đặc biệt gọi là hệ sinh cân bằng để
biểu diễn ánh xạ đóng và thu được một số kết quả ban đầu
nâng cao hiệu quả tính toán khi sử dụng công cụ này.
(3) Đề xuất khái niệm phủ, phủ không dư và thuật toán tìm phủ
không dư cho lớp phụ thuộc Boole dương tổng quát. Đề xuất
khái niệm bao đóng và thuật toán giải bài toán thành viên
trong trường hợp tổng quát của lớp phụ thuộc Boole dương
tổng quát.
(4) Xác định điều kiện cần và đủ để biểu diễn phụ thuộc Boole
dương tổng quát dưới dạng hội các công thức suy dẫn.
(5) Xây dựng thuật toán tìm tập PTBDTQ thỏa mãn quan hệ R
cho trước.
Bố cục của luận án
Về cấu trúc, luận án được trình bày trong 3 chương, có phần
mở đầu, phần kết luận, phần mục lục, phần các công trình đã công bố
liên quan đến luận án và tài liệu tham khảo. Chương 1trình bày khái
niệm chung về mô hình quan hệ và lớp phụ thuộc đầu tiên của phụ
thuộc logic là phụ thuộc hàm. Tổng quan về quá trình phát triển của
lớp các phụ thuộc Boole và đặt vấn đề xác định giới hạn của phụ
thuộc Boole trong điều kiện bảo toàn hiệu lực của định lý tương
đương. Chương 2 giới thiệu công cụ có thể vận dụng để nghiên cứu
các vấn đề thuộc về ngữ nghĩa dữ liệu, thiết kế CSDL và hệ suy dẫn
4
là ánh xạ đóng. Trong chương cũng trình bày một số kết quả mới của
luận án liên quan đến hệ sinh ánh xạ đóng như biểu diễn cơ sở hệ
sinh ánh xạ đóng qua hợp vế trái tối tiểu của hệ sinh cho trước và cơ
sở của hệ sinh sau khi thu gọn. Đề xuất lớp hệ sinh mới là hệ sinh cân
bằng với mục đích nâng cao hiệu quả trong quá trình tính toán và một
dạng biểu diễn cơ sở của hệ sinh ban đầu thông qua cơ sở hệ sinh cân
bằng. Chương 3 trình bày một số khái niệm và kết quả của luận án
liên quan đến việc tìm bao đóng, phủ, phủ không dư, bài toán thành
viên và thể hiện của lớp phụ thuộc Boole dương tổng quát
(PTBDTQ). Biểu diễn phụ thuộc Boole dương tổng quát dưới dạng
hội các công thức suy dẫn và thuật toán xây dựng xây dựng tập
PTBDTQ thỏa mãn quan hệ R cho trước cũng được trình bày trong
chương này. Một số ứng dụng của ánh xạ đóng và hệ suy dẫn trong
cơ sở dữ liệu cũng được giới thiệu trong chương này.
B. NỘI DUNG
Chương 1 - Tổng quan về các phụ thuộc logic trong cơ sở dữ liệu
1.1 M ột số kh á i niệ m cơ b ản
Định nghĩa 1.1.1
Cho tập hữu hạn U = {A
1
, A
2
, , A
n
} khác rỗng (n 1). Các phần tử
của U được gọi là thuộc tính. Ứng với mỗi thuộc tính A
i
U, i =
1,2, ,n có một tập chứa ít nhất hai phần tử dom(A
i
) được gọi là miền
trị của thuộc tính A
i
. Gọi D là hợp của các dom(A
i
), i = 1,2, ,n. Một
quan hệ R với các thuộc tính U, ký hiệu là R(U), là một tập các ánh
xạ t: UD sao cho với mỗi A
i
U ta có
t(A
i
) dom(A
i
). Mỗi ánh xạ được gọi là một bộ của quan hệ R.
1.2. Phụ thuộc hàm
Định nghĩa 1.2.1
9
hạn, F là tập các luật sinh trên U.
Định nghĩa 2.3.2
Cho một hệ sinh AXĐ
= (U, F) và các tập con X, Z của U. Ta gọi Z
là một tập bao của tập X trong hệ sinh
nếu Z thỏa các tính chất sau
đây:
(i) Z X,
(ii) L R F, L Z R Z.
Kí hiệu [X] là họ các tập bao của X trong hệ sinh AXĐ cho trước.
Định nghĩa 2.3.3
Cho hệ sinh AXĐ
= (U,F). Ta xác định ánh xạ f
: SubSet(U)
SubSet(U) như sau, X U: f
(X) = [X]. Nói cách khác f
(X) là
tập con nhỏ nhất của U thỏa các tính chất sau:
(i) f
(X) X,
(ii) L R F, L f
(X) R f
(X).
Ta gọi f
là ánh xạ cảm sinh của hệ sinh AXĐ
, X là vật, f
(X) là
ảnh của ánh xạ cảm sinh f
. Dễ thấy f
(X) là tập bao (nhỏ nhất) của X
trong hệ sinh AXĐ
.
Định lý 2.3.1
1. Với mỗi hệ sinh
= (U,F), ánh xạ cảm sinh f
là AXĐ trên U.
2. Với mỗi AXĐ h trên U, tồn tại một hệ sinh
= (U,F) thỏa tính
chất :
X U: f
(X) = h(X)
Định lý 2.3.2
Cho hệ sinh AXĐ
= (U,F) và hai tập con không giao nhau X và Y
trong U. Khi đó:
f
(XY) = X f
\X
(Y)
Hệ quả 2.3.1
Cho hệ sinh AXĐ
= (U,F) và tập X U. Khi đó:
6
1.5. Phụ thuộc Boole dương tổng quát
Định nghĩa 1.5.1
Cho tập thuộc tính U. Ta quy ước rằng mỗi miền trị d
i
của thuộc
tính A
i
, 1 i n, có chứa ít nhất hai phần tử. Với mỗi miền trị d
i
, ta
xét ánh xạ
i
: d
i
d
i
B thoả ba tính chất sau:
i) Tính phản xạ: ad
i
:
i
a,a) =1
ii) Tính đối xứng: a,b d
i
:
i
a,b) =
i
b,a)
iii) Tính bộ phận: a, b d
i
:
i
a,b) = 0.
Quan hệ đẳng thức là trường hợp riêng của quan hệ trên.
Định nghĩa 1.5.2
Giả sử các ánh xạ
i
đã được xác định trên mỗi miền trị d
i
của các
thuộc tính A
i
trong tập U= {A
1
,A
2
, ,A
n
}, 1 i n và R là một quan
hệ trên U. Với hai bộ u và v tuỳ ý trong quan hệ R ta định nghĩa
u,v) là phép gán trị:
u,v) =
1
u.A
1
,v.A
1
),
2
u.A
2
,v.A
2
), ,
n
u.A
n
,v.A
n
))
Với mỗi quan hệ R RELU) ta gọi bảng chân lý của quan hệ R là
tập
T
R
= {
u,v) u, v R}
Định nghĩa 1.5.3
Mỗi công thức Boole dương trong PU) là một phụ thuộc Boole
dương tổng quát PTBDTQ).
Định lý tương đương
Cho tập PTBDTQ F và một PTBDTQ f. Ba mệnh đề sau là tương
đương,
i) F ╞ f suy dẫn logic)
ii) F ├ f suy dẫn theo quan hệ)
iii) F ├
2
f suy dẫn theo quan hệ có không quá 2 bộ)
7
1.6. Phụ thuộc Boole dương đa trị
Định nghĩa 1.6.1
Tập trị Boole B = {b
1
, ,b
k
} gồm k giá trị trong khoảng [0;1], k 2
được sắp tăng và thỏa các điều kiện sau:
(i) 0 B,
(ii) b B 1- b B.
Trong phần này chúng ta chọn thể hiện cho các phép toán và hàm
logic đa trị cơ sở như sau:
a,b B ,
Phép hội a b = min(a,b)
Phép tuyển a b = max(a,b)
Phép phủ định a = 1-a
Với mỗi trị b B ta định nghĩa hàm I
b
như sau:
x
B : I
b
(x) = 1 nếu x = b, ngoài ra I
b
(x) = 0.
Các hàm I
b
, b B được gọi là các hàm phủ định tổng quát.
Định nghĩa 1.6.2
Cho U = {x
1
, ,x
n
} là tập hữu hạn các biến Boole, B là tập trị Boole.
Khi đó các công thức Boole đa trị CTBĐT) là các công thức được
xây dựng trên các biến của U, các trị trong B , các hàm I
b
với b B
và các phép toán , , Ký hiệu MVLU) là tập các CTBĐT xây
dựng trên tập các biến U và tập trị B cho trước, trong đó U gồm n
phần tử và B gồm k phần tử, n 1, k 2.
Ch ươ ng 2- Ánh xạ đ ón g và hệ s uy dẫ n
2.1 Ánh xạ đóng
Định nghĩa 2.1.1
8
Cho tập U hữu hạn. Ánh xạ f: SubSet(U) SubSet(U)
được gọi là
đóng trên tập U nếu với mọi tập con X, Y U thỏa các tiên đề sau
đây:
(i) Tính phản xạ: f(X) X,
(ii) Tính đồng biến: Nếu X Y thì f(X) f(Y),
(iii) Tính lũy đẳng: f(f(X)) = f(X).
2.2. Giàn giao và điểm bất động của ánh xạ đóng
Định nghĩa 2.2.1
Cho AXĐ f trên tập U hữu hạn. Tập con X U được gọi là điểm bất
động (hay còn gọi là tập đóng) của AXĐ f nếu f(X) = X .
Định nghĩa 2.2.4
Giả sử G là một họ các tập con đóng với phép giao của tập hữu hạn
U, cụ thể là giao của mọi họ con trong G đều cho kết quả là một tập
con trong G,
G SubSet(U): ( H G
HX
X
G)
Ta gọi G là giàn giao trên tập hữu hạn U. Khi đó G chứa duy nhất
một họ con S sao cho mọi phần tử của G đều được biểu diễn qua giao
của các phần tử trong S, cụ thể là, S là tập con nhỏ nhất của G thỏa
tính chất: G = { X
1
… X
k
| k 0, X
1
, … , X
k
S }
S được gọi là tập sinh của giàn G và được ký hiệu là Gen(G), S =
Gen(G).
2.3. Hệ sinh ánh xạ đóng
Định nghĩa 2.3.1
Cho tập hữu hạn U, luật sinh f trên U là biểu thức dạng f: L R; L,
R U. Các tập L và R được gọi tương ứng là vế trái và vế phải của
luật sinh f và được kí hiệu tương ứng là LS(f) và RS(f).
Ta gọi một hệ sinh AXĐ là cặp
= (U,F), trong đó U là một tập hữu
13
(C8) Nếu hệ sinh AXĐ α = (U,F) là HSCB thì A U, ta có
α\A cũng là HSCB. Tính chất này hiển nhiên đúng.
Kết quả của luận án về phép thu gọn hệ sinh và biểu diễn cơ sở
hệ sinh ánh xạ đóng theo cơ sở hệ sinh cân bằng được trình bày trong
dưới đây.
Định lý 2.4.1
Mọi hệ sinh AXĐ α = (U,F) đều đưa được về dạng cân bằng
β = (V,G) thỏa tính chất: Base(α) = U
I
Base(β)
Trong đó U
I
là giao các cơ sở của α với độ phức tạp tuyến tính theo
chiều dài dữ liệu vào O(n
2
m), trong đó n là số lượng phần tử trong U,
m là số lượng luật sinh trong F.
Biểu diễn cơ sở hệ sinh AXĐ theo cơ sở HSCB
Cho hệ sinh AXĐ α = (U,F) với U ={a
1
, a
2
,…, a
n
}, F = {L
i
R
i
i=1,
2,…, m} Để tìm các cơ sở của hệ sinh AXĐ α, ta thực hiện theo các
bước sau:
Bước 1:
- Xác định L =
m
i
i
L
1
, R =
m
i
i
R
1
, R’= R \ L; U
I
= U \
m
i
i
R
1
- Tính C = f
α
(U
I
R’)
Bước 2:
Xác định α’ = (U’,F’) = α\C với U’= U\C, F’ = {L
i
\C R
i
\C
i = 1, 2, …, m}
Loại khỏi F’ những luật sinh có dạng , B, B
(B
).
Thực hiện nhóm những luật sinh trong F’ có vế trái giống
nhau, ta thu được hệ sinh cân bằng
= (U’, F’).
Bước 3:
Tìm cơ sở của hệ sinh cân bằng
- Xác định tập L
là tập chứa các vế trái của F’.
10
f
(X) = X f
\X
()
Định nghĩa 2.3.4
Ta gọi cơ sở của hệ sinh AXĐ là cơ sở của ánh xạ cảm sinh của hệ
sinh đó. Với mỗi hệ sinh AXĐ
= (U,F), ta kí hiệu Base(
) là tập
các cơ sở của ánh xạ cảm sinh của hệ sinh
, U
B
là tập các phần tử cơ
sở của hệ sinh
, U
0
là tập các phần tử phi cơ sở của
, U
I
là giao các
cơ sở của
.
Ta có U = U
B
| U
0
là một phân hoạch của U.
Công thức tìm giao các cơ sở của hệ sinh ánh xạ đóng được trình bày
theo định lý sau:
Định lý 2.3.3
Cho hệ sinh AXĐ
= (U,F) với n phần tử trong tập U và m luật sinh
trong F. Khi đó có thể xác định giao các cơ sở bằng một thuật toán
tuyến tính với độ phức tạp O(mn) qua công thức
FRL
I
LRUU
)\(\
Bổ đề 2.3.1
Cho hai hệ sinh AXĐ
= (U,F),
= (V,G) và X U. Biết
=
\X.
Khi đó:
(i) Nếu M là siêu cơ sở của
thì M\X là siêu cơ sở của
.
(ii) Nếu Z là siêu cơ sở của
thì XZ là siêu cơ sở của
. Nói
riêng, nếu X U
o
và Z là siêu cơ sở của
thì Z là siêu cơ
sở của
.
Hệ quả 2.3.2
Cho hệ sinh AXĐ
= (U,F) và tập X U. Khi đó, nếu Z là siêu cơ
sở của hệ sinh
\ f
(X) thì XZ là siêu cơ sở của hệ sinh
.
Bổ đề 2.3.2
Cho hai hệ sinh AXĐ
= (U,F),
= (V,G) và tập X U
o
. Biết
=
\X. Khi đó: Base(
) = Base(
)
11
Định nghĩa 2.3.5
Cho , SubSet(U) và M, P SubSet(U). Ta định nghĩa phép
toán trên SubSet(U) như sau:
- M P = MP (hợp của hai tập con M và P)
- M = {MX | X } và
- = {XY | X , Y }
Các định lý, bổ đề và hệ quả dưới đây sau trình bày cách biểu diễn cơ
sở của hệ sinh ánh xạ đóng theo phép thu gọn hệ sinh.
Định lý 2.3.4
Nếu thu gọn hệ sinh AXĐ
= (U, F) theo tập X U để nhận được
hệ sinh
=
\ X thì:
1. Base(
) = Base(
) khi và chỉ khi X U
o
.
2. Base(
) = X Base(
) khi và chỉ khi X U
I
.
Hệ quả 2.3.3
Cho hệ sinh
= (U,F) và các tập phần tử X U
o
, Y U
I
. Nếu thực
hiện phép thu gọn theo XY để nhận được hệ sinh
=
\XY thì
Base(
) = Y Base(
).
Định nghĩa 2.3.7
Cho hệ sinh
=(U, F). Ta ký hiệu ML(F) là tập các vế trái cực tiểu
của F, ML(F) = MIN {LS(f) | fF}
Bổ đề 2.3.3
Cho hệ sinh AXĐ
=(U, F). Nếu L ML(F) thì L Base(
) khi và
chỉ khi f
(L)
= U.
Kết quả của luận án về dạng biểu diễn cơ sở hệ sinh ánh xạ đóng theo
phép thu gọn hệ sinh với vế trái tối tiểu của tập luật sinh được trình
bày qua định lý, bổ đề dưới đây.
Định lý 2.3.5
Cho hệ sinh AXĐ
=(U, F). Khi đó mọi cơ sở K của
đều biểu diễn
12
được dưới dạng K = LM, trong đó L là một vế trái cực tiểu của F và
M là cơ sở của hệ sinh AXĐ \ f
(L).
Bổ đề 2.3.4
Cho hệ sinh
=(U, F) và vế trái cực tiểu L. Khi đó nếu K L
Base(
\f
(L)) và K không chứa vế trái cực tiểu nào khác ngoài L thì
K là cơ sở của
.
Bổ đề 2.3.5
Cho hệ sinh
= (U, F) và vế trái cực tiểu L. Khi đó M
Base(
\f
(L)), mọi cơ sở K của
chứa trong LM đều phải chứa M.
2.4. Hệ sinh cân bằng
Định nghĩa 2.4.1
Hệ sinh AXĐ α = (U,F) được gọi là cân bằng nếu α thỏa các tính
chất (C1)-(C4) sau đây:
(C1) Hợp các vế trái, vế phải của các luật sinh trong F đúng
bằng tập U: LS(F) = RS(F) = U
(C2) F không chứa các luật sinh tầm thường, tức là các luật
sinh có vế trái chứa vế phải: X,Y U: X Y (X Y F)
(C3) Hai vế trái và phải của mọi luật sinh trong F rời nhau
(không giao nhau): f F: LS(f) RS(f) =
(C4) Các vế trái của mọi luật sinh trong F khác nhau đôi một:
f, g F: LS(f) = LS(g) f = g
Ngoài các tính chất (C1)-(C4) ở trên, hệ sinh cân bằng (HSCB) còn
có một số tính chất sau:
(C5) Nếu tập luật sinh F trong hệ sinh AXĐ α = (U,F) thỏa
C2-C4 và chỉ có một luật sinh thì α không thể là HSCB.
(C6) Từ tính chất C5 ta suy ra hệ sinh AXĐ chỉ có một thuộc
tính thì không thể là HSCB.
(C7) Trong HSCB
= (U,F), giao các cơ sở U
I
= .
17
EndUnification.
Theo giả thiết F là tập các PTBDTQ do đó trước hết cần đưa F về
dạng chuẩn hội và thực hiện các bước hợp giải đến mức tối đa.
Thuật toán Reduction dưới đây thực hiện nhiệm vụ trên.
Thuật toán 3.1.3
Algorithm Reduction
Function: Thu gọn tập PTBDTQ
Input: Tập PTBDTQ F
Output: Công thức thu gọn C của F
Method
1. Đưa F về dạng chuẩn hội:
C := ;
for each member f in F do
C := C cnf(f);
endfor;
2. return (Unification(C));
EndReduction.
Cuối cùng, để giải bài toán thành viên F╞ f ta gọi thuật toán
Member_GPBD sau đây.
Thuật toán 3.1.4
Algorithm Member_GPBD
Format: Member_GPBD(F,f)
Function: Giải bài toán thành viên F ╞ f
Input: - Tập PTBDTQ F
- PTBDTQ f
Output: True nếu F ╞ f ; ngoài ra: False
Method
1. C:=Reduce(F) cnf(f)
14
- Xác định tập L’
là tập chứa các vế trái cực tiểu của F’.
- Giả sử tập L’
={L
1
, L
2
, …, L
k
}. Lần lượt tính A = f
(L
i
), i = 1, 2,
…, k.
+ Nếu A = U thì L
i
Base(
).
+ Nếu A
U thì ta tiếp tục xét hệ sinh cân bằng
=
\ A.
+ Lặp lại bước 3 cho hệ sinh cân bằng
.
Giả sử đến một lúc nào đó thì ta xác định được Base(
). Để bổ
sung các phần tử cho Base(
), ta thực hiện như sau:
+ Nếu Base(
)={K
1
, K
2
, …, K
s
}
+ Xét lần lượt các tập L
i
K
j
với i cố định và j=1, 2, …, s:
Nếu L
i
K
j
chứa trong cơ sở đã tìm thấy của
thì không xét.
Nếu L
i
K
j
không chứa phần tử nào khác của L’
ngoài L
i
thì
L
i
K
j
Base(
).
Bước 4: Xác định Base(
) = U
I
Base(
)
Ch ươ ng 3 - Phát triển lớ p cá c p hụ th uộc Bo ole
dư ơng và ứ ng d ụng án h xạ đón g, h ệ s uy d ẫn tro n g
cơ sở dữ li ệu
3.1. Phát triển lớp các phụ thuộc Boole dương tổng quát
Bài toán suy dẫn cho phụ thuộc Boole dương tổng quát được phát
biểu như sau:
Cho LĐQH a =
U ,F ), F là tập các PTBDTQ và một PTBDTQ f.
Xác định f F
+
(hay F╞ f) hay không, trong đó F
+
là bao đóng của
tập PTBDTQ F ?
Định nghĩa 3.1.1
Cho tập PTBDTQ F trên U. Xét LĐQH a = (U, F). Bao đóng của tập
PTBDTQ F, ký hiệu F
+
là tập PTBDTQ được suy dẫn từ F, cụ thể là
F
+
= { g P(U) | F ╞ g } = { g P(U) | T
F
T
g
}
trong đó P(U) là tập các công thức Boole dương trên U.
15
Theo định nghĩa 1.5.2 về định lý tương đương của PTBDTQ trong
chương 1, bài toán thành viên được giải thông qua mệnh đề sau:
f F
+
khi và chỉ khi F╞ f
Trước khi giải bài toán trên ta có một số nhận xét sau :
Nhận xét 3.1.1
Để chứng minh công thức dương E (là hằng đúng với mọi phép
gán trị) ta tiến hành theo các bước sau:
1. Biểu diễn E dưới dạng chuẩn hội tức là dạng tích của các
tổng C = C
1
C
2
… C
k
với mỗi nhân tử C
i
là tổng của
các biến và hằng 0/1.
2. Thực hiện các bước hợp giải đến khi không thể biến đổi C
được nữa:
Tìm hai nhân tử C
i
và C
j
có dạng C
i
= (p x) và C
j
= (q
x); Nếu tìm được thì thay C
i
và C
j
trong C bằng nhân
tử (p q).
3. Kết luận: Nếu C = thì công thức E được chứng minh;
ngược lại E không phải là công thức hằng đúng.
Thuật toán giải bài toán trên được thể hiện dưới dạng các thành phần
theo kiến trúc sau :
Gọi công thức chuẩn hội C là khả hợp nếu sau khi thực hiện bước 2
của sơ đồ thuật toán trên ta thu được công thức rỗng; ngược lại, kết
luận C là không khả hợp.
Thuật toán Resolution dưới đây chứng minh công thức dương E là
hằng đúng
Thuật toán 3.1.1
16
Algorithm Resolution
Function: Chứng minh công thức E
Input: Công thức dương E
Output: True nếu E là công thức hằng đúng;
ngược lại: False
Method
1. Đưa E về dạng chuẩn hội: C:= cnf(E);
2. Hợp giải: return(Unification(C) = );
EndResolution.
Thuật toán Unification dưới đây thực hiện chức năng hợp nhất các
nhân tử trong công thức dương dạng chuẩn hội C đến mức tối đa
Thuật toán 3.1.2
Algorithm Unification
Function: Hợp nhất các nhân tử trong công thức
dương dạng chuẩn hội C đến mức tối đa.
Input: Công thức dương C dạng chuẩn hội
C = C
1
C
2
… C
k
;
Output: công thức sau khi hợp nhất.
Method
while (còn xử lý được) do
Tìm hai nhân tử trong C có dạng
C
i
= (p x) và C
j
= (q x);
if (tìm được)
Thay C
i
và C
j
trong C bằng (p q)
else break;
endif;
endwhile;
return C;
21
miền trị d
i
của các thuộc tính A
i
trong tập U= {A
1
,A
2
, ,A
n
}, 1 i n
thì bảng chân lý T
R
của quan hệ R được tính như sau:
T
R
= {(u,v) | u,v R}
Trong đó
(u,v) được xác định như sau:
(u,v) = (
1
(u.A
1
,v.A
1
),
2
(u.A
2
,v.A
2
), ,
n
(u.A
n
,v.A
n
))
Bài toán 3.2.3
Cho quan hệ R trên tập thuộc tính U. Xây dựng tập PTBDTQ thỏa
mãn R.
Thuật toán BD(R) tìm tập PTBDTQ F thỏa mãn quan hệ R cho trước
như dưới đây.
Algorithm BD
Input: - Quan hệ R trên U
Output: - Tập PTBDTQ BD(R).
Method
1. Xây dựng bảng T
R
;
2. Làm đóng T
R
thu được bảng
T:=Closed&_GPBD(T
R
);
3. G := DF(T);
4. F := Nonredundant_GPBD(G);
return F;
End BD.
Từ kết quả của bài toán BD(R) ta suy ra hệ quả 3.2.4 dưới đây.
Hệ quả 3.2.4
Với mỗi quan hệ RU luôn tìm được tập PTBDTQ F trên U thỏa
mãn quan hệ R.
Các kết quả về lớp phụ thuộc Boole dương tổng quát được nghiên
cứu ở trên có thể được ứng dụng để biểu diễn luật, tập luật và trích
chọn luật trong cơ sở tri thức.
18
2. return Resolution(C);
EndMember.
Định nghĩa 3.1.3
Cho hai tập PTBDTQ F, G trong PU), ta nói F dẫn ra được G, ký
hiệu F╞ G, nếu T
F
T
G
. Ta nói F và G là tương đương, ký hiệu F
G, nếu T
F
= T
G
. Nếu F và G là tương đương thì ta nói rằng F là phủ
của G và ngược lại G là phủ của F.
Định nghĩa 3.1.4
Cho tập PTBDTQ G trên U. Phụ thuộc gG được gọi là dư thừa nếu
G G-{g}. Tập G được gọi là không dư nếu không
phụ thuộc dư
thừa gG.
Định nghĩa 3.1.5
Cho hai tập PTBDTQ F, G trên U, g là một PTBDTQ. G được gọi là
phủ không dư của F nếu:
1) G là một phủ của F hay T
G
= T
F
2) G có dạng không dư: gG: G \{g} ≢ G
Thuật toán Nonredundant_GPBD dưới đây tìm phủ không dư của tập
PTBDTQ.
Thuật toán 3.1.6
Algorithm Nonredundant_GPBD
Input:- Tập PTBDTQ F
Output: - Một phủ không dư G của F
G F hay T
G
= T
F
g G: G\{g} ≢ G
Method
19
G:=F;
for each g in F do
if Member_GPBD(G\{g},g)then
G:=G\{g};
endif;
endfor;
return G;
End Nonredundant_GPBD.
Định nghĩa 3.1.6
Cho tập hữu hạn U và công thức Boole h trên U. Ta ký hiệu [h] là tập
các công thức Boole trên U tương đương với công thức h. Như vậy:
g [h] g h T
g
= T
h
Quan hệ tương đương thỏa các tính chất phản xạ, đối xứng và bắc
cầu, do đó tập các công thức Boole dương trên U, L(U) được phân
hoạch thành các lớp tương đương theo nghĩa [g] = [h] g h
Định nghĩa 3.1.7
Cho quan hệ R trên tập thuộc tính U. Ký hiệu BD(R) là tập các
PTBDTQ đúng trong R, cụ thể là BD(R) = { g P(U) | R(g) }.
Ta có g BD(R) g P(U) T
R
T
g
Định nghĩa 3.1.8
Cho quan hệ R trên U và tập PTBDTQ F trên U. Ta nói quan hệ R thể
hiện tập PTBDTQ F nếu BD(R) F
+
và quan hệ R thể hiện chặt tập
PTBDTQ F nếu BD(R) = F
+
. Nếu quan hệ R thể hiện chặt tập
PTBDTQ F ta cũng nói R là quan hệ Armstrong của tập PTBDTQ F.
Định lý 3.1.3
Cho quan hệ R và tập PTBDTQ F trên U. Khi đó quan hệ R thể
hiện chặt tập PTBDTQ F khi và chỉ khi T
R
= T
F
.
Mệnh đề 3.1.2
20
Với các ánh xạ
i
, 1
i n
, được xác định trước thì quan hệ
Armstrong đối với tập F các PTBDTQ cho trước không phải luôn
luôn tồn tại.
3.2.B iểu di ễn p h ụ th uộc Bo ol e d ươ ng tổn g quá t
dư ới dạn g h ội s u y d ẫn
Định nghĩa 3.2.1
Cho V là tập các phép gán trị trên U. Với hai phép gán trị u,v V ta
xét phép toán nhân, ký hiệu là u & v, như là phép nhân logic trên các
thành phần tương ứng của u và v. Cụ thể là, nếu
u = (u
1
,u
2
, ,u
n
) và v = (v
1
,v
2
, ,v
n
) thì
u & v = (u
1
v
1
, u
2
v
2
, ,u
n
v
n
)
Định nghĩa 3.2.2
Tập các phép gán trị V được gọi là đóng đối với phép nhân & nếu V
chứa tích của mọi cặp phần tử trong V, tức là u,v V: u & v V.
Dễ thấy, Set(u & v) = Set(u) Set(v).
Bài toán 3.2.1: Xác định điều kiện cần và đủ để có thể biểu diễn một
phụ thuộc Boole dương tổng quát dưới dạng hội suy dẫn?
Định lý 3.2.5
Phụ thuộc Boole dương tổng quát g trên U có thể biểu diễn dưới dạng
hội suy dẫn khi và chỉ khi bảng chân lý của g chứa các phép gán trị
đơn vị e, phép gán trị không z và đóng với phép &, cụ thể là khi và
chỉ khi g thỏa hai tính chất (i)-(ii) sau đây.
(i) g(e) = g(z) = 1,
(ii) u,v B
n
: g(u) = g(v) = 1 g(u&v) = 1.
Định nghĩa 3.2.3
Cho quan hệ R trên tập thuộc tính U. Với quan hệ đối sánh giữa các
bộ của R thỏa điều kiện ánh xạ
i
: d
i
d
i
B được xác định trên mỗi
22
3.3. Ứng dụng ánh xạ đóng và hệ suy dẫn trong CSDL
Vận dụng các kết quả lý thuyết chung về các AXĐ ta có thể nhận
được các kết quả liên quan đến các LĐQH đã công bố trước đây như
bao đóng, khóa và phản khóa. Toán tử lấy bao đóng của tập các thuộc
tính, tập phụ thuộc Boole dương tổng quát cũng được chứng minh là
một ánh xạ đóng
Hệ sinh ánh xạ đóng và các khái niệm liên quan được trình bày trong
chương 2 cũng có thể ứng dụng để giải quyết một số lớp bài toán liên
quan đến hệ suy dẫn.
C. KẾT LUẬN VÀ KIẾN NGHỊ HƯỚNG PHÁT TRIỂN
1. Kết luận
Luận án tập trung nghiên cứu, phát triển một số vấn đề liên quan
đến lớp phụ thuộc Boole dương tổng quát và ánh xạ đóng – công cụ
để mô tả và phản ánh lớp phụ thuộc này. Cụ thể một số đóng góp mới
của luận án liên quan đến các nội dung nghiên cứu là:
1. Ánh xạ đóng và hệ sinh ánh xạ đóng: Phát biểu và chứng minh
định lý biểu diễn cơ sở hệ sinh ánh xạ đóng với kỹ thuật thu gọn
hệ sinh theo vế trái tối tiểu của tập luật sinh (định lý 2.3.5); Phát
biểu và chứng minh 02 bổ đề biểu diễn các cơ sở sinh từ cơ sở
của hệ sinh sau khi thực hiện phép thu gọn với vế trái cực tiểu
(bổ đề 2.3.4 và bổ đề 2.3.5); Đề xuất một lớp hệ sinh đặc biệt gọi
là hệ sinh cân bằng để biểu diễn ánh xạ đóng và thu được một số
kết quả ban đầu nâng cao hiệu quả tính toán cơ sở hệ sinh ánh xạ
đóng khi sử dụng công cụ này.
2. Phát triển lớp phụ thuộc Boole dương tổng quát: Đề xuất khái
niệm bao đóng, phủ, phủ không dư và thuật toán tìm phủ không
dư cho lớp phụ thuộc Boole dương tổng quát; Xây dựng thuật
23
toán giải bài toán thành viên trong trường hợp tổng quát cho lớp
phụ thuộc Boole dương tổng quát; Xác định điều kiện cần và đủ
để biểu diễn phụ thuộc Boole dương tổng quát dưới dạng hội các
công thức suy dẫn; Phát biểu và chứng minh mệnh đề về điều
kiện tồn tại của quan hệ Armstrong đối với PTBDTQ; Xây dựng
thuật toán tìm tập PTBDTQ thỏa mãn quan hệ R cho trước.
3. Ứng dụng các kết quả nghiên cứu để giải quyết một số bài toán
trong CSDL như bài toán tìm khóa, bao đóng và một số dạng
toán của hệ suy dẫn.
2. Kiến nghị hướng phát triển tiếp theo
- Nghiên cứu và phát triển về phủ tối thiểu cho lớp phụ thuộc
Boole dương tổng quát.
- Tiếp tục tìm hiểu và tổng quát hóa một số lớp phụ thuộc dữ liệu
có bản chất là phụ thuộc Boole dương được nghiên cứu gần đây
như phụ thuộc hàm mềm, phụ thuộc hàm có điều kiện, phụ thuộc
sai khác….