Tải bản đầy đủ (.doc) (101 trang)

luận án tiến sĩ phát triển một số phụ thuộc logic trong cơ sở dữ liệu

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 (627.19 KB, 101 trang )

1

DANH MỤC CÁC KÝ HIỆU, CÁC TỪ VIẾT TẮT
AXĐ
Close(U)
CSDL
CTB
CTBD
CTSD
HSCB
HSD
I(U)
L(U)
ML(F)
P(U)
PTBD
PTBDĐT
PTBDTQ
PTH
R(U)
REL(U)
REL_p(U)

Ánh xạ đóng
Tập tất cả các ánh xạ đóng trên tập U cho trước
Cơ sở dữ liệu
Công thức Boole
Công thức Boole dương
Công thức suy dẫn
Hệ sinh cân bằng
Hội suy dẫn


Tập các công thức suy dẫn trên tập biến U
Tập các CTB xây dựng trên tập các biến U
Tập các vế trái cực tiểu của F
Tập toàn bộ các công thức dương trên U
Phụ thuộc Boole dương
Phụ thuộc Boole dương đa trị
Phụ thuộc Boole dương tổng quát
Phụ thuộc hàm
Quan hệ R với tập thuộc tính U
Tập toàn thể các quan hệ trên tập thuộc tính U
Tập toàn thể các quan hệ có không quá p bộ trên tập thuộc

SAT(F)
SAT_p(F)

tính U, p ≥ 1
Tập toàn thể các quan hệ trên U thỏa tập ràng buộc F
Tập toàn thể các quan hệ có không quá p bộ trên U thỏa

SubSet(U)




├2

tập ràng buộc F, p ≥ 1
Tập các tập con của U
Khi và chỉ khi
suy ra, kéo theo

suy dẫn theo quan hệ
suy dẫn logic
suy dẫn theo quan hệ có không quá 2 bộ


2

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.
Để 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 từ những mô hình truyền thống như mô hình mạng, mô
hình phân cấp, mô hình quan hệ đến các mô hình hiện đại, được dùng nhiều
hiện nay như mô hình cơ sở dữ liệu phân tán, mô hình cơ sở dữ liệu hướng
đối tượng … Trong các mô hình dữ liệu, việc nghiên cứu lý thuyết và ứng
dụng của các ràng buộc dữ liệu hay còn gọi là các phụ thuộc dữ liệu là một
yêu cầu cấp thiết đặt ra. Phụ thuộc dữ liệu đầu tiên được Codd [29] 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. Tiếp sau đó R. Fagin và Zaniolo đã đưa ra phụ thuộc đa trị
vào năm 1976. Năm 1979 C. Beeri và J.D. Ullman [54] đề xuất phụ thuộc kết
nối. Cùng với sự phát triển của lớp phụ thuộc hàm, một số phụ thuộc dữ liệu
bậc cao cũng như hệ tiên đề cho lớp các phụ thuộc - tức là đặt nền móng cơ sở
lý thuyết về phụ thuộc dữ liệu, cũng được giới thiệu sau đó như phụ thuộc đối
ngẫu, phụ thuộc mạnh, phụ thuộc yếu do J. Demetrovics và Gy. Gyepesy đề
xuất năm 1981, phụ thuộc Boole dương do Berman, Blok [22], [23] và Sagiv,

Delobel et al [52] đề xuất năm 1985, 1987, phụ thuộc Boole dương tổng quát
được Nguyễn Xuân Huy, Lê Thị Thanh [50] phát triển năm 1992, …


3

Gần đây, trên cơ sở lớp phụ thuộc hàm là phụ thuộc dữ liệu truyền thống có
một số công trình nghiên cứu của nhiều nhóm về các phụ thuộc dữ liệu mở
rộng cho nhiều các loại dữ liệu khác nhau. Với dữ liệu xác định, năm 2004,
Ilyas [43] và các đồng nghiệp đã nghiên cứu phụ thuộc hàm nhẹ (Soft
Functional Dependencies – Soft FD) là phụ thuộc hàm mà giá trị của X xác
định giá trị của Y với độ không chắc chắn nhất định hay phụ thuộc hàm có
điều kiện (Conditional functional dependencies - CFDs) được Bohannon [24]
cùng các đồng nghiệp đề xuất năm 2007 để làm sạch dữ liệu. Với dữ liệu mờ,
phụ thuộc hàm đối sánh (Matching dependencies - MDs), phụ thuộc hàm độ
đo (Metric Functional Dependencies - MFD) đã lần lượt được Fan [36], [37],
Koudas [44] nghiên cứu, đề xuất năm 2008, 2009. Hay phụ thuộc tuần tự
(Sequential dependencies - SD ) được Golab [41] và đồng nghiệp đưa ra để
khái quát dữ liệu theo thứ tự và biểu diễn mối quan hệ giữa các thuộc tính có
thứ tự. Gần đây, đầu năm 2011 nhóm nghiên cứu Song S. và Chen L. [53] đã
đề xuất phụ thuộc sai khác (Differential Dependencies - DDs) để giải quyết
một số vấn đề như đảm bảo tính toàn vẹn, tối ưu truy vấn tốt hơn so với phụ
thuộc hàm.
Lớp các PTH và hầu hết các phụ thuộc bậc cao phát triển sau đó như phụ
thuộc đối ngẫu, phụ thuộc mạnh, phụ thuộc yếu, phụ thuộc hàm nhẹ, phụ
thuộc hàm có điều kiện … đều dựa trên quan hệ đẳng thức khi so sánh các trị
của các thuộc tính xuất hiện trong các bộ. Trong thực tế, ngoài so sánh theo
đẳng thức còn tồn tại những loại hình so sánh khác. Ta xét một số thí dụ sau:
1. Trong CSDL quản lý giao dịch thẻ tín dụng, số thẻ giao dịch sẽ xác định vị
trí giao dịch. Để xác định một giao dịch có gian lận hay không ta có thể kết

hợp các điều kiện giữa số thẻ với vị trí để xác định thời gian giao dịch, thí dụ
nếu cùng một thẻ tín dụng giao dịch ở hai vị trí cách nhau hơn 40km (ở hai


4

thành phố khác nhau), thì thời gian truyền sai lệch phải lớn hơn 20 phút. Nếu
hai giao dịch không thỏa điều kiện trên thì một trong hai phiên giao dịch đó là
gian lận. Như vậy, ta thấy phụ thuộc

[sothe (=0) ∧ vitri (≥40)] →

[thoigian(≥20)] có ngữ nghĩa rộng hơn PTH sothe → vitri.
2. Trong số luận, độ cao của một số tự nhiên n, H(n) là tổng các chữ số của
số đó, thí dụ, H(2006) = H(125) = 8. Nếu ta phân loại các số theo độ cao thì
hai số khác nhau có thể thuộc cùng một lớp. Như vậy phụ thuộc
H(N)→CLASS có ngữ nghĩa rộng hơn PTH N → CLASS.
3. Nhà hóa học Nga Mendelev từ lâu đã chỉ ra và phân loại các nguyên tố hóa
học theo số lớp điện tử cũng như số điện tử tự do trong cấu tạo nguyên tử của
chúng. Hai nguyên tố có thể khác nhau nhưng nếu chúng có cùng số lớp điện
tử hoặc/và cùng số điện tử tự do thì chúng sẽ có cung một số tính chất nào đó
và do đó thuộc cùng một nhóm hay chu kỳ. Ví dụ: trong nhóm các kim loại
kiềm IA (gồm 6 nguyên tố hóa học Li, Na, K, Rb, Cs, Fr) đều có tính khử
mạnh, chỉ số oxi hóa +1, các cặp oxi hóa – khử M +/M đều có điện cực chuẩn
có giá trị rất âm, và chung một số tính chất như tác dụng được với axít, phi
kim, nước…
Trong thực tế với một số cơ sở dữ liệu lớn, biến động, phân tán ở nhiều nơi,
trên địa bàn rộng, phục vụ nhiều người dùng với nhiều ứng dụng khác nhau
thì các yêu cầu như đồng nhất dữ liệu (theo khóa và theo trọng số thông tin ),
xử lý các yêu cầu tra cứu thông tin với các điều kiện khác nhau một cách

nhanh chóng, đảm bảo dữ liệu không bị mất mát trên đường truyền, 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… cũng luôn là yêu cầu cần
thiết đặt ra. Xét ví dụ về hệ thống thông tin quản lý xuất nhập cảnh. Hệ thống
này bao gồm nhiều phân hệ như : hệ thống cấp phát hộ chiếu, thị thực cho


5

người Việt Nam xuất nhập cảnh, hệ thống cấp phát thị thực cho người nước
ngoài và Việt Kiều nhập xuất cảnh, kiểm soát xuất nhập cảnh tại các cửa khẩu
quốc tế, quản lý tạm trú, tạm vắng tại địa phương. Đây là hệ thống thông tin
lớn: danh sách về người xin xuất nhập cảnh hàng năm lên đến hàng chục triệu
người, luôn biến động và luân chuyển từ Trung tâm trung ương tới các trạm
kiểm soát xuất nhập cảnh cửa khẩu, tới các cơ quan đại diện ngoại giao Việt
Nam ở nước ngoài và ngược lại. Hệ thống cũng giải quyết nhiều tác nghiệp
như duyệt nhân sự, kiểm soát xuất nhập cảnh, quản lý tạm trú đi lại, theo dõi
tiến trình xuất nhập cảnh, xin xuất nhập cảnh... Để quản lý, lưu trữ và trao đổi
dữ liệu giữa các phân hệ được tốt cần đưa tập các ràng buộc dữ liệu ban đầu
về dạng thu gọn, đơn giản hơn, đồng thời tổ chức, thiết kế cơ sở dữ liệu sao
cho giảm tải được dữ liệu lưu trữ, tra cứu với nhiều điều kiện tìm kiếm….
Một trong các giải pháp để thực hiện việc này là mở rộng khái niệm đối sánh
các trị của các thuộc tính xuất hiện trong các bộ, tìm tập các phụ thuộc dữ liệu
thu gọn tương đương với tập phụ thuộc dữ liệu ban đầu... Đây cũng chính là
mục đích và ý nghĩa của việc mở rộng khái niệm so sánh trong lớp các phụ
thuộc dữ liệu như phụ thuộc Boole dương tổng quát hay các phụ thuộc có bản
chất là phụ thuộc Boole dương như phụ thuộc sai khác, phụ thuộc đối sánh…
được nghiên cứu sau này.
Với mong muốn phát triển, mở rộng lý thuyết về phụ thuộc dữ liệu và một số
ứ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à ánh xạ đóng là 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


6

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.
Phương pháp nghiên cứu
- Tìm hiểu các tài liệu và kết quả nghiên cứu có liên quan đến đề tài.
Vận dụng chủ yếu các phương pháp và cấu trúc của toán học rời rạc
kết hợp với việc phát triển lớp các phụ thuộc logic nhằm nâng cao
khả năng biểu đạt và đảm bảo ngữ nghĩa của dữ liệu trong cơ sở dữ
liệu
- Kết hợp chặt chẽ giữa lý thuyết và các phương pháp toán học để
chứng minh một số kết quả nghiên cứu.
Những đóng góp của luận án
Luận án đã giải quyết được các vấn đề sau:
(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.


7

(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. Các nội dung cơ bản của luận án được trình bày theo cấu
trúc như sau:
Chương 1: Tổng quan về các phụ thuộc logic trong cơ sở dữ liệu
Trì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: Ánh xạ đóng và hệ sinh cân bằng
Giới thiệu về ánh xạ đóng, giàn giao và điểm bất động của á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. Phát triển lớp các phụ thuộc Boole dương và ánh xạ đóng trong
cơ sở dữ liệu
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


8

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.
Các kết quả chủ yếu của luận án được trình bày trong Chương 2 và Chương 3.
Các kết quả này cũng đã được công bố trên 4 bài báo đăng trong các tạp chí
chuyên ngành, được trình bày và đăng trong kỷ yếu của 2 hội nghị Quốc gia
về Công nghệ thông tin.
Những kết quả nghiên cứu trong luận án là bước đầu để phát triển và hoàn
thiện lý thuyết lớp các phụ thuộc logic trong cơ sở dữ liệu. Kết hợp với một
số thuật toán, kỹ thuật khai thác dữ liệu và tri thức, có thể xây dựng các ứng
dụng phục vụ cho công tác của ngành Công an. Do điều kiện về thời gian và
trình độ còn hạn chế, những vấn đề trình bày trong luận án không tránh khỏi
những thiếu xót. Tác giả rất mong được sự thông cảm và góp ý của các nhà
khoa học, đồng nghiệp và bạn bè để hoàn thiện luận án tốt hơn.


9


CHƯƠNG 1
TỔNG QUAN VỀ CÁC PHỤ THUỘC
LOGIC TRONG CƠ SỞ DỮ LIỆU
Lý thuyết về 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. Trong quản lý các
cơ sở dữ liệu (CSDL), 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 đáp ứng trong thực tế. Nhờ có 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 đượ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 cơ sở lý thuyết
về phụ thuộc dữ liệu. Một điều khá tự nhiên là ngay từ những ngày đầu phát
triển lý thuyết thiết kế cơ sở dữ liệu, logic đã được chọn như một ngôn ngữ
hữu hiệu để đặc tả phụ thuộc dữ liệu, do đó, trong số các loại hình phụ thuộc
dữ liệu rất đa dạng được đề xuất và phát triển sau này, các phụ thuộc logic
luôn luôn là trọng tâm chú ý của các nhóm nghiên cứu.
Chương này sẽ trình bày một cách tổng quan quá trình phát triển của các lớp
phụ thuộc Boole dương 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. Phần đầu tiên của
chương trình bày một số khái niệm cơ bản của lý thuyết cơ sở dữ liệu quan hệ
và phát biểu định lý tương đương cho lớp phụ thuộc hàm. Các phần tiếp theo
của chương lần lượt giới thiệu các lớp phụ thuộc Boole được mở rộng theo
trình tự thời gian là phụ thuộc Boole dương, phụ thuộc Boole dương tổng quát


10

và phụ thuộc Boole dương đa trị. Phần cuối nêu sự cần thiết và ý nghĩa của

việc mở rộng các phụ thuộc dữ liệu và một số vấn đề cần phát triển tiếp.
1.1 MỘT SỐ KHÁI NIỆM CƠ BẢN
Các khái niệm cơ bản về cơ sở dữ liệu quan hệ được trình bày lần đầu tiên
trong công trình của Codd [29]. Các khái niệm liên quan đến các cơ sở dữ liệu
và tri thức đã được trình bày đầy đủ trong [39], [54].
Các khái niệm về quan hệ, thuộc tính, bộ được định nghĩa như sau:
Định nghĩa 1.1.1
Cho tập hữu hạn U = {A1, A2 , ... , An} 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 Ai∈U, i = 1,2,...,n có một tập
chứa ít nhất hai phần tử dom(Ai) được gọi là miền trị của thuộc tính Ai. Gọi D
là hợp của các dom(Ai), 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: U→D sao cho với mỗi Ai∈U ta có
t(Ai) ∈ dom(Ai). Mỗi ánh xạ được gọi là một bộ của quan hệ R.
Mỗi quan hệ R(U) có hình ảnh là một bảng, mỗi cột ứng với một thuộc tính,
mỗi dòng là một bộ.
Ta ký hiệu t(U) là một bộ trên tập thuộc tính U.
Một quan hệ rỗng, ký hiệu ∅, là quan hệ không chứa bộ nào.
Vì mỗi quan hệ là một tập các bộ nên trong quan hệ không có hai bộ trùng
lặp.
Theo truyền thống của lý thuyết cơ sở dữ liệu chúng ta chấp nhận các quy
định sau đây:
Các thuộc tính được ký hiệu bằng các chữ LATIN HOA đầu bảng chữ A, B,
C,...
Tập thuộc tính được ký hiệu bằng các chữ LATIN HOA cuối bảng chữ X, Y,
Z,...


11

Các phần tử trong một tập thuộc tính thường được liệt kê như một xâu ký tự,

chẳng hạn ta viết X = ABC thay vì viết X = {A, B, C}. XY biểu diễn hợp của
hai tập X và Y, X ∪ Y. Phép trừ hai tập X và Y được ký hiệu là X\Y, hoặc X-Y.
Một phân hoạch của tập M thành các tập con rời nhau X1, X2, ..., Xm được ký
hiệu là
M = X1 | X2 |... | Xm
với ý nghĩa M = X1 ∪ X2 ∪ ... ∪ Xm và Xi ∩ Xj = ∅, 1 ≤ i, j ≤ m, i ≠ j.
Các bộ được biểu diễn bằng các chữ Latin thường có thể kèm chỉ số t, u, v,
t1 ...
Với mỗi bộ t trong quan hệ R(U) và mỗi tập con các thuộc tính X ⊆ U ta ký
hiệu t[X] hoặc t.X là hạn chế của bộ (ánh xạ) t trên tập thuộc tính X.
Quy ước:
Mọi cặp bộ t và v trong mọi quan hệ giống nhau trên miền rỗng các thuộc
tính,
t.∅ = v.∅.


Hàm Attr(R) cho tập thuộc tính của quan hệ R.

• Hàm Card(R) cho lực lượng (số bộ) của quan hệ R.
Trong trường hợp tập thuộc tính U đã cho trước ta có thể viết đơn giản R thay
cho R(U).
Ký hiệu REL(U) là tập toàn thể các quan hệ trên tập thuộc tính U, REL_p(U)
là tập toàn thể các quan hệ có không qúa p bộ trên tập thuộc tính U, p ≥ 1.
Hai quan hệ R và S được gọi là tương thích nếu chúng có cùng một tập thuộc
tính, tức là nếu Attr(R) = Attr(S).
1 . 2 P H Ụ T H UỘ C H À M
Phụ thuộc hàm là lớp phụ thuộc đầu tiên của phụ thuộc logic, đây cũng là lớp
phụ thuộc kinh điển được Codd [29] đề xuất sớm nhất và đóng vai trò quan



12

trọng trong việc thiết kế CSDL. Phần này sẽ trình bày khái niệm về phụ thuộc
hàm, một số tính chất của phụ thuộc hàm, các loại suy dẫn, suy dẫn theo tiên
đề, , suy dẫn theo quan hệ, suy dẫn theo quan hệ có không quá p bộ và phát
biểu định lý tương đương giữa các loại suy dẫn này. Khái niệm về lược đồ
quan hệ cũng được đề cập ở đây.
1.2.1. Khái niệm phụ thuộc hàm
Định nghĩa 1.2.1
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: X→Y ; X,Y ⊆ U
Nếu f: X→Y 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. X là
vế trái và Y là vế phải của PTH f. Ta cũng dùng hai toán tử LS(f) và RS(f) để
lấy vế trái và vế phải của PTF f, cụ thể là nếu f: X → Y thì LS(f) = X, RS(f) =
Y.
Cho quan hệ R(U) và một PTH f: X→Y trên U. Ta nói quan hệ R thoả PTH f
và viết R(f), nếu hai bộ tuỳ ý trong R giống nhau trên X thì chúng cũng giống
nhau trên Y,
R(X→Y) ⇔ (∀u,v ∈ R): (u.X = v.X) ⇒ (u.Y = v.Y)
Ta dùng ký hiệu X ↛ Y với ý nghĩa tập thuộc tính Y không phụ thuộc hàm
vào tập thuộc tính X.
Cho tập PTH F trên tập thuộc tính U. Ta nói quan hệ R(U) thoả tập PTH F,
và viết R(F), nếu R thoả mọi PTH trong F,
R(F) ⇔ (∀ f ∈ F): R(f)
Nếu quan hệ R thỏa PTH f ta cũng nói PTH f đúng trong quan hệ R.
Thí dụ 1.2.1
Cho quan hệ R(A, B, C, D) như sau



13

R(A
a
a
b
b

B
1
1
2
2

C
x
y
x
y

D)
2
2
1
1

và các PTH f1: A→A, f2: A→B, f3: AC→C, f4: A→D, f5: D→A, f6: A→C.
Khi đó các PTH f1 - f5 đúng trong R, mặt khác, R không thỏa PTH f6.
Định nghĩa 1.2.2
Cho trước tập PTH F trên tập thuộc tính U, ký hiệu SAT(F) là tập toàn thể

các quan hệ trên U thoả tập PTH F, SAT_p(F), p ≥ 1 là tập toàn thể các quan
hệ có không quá p bộ trên U và thoả tập PTH F , cụ thể là
SAT(F) = { R | R∈REL(U), R(F) }
SAT_p(F) = { R | R∈REL_p(U), R(F) }
Định nghĩa 1.2.3
Cho tập ℜ các quan hệ trên U, ký hiệu FD(ℜ) là tập các PTH trên U đúng
trong mọi quan hệ của ℜ.
1 . 2 . 2 . H ệ t i ên đ ề A r m s t r o n g
Định nghĩa 1.2.4
Cho tập PTH F trên tập thuộc tính U. Bao đóng của F, ký hiệu F+ là tập nhỏ
nhất các PTH trên U chứa F và thoả các tính chất F1-F3 của hệ tiên đề
Armstrong Ao sau đây:
∀X, Y, Z ⊆ U:
F1. Tính phản xạ: Nếu X ⊇ Y thì X→Y ∈ F +
F2. Tính gia tăng: Nếu X→Y ∈ F + thì XZ→YZ ∈ F +
F3. Tính bắc cầu: Nếu X→Y ∈ F + và Y→Z ∈ F + thì X→Z ∈ F +


14

Nhận xét:
Các PTH có vế trái chứa vế phải như mô tả trong F1 được gọi là tầm thường.
Các PTH tầm thường đúng trong mọi quan hệ. Ngoài ra, các quan hệ trên tập
thuộc tính U có không quá một bộ thỏa mọi PTH trên U.
1.2.3. Một số tính chất của phụ thuộc hàm
Cho tập thuộc tính U và các tập phụ thuộc hàm F, G trên U, tập các quan hệ
ℜ trên U, các quan hệ R và S trên U. Khi đó:
1. Nếu F ⊆ G thì SAT(F) ⊇ SAT(G)
2. SAT(FG) = SAT(F) ∩ SAT(G)
3. FD(R∪S) ⊆ FD(R) ∩ FD(S)

4. R ⊆ S ⇒ FD(R) ⊇ FD(S)
5. F ⊆ FD(SAT(F))
6. ℜ ⊆ SAT(FD(ℜ))
7. SAT(FD(SAT(F))) = SAT(F)
8. FD(SAT(FD(ℜ))) = FD(ℜ)
1.2.4. Định lý tương đương
Định nghĩa 1.2.4
Phụ thuộc hàm f được suy dẫn theo tiên đề (hoặc suy dẫn logic) từ tập PTH F
và ký hiệu là F╞ f, nếu f ∈ F +.
F╞ f ⇔ f ∈ F +
Nói cách khác PTH f được suy dẫn theo tiên đề từ tập PTH F nếu xuất phát
từ F, áp dụng các luật F1, F2 và F3 của hệ tiên đề Armstrong Ao sau hữu hạn
lần ta sẽ thu được PTH f.


15

Định nghĩa 1.2.5
Cho tập PTH F trên tập thuộc tính U và f là một PTH trên U. Ta nói PTH f
được suy dẫn theo quan hệ từ tập PTH F và viết F├ f, nếu mọi quan hệ R(U)
thoả F thì R cũng thoả f.
F├ f ⇔ SAT(F) ⊆ SAT(f)
Cho tập thuộc tính U và tập PTH F trên U, ta định nghĩa F* là tập các PTH f
trên U được suy dẫn theo quan hệ từ tập PTH F
F * = { f: X→Y | X,Y ⊆ U, F├ f }
Tính đủ và xác đáng của hệ tiên đề Armstrong được chứng minh trong định lý
1.2.1 dưới đây.
Định lý 1.2.1
F+=F*
Nói cách khác, suy dẫn theo quan hệ và suy dẫn theo logic là một, tức là

F╞ f ⇔ F├ f
Định nghĩa 1.2.6
Cho tập PTH F trên tập thuộc tính U và f là một PTH trên U. Ta nói PTH f
được suy dẫn theo quan hệ có không quá p bộ từ tập PTH F và viết F ├p f,
nếu mọi quan hệ R trong REL_p(U) thoả F thì R cũng thoả f [52].
F├p f ⇔ SAT_p(F) ⊆ SAT_p(f)
Cho tập thuộc tính U và tập PTH F trên U, ta định nghĩa F' là tập các PTH f
trên U được suy dẫn theo quan hệ có không quá hai bộ từ tập PTH F
F' = { f: X→Y | X,Y ⊆ U, F├2 f }
Định lý sau phát biểu về sự tương đương giữa các loại suy dẫn theo tiên đề,
suy dẫn theo quan hệ và suy dẫn theo quan hệ có không quá P bộ.


16

Định lý 1.2.2
F + = F * = F'
Nói cách khác, đối với phụ thuộc hàm, ba loại suy dẫn sau là tương đương
(i) Suy dẫn logic: F╞ f ,
(ii) Suy dẫn theo quan hệ: F├ f , và
(iii) Suy dẫn theo quan hệ có không quá hai bộ: F├2 f.
Định nghĩa 1.2.7
Lược đồ quan hệ (LĐQH) là một cặp a = (U, F), trong đó U là tập hữu hạn
các thuộc tính, F là tập các ràng buộc trên các miền trị (dữ liệu) của các thuộc
tính trong U.
1 . 3 C Á C C Ô N G T H ỨC B O O L E
Định nghĩa 1.3.1
Cho U = {x1,...,xn} 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 L(U) là tập các CTB xây dựng trên tập các biến U.
Định nghĩa 1.3.2
Mỗi vector các phần tử 0/1, v = (v1,...,vn) trong không gian Bn = B×B×...×B
được gọi là một phép gán trị cho các biến {x1,...,xn} trong U.
Khi đó với mỗi CTB f∈L(U) ta có f(v) = f(v1,...,vn) là trị của công thức f đối
với phép gán trị v, và f(v) được tính như sau:
1. Thay toàn bộ xuất hiện của mỗi biến xi trong f bằng trị vi tương ứng,
i=1,2,…,n để thu được một mệnh đề logic b.
2. Trị của f(v) chính là trị của b.


17

Với mỗi tập con X ⊆ U, ta quy ước viết hội logic (∧) của các biến trong X là
dãy ký hiệu của X. Như vậy, trong trường hợp không gây ra nhầm lẫn, ký hiệu
X đồng thời biểu diễn cho các đối tượng sau đây:
• một tập thuộc tính trong U,
• một tập biến logic trong U,
• một công thức Boole được lập bởi hội logic các biến trong X.
Ngoài ra, nếu X = {B1,...,Bm} ⊆ U ta ký hiệu
∧X = B1∧B2∧...∧Bm và gọi là dạng hội.
∨X = B1∨B2∨...∨Bm và gọi là dạng tuyển.
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).
Với mỗi tập hữu hạn các CTB, F = {f1, f2,...,fm} trong L(U), F được xem là
một công thức dạng F = f1∧f2∧...∧fm. Khi đó với mỗi phép gán trị v, giá trị
chân lý của công thức F sẽ được tính như sau:
F(v) = f1(v) ∧ f2(v) ∧ ... ∧ fm(v)
Định nghĩa 1.3.3
Với mỗi công thức f trên U, bảng trị của f, ký hiệu là Vf chứa n+1 cột, trong

đó n cột đầu tiên chứa các trị của các biến trong U, cột cuối cùng, cột thứ n+1,
chứa trị của f ứng với mỗi phép gán trị của dòng tương ứng. Như vậy bảng trị
chứa 2n dòng, trong đó n là lực lượng của tập U. Bảng chân lý của f, ký hiệu
là Tf, là tập các phép gán trị v sao cho f(v) nhận giá trị 1,
Tf = {v ∈ B n | f(v) =1}
Khi đó bảng chân lý TF 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,
TF = T f
f ∈F


18

Ta có, v ∈ TF khi và chỉ khi ∀f ∈F: f(v) = 1.
Nhận xét 1.3.1
Với mỗi CTB f, bảng trị Vf của f chứa trị của mọi phép gán trị cho f, trong khi
bảng chân lý Tf chỉ là một phần của bảng trị ứng với các giá trị 1 của f.
1 . 4 P H Ụ T H UỘ C B O O L E D Ư Ơ N G
Tiếp theo một số phụ thuộc logic như phụ thuộc hàm, phụ thuộc đối ngẫu,
phụ thuộc mạnh, phụ thuộc yếu…đã được đề xuất và nghiên cứu bởi một số
tác giả, các nhóm nghiên cứu độc lập với nhau của J Berman và W.J.Blok
[22], [23] và Sagiv, Delobel et al. [52] đã mở rộng khái niệm PTH sang phụ
thuộc Boole dương. Đây là lớp phụ thuộc logic bao gồm các ràng buộc dữ
liệu được mô tả thông qua các công thức Boole dương là những công thức
nhận giá trị 1 (true) khi tất cả các biến đều có trị 1. Trong mô tả các phụ thuộc
hàm và phụ thuộc Boole dương phép sánh trị của thuộc tính vẫn là phép sánh
đẳng thức (=). Đối với các phụ thuộc Boole dương định lý tương đương vẫn
bảo toàn hiệu lực.
1.4.1. Công thức Boole dương
Định nghĩa 1.4.1

Công thức f ∈ L(U) được gọi là công thức Boole dương (CTBD) nếu f(e) =1,
trong đó e là phép gán trị đơn vị, e = (1,1,...,1).
Ký hiệu P(U) là tập toàn bộ các công thức dương trên U. Theo Post [50] ta có
thể xem P(U) bao gồm các công thức được xây dựng từ các phép toán ∧, ∨,
→ và hằng 1.
Thí dụ 1.4.1
1. A∧B, (A∧B)∨(C∧B), (A∧B)∨((C∧B)→B)∨C∨1 là các CTBD.


19

2. Các công thức suy dẫn, suy dẫn mạnh, yếu và đối ngẫu đều là các
CTBD.
3. Công thức A ∧ (¬B) không phải là CTBD, vì khi A = B = 1 ta có 1 ∧ 0
= 0.
1.4.2. Bảng chân lý của quan hệ
Với hai bộ u và v tùy ý trong quan hệ R ta định nghĩa α(u,v) là phép gán trị:

α(u,v) = (u.A1= v.A1, u.A2= v.A2,..., u.An= v.An)
Nói cách khác, nếu u = (u1, u2, u3,… un,) và v = (v1, v2, v3,… vn) thì ta đặt
t = α(u,v) = (t1,t2,...,tn)
trong đó ti = 1 nếu ui = vi và ti = 0 nếu ui ≠ vi, 1 ≤ i ≤ n
Với mỗi quan hệ R ∈ REL(U) ta gọi bảng chân lý của quan hệ R là tập :
TR = {α(u,v) u,v ∈ R}
Thí dụ 1.4.2
R

TR

BộABCt11a2t22b


ABCt1&t1

2t31a3

111t1&t2001t1&t3110t2&t30
00

Nhận xét:
- Mỗi dòng t của TR chính là một phần tử trong không gian Bn
- Nếu R = ∅ thì TR = ∅
- Nếu R ≠ ∅ thì e ∈ TR vì α(u,u) = e nên e ∈ TR
1.4.3. Phụ thuộc Boole dương
Định nghĩa 1.4.2


20

Mỗi công thức Boole dương trong P(U) đượ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.
Ta nói quan hệ R thỏa tập PTBD F và ký hiệu R(F) nếu TR ⊆ TF.
Cho tập PTBD F và một PTBD f. Ta nói F dẫn ra được f theo quan hệ, và ký
hiệu F├ f nếu ∀R∈ REL(U): R(F) ⇒ R(f).
Cho tập PTBD F và một PTBD f. Ta nói F dẫn ra được f theo quan hệ có
không quá hai bộ, ký hiệu F ├2 f nếu ∀R∈REL_2(U): R(F) ⇒ R(f).
1.4.4. Định lý tương đương
Cho tập PTBD F và một PTBD 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ộ)
Đối với PTH ta đã định nghĩa quan hệ R thỏa PTH f: X → Y, và ký hiệu là
R(f) nếu
∀u,v ∈ R: u.X = v.X ⇒ u.Y = v.Y
Khi coi PTH như là một trường hợp riêng của CTBD ta chấp nhận định nghĩa
quan hệ R thỏa PTH f: X → Y nếu TR ⊆ Tf.
Định lý 1.4.1 sau đây xác định tính tương đương của hai định nghĩa trên.
Định lý 1.4.1
Cho quan hệ R trên tập thuộc tính U và một PTH f: X → Y trên U. Khi đó R(f)
khi và chỉ khi TR ⊆ Tf.
Hệ quả 1.4.1
Cho quan hệ R trên tập thuộc tính U và tập PTH F trên U. Khi đó R(F) khi và
chỉ khi TR ⊆ TF.


21

1.5 PHỤ THUỘC BOOLE DƯƠNG TỔNG QUÁT
Tiếp theo phụ thuộc Boole dương, năm 1992 nhóm tác giả Nguyễn Xuân Huy
và Lê Thị Thanh [50] đã mở rộng phụ thuộc Boole dương thành phụ thuộc
Boole dương tổng quát (PTBDTQ) bằng cách thay phép sánh đẳng thức bằng
quan hệ hai ngôi α với ba tính chất phản xạ, đối xứng và bộ phận. Đối với
các PTBDTQ định lý tương đương vẫn bảo toàn hiệu lực.
1.5.1. Bảng chân lý quan hệ của PTBDTQ
Định nghĩa 1.5.1

Cho tập thuộc tính U. Ta quy ước rằng mỗi miền trị di của thuộc tính Ai,
1 ≤ i ≤ n, có chứa ít nhất hai phần tử. Với mỗi miền trị di, ta xét ánh xạ

αi: di×di → B thoả ba tính chất sau:
(i) Tính phản xạ: ∀a∈di: αi(a,a) =1
(ii) Tính đối xứng: ∀a,b ∈ di: αi(a,b) = αi(b,a)
(iii) Tính bộ phận: ∃a, b ∈ di: αi(a,b) = 0.
Quan hệ đẳng thức là trường hợp riêng của quan hệ trên.
Thí dụ 1.5.1
Cho U = ABC với dA là tập các số nguyên dương, dB là tập các số thực và giá
trị không xác định #, dC là tập các từ hữu hạn trên bảng chữ cái không rỗng
cho trước. Khi đó các quan hệ αA, αB và αC dưới đây thỏa ba tính chất (i)-(iii).

αA(a,b) = 1 khi và chỉ khi hai số a và b cùng tính chẵn lẻ.
αB(a,b) = 1 khi và chỉ khi a và b đồng thời là hai số thực hoặc hai giá trị
không xác định #.

αC(a,b) = 1 khi và chỉ khi hai từ a và b có cùng chiều dài.


22

Định nghĩa 1.5.2
Giả sử các ánh xạ αi đã được xác định trên mỗi miền trị di của các thuộc tính
Ai trong tập U= {A1,A2,...,An}, 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.A1,v.A1), α2(u.A2,v.A2),...,αn(u.An,v.An))
Với mỗi quan hệ R ∈ REL(U) ta gọi bảng chân lý của quan hệ R là tập
TR = {α(u,v)  u, v ∈ R}

Thí dụ 1.5.1
Với các thuộc tính A, B và C và các ánh xạ αA, αB và αC tương ứng như mô
tả trong thí dụ trước. Quan hệ R và bảng chân lý TR sẽ như sau :
R

TR

BộABCt1148.0Hat2 8

α ABCα (t1,t1)111α (t1,t2)

#Hoangt3 32.5Duong

100α (t1,t3)010α (t2,t3)00
1

1.5.2. Phụ thuộc Boole dương tổng quát
Định nghĩa 1.5.3
Mỗi công thức Boole dương trong P(U) là một phụ thuộc Boole dương tổng
quát (PTBDTQ).
Ta nói quan hệ R trên tập thuộc tính U thỏa PTBDTQ f và ký hiệu R(f), nếu
TR ⊆ Tf .
Quan hệ R thỏa tập PTBDTQ F và ký hiệu R(F), nếu R thỏa mọi PTBDTQ
trong F,
R(F) ⇔ ∀f ∈ F: R(F) ⇔ TR ⊆ TF.


23

Nếu R(f) ta cũng nói PTBDTQ f đúng trong quan hệ R.

1.5.3. Định lý tương đương
Định nghĩa 1.5.2
Cho tập PTBDTQ F và một PTBDTQ f. Ta nói F dẫn ra được f theo quan hệ,
và ký hiệu F ├ f nếu
∀R∈ REL(U): R(F) ⇒ R(f)
Định nghĩa 1.5.3
Cho tập PTBDTQ F và một PTBDTQ f. Ta nói F dẫn ra được f theo quan hệ
có không quá hai bộ, ký hiệu F ├2 f nếu
∀R ∈ REL_2(U): R(F) ⇒ R(f)
Định lý tương đương cho lớp phụ thuộc Boole dương tổng quát được phát
biểu và chứng minh trong định lý 1.5.1 dưới đây.
Định lý 1.5.1
Cho tập PTBDTQ F và một PTBDTQ f. Ba mệnh đề sau là tương đương [48],
(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ộ)
1.6 PHỤ THUỘC BOOLE DƯƠNG ĐA TRỊ
Trong thực tiễn, việc so sánh hai đối tượng không chỉ giới hạn trong khuôn
khổ quyết định về sự đồng nhất tuyệt đối giữa hai đối tượng đó. Chẳng hạn,
việc xác định hai đối tượng A và B có phải là hai bản sao của cùng một văn
bản gốc hay không. Nếu A và B là hai văn bản còn nguyên vẹn thì bài toán
quyết định là đơn giản. Trong trường hợp A và B là hai văn bản cũ nát thì ta
chỉ có thể thông báo về sự trùng lặp ở một mức độ nào đấy mà ta xem là chắc
chắn, thí dụ quãng 0.8. Việc tiếp nhận các giá trị này trong CSDL làm nảy


24


sinh các vấn đề về các thao tác cập nhật và đối sánh tương ứng trên các giá trị
phản ánh độ chắc chắn, hay độ tin cậy. Nhu cầu khảo sát các loại phụ thuộc
logic với nhiều giá trị hay còn gọi là logic đa trị trong các CSDL như vậy là
khá tự nhiên. Năm 1994, Lê Đức Minh, Vũ Ngọc Loãn và Nguyễn Xuân Huy
[17], [46], [49] đã tiếp tục phát triển lớp các phụ thuộc Boole dương tổng quát
thành lớp các phụ thuộc Boole dương đa trị và sau đó là lớp các phụ thuộc
Boole dương theo nhóm bộ và bảo toàn hiệu lực của định lý tương đương.
Phần này sẽ khảo sát lớp các phụ thuộc Boole dương đa trị như một bước tổng
quát hóa các phụ thuộc Boole dương tổng quát trình bày trong phần trước.
1.6.1. Công thức Boole đa trị
Định nghĩa 1.6.1
Tập trị Boole B = {b1,...,bk} 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 Ib như sau:
∀ x ∈ B : Ib(x) = 1 nếu x = b, ngoài ra Ib(x) = 0.
Các hàm Ib, b ∈ B được gọi là các hàm phủ định tổng quát.


25

Định nghĩa 1.6.2
Cho U = {x1,...,xn} 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 Ib với b ∈ B và các phép toán ∧, ∨, ¬.
Ký hiệu MVL(U) 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.
Định nghĩa 1.6.3
Với mỗi công thức f trên U, bảng trị của f, ký hiệu là Vf , chứa n+1 cột, trong
đó n cột đầu tiên chứa trị của các biến trong U, cột cuối cùng, cột thứ n+1,
chứa trị của f ứng với mỗi phép gán trị của dòng tương ứng. Như vậy bảng trị
chứa kn dòng, trong đó k là lực lượng của tập B, n là lực lượng của tập U.
Cho m ∈ [0;1], bảng chân lý ngưỡng m của f hoặc bảng m-chân lý của f, ký
hiệu là Tf,m là tập các phép gán trị v sao cho f(v) nhận giá trị không nhỏ thua m,
Tf,m = {v ∈ Bn | f(v) ≥ m}
Khi đó bảng m-chân lý của tập hữu hạn các công thức F trên U, TF,m chính là
giao của các bảng m-chân lý của mỗi công thức thành viên trong F,

T

F ,m

=


T
f ∈F

f ,m

Ta có, v ∈ TF,m khi và chỉ khi ∀f ∈F: f(v) ≥ m.
Thí dụ 1.6.1
Cho CTBĐT F = { f: A→B, g: AB} trên U = AB. Biết B = {0, 0.5, 1}, m =
0.5. Ta có bảng trị Vg và các bảng m-chân lý Tf,m , Tg, m và TF,m như sau:


×