Mối quan hệ giữa các dạng của điều kiện cần để một tập thuộc tính là khóa của một lược đồ quan hệ với việc rút gọn bài toán tìm khóa cũng được chỉ ra.. Nhắc lại một số kết quả đã biết.[r]
(1)Một số kết thuật toán tính
bao đóng rút gọn tốn tìm khóa của lược đồ quan hệ
Vũ Quốc Tuấn, Hồ Thuần
Học viện Khoa học Công nghệ, Viện Hàn lâm Khoa học Công nghệ Việt Nam E-mail: vqtuanhd@gmail.com, hothuan1812@yahoo.com
Tác giả liên hệ: Vũ Quốc Tuấn
Ngày nhận: 27/03/2017, ngày sửa chữa: 04/08/2017, ngày duyệt đăng: 13/11/2017
Tóm tắt: Trong lĩnh vực trí tuệ nhân tạo sở liệu quan hệ, khóa lược đồ quan hệ bao đóng tập thuộc tính tập phụ thuộc hàm có vai trị quan trọng sử dụng nhiều tốn tối ưu hóa truy vấn, chuẩn hóa lược đồ quan hệ, loại bỏ ràng buộc dư thừa, v.v Do đó, độ phức tạp thuật tốn tìm bao đóng việc rút gọn tốn tìm khóa vấn đề ln quan tâm Trong vài năm gần đây, vấn đề xới lại với hàng loạt cơng trình nhằm giải tốn tính bao đóng tìm tập khóa lược đồ quan hệ cách hiệu theo nhiều tiếp cận khác Trong báo này, chúng tơi đề xuất thuật tốn cải tiến tính bao đóng đưa số kết rút gọn tốn tìm khóa nhằm nâng cao hiệu tính tốn giải vấn đề có liên quan
Từ khóa: Cơ sở liệu quan hệ, lược đồ quan hệ, phụ thuộc hàm, bao đóng tập thuộc tính, khóa lược đồ quan hệ.
Title: Some Results for the Closure Computing Algorithm and Reducing the Key Finding Problem of a Relation Schema Abstract: In artificial intelligence and relational databases, the key for a relation schema and the closure of a set of attributes under a set of functional dependencies are important and used in several problems such as query optimization, relational schema normalization, removing redundant constraints, etc Therefore, the complexity of closure computing algorithms and reducing the key finding problem are always interesting problems In recent years, these problems have been revisited with a series of new studies, to be solved more efficiently by several different approaches In this paper, we propose an improved closure computing algorithm and provide some results for reducing the key finding problem to enhance the computing performance for solving related problems
Keywords: Relational database, relation schema, functional dependency, closure of a set of attributes, key for a relation schema.
I MỞ ĐẦU
Phần nhắc lại số khái niệm quan trọng lý thuyết sở liệu quan hệ nhằm mục đích sử dụng cho phần
Lược đồ quan hệ Mộtlược đồ quan hệ Slà cặp có thứ tựS=hΩ,Fi, đóΩlà tập hữu hạn thuộc tính
của quan hệ, F tập ràng buộc thuộc tính Cho lược đồ quan hệ S =hΩ,Fi với Ω={A1, A2, ,
An} Nếu không quan tâm đến tập ràng buộc F ta
sẽ dùng ký hiệu S(Ω)thay choS=hΩ,Fi
Ta dùng ký hiệur(S)để quan hệr (hay thể
hiện r) lược đồ quan hệ S Với t củar(S)
X ⊆Ω, ta ký hiệut[X]là chứa giá trị
t thuộc tính trongX
Phụ thuộc hàm ChoΩlà tập thuộc tính vàS(Ω)là
lược đồ quan hệ trênΩ Giả sử X,Y ⊆Ω, đóY
gọi làphụ thuộc hàm vào X lược đồ S(Ω), ký hiệu
X→Y, với quan hệr lược đồS(Ω), với hai
bộ bất kỳt1,t2 ∈r mà t1[X]=t2[X]thìt1[Y]=t2[Y] NếuY phụ thuộc hàm vàoX ta nói “X xác định hàmY” Với quan hệrtrên lược đồS(Ω), ta nóirthỏa
mãn(haythỏa) phụ thuộc hàmX→Y (hay phụ thuộc hàm X →Y trênr) với bột1,t2 ∈r,
t1[X] = t2[X] kéo theo t1[Y] = t2[Y] Trong báo này, ta hạn chế F (của lược đồ S = hΩ,Fi) gồm phụ thuộc hàm
Hệ quy tắc suy diễn Armstrong Với lược đồ quan hệ S = hΩ,Fi X,Y ⊆Ω, ta ký hiệu XY thay cho X∪Y
(2)Thuật tốn 1: Tính bao đóngX+ Input:
Ω, F, X ⊆Ω
Output: X+ begin
X+=X
repeat
for each(Y →Z) ∈F do ifY ⊆X+ then
X+=X+∪Z; end if
end for each
untilkhơng cịn thuộc tính thêm vào X+; return X+;
end
với phụ thuộc hàm gồm ba quy tắc sau đây: A1 (Phản xạ):NếuY ⊆X X →Y; A2 (Gia tăng):NếuX →Y X Z→Y Z; A3 (Bắc cầu):NếuX →Y vàY →Z X→Z Ký hiệu F+ là tập tất phụ thuộc hàm suy diễn từ F cách áp dụng số hữu hạn lần quy tắc hệ quy tắc suy diễn Armstrong
Bao đóng tập thuộc tính Cho tập phụ thuộc hàmFxác định tập thuộc tínhΩ(phụ thuộc hàm (FD:
functional dependency)Y →Z xác định tập thuộc tính
ΩnếuY,Z ⊆Ω) vàX ⊆Ω Ta gọibao đóngcủa tập thuộc
tính X tập phụ thuộc hàmF, ký hiệu làX+
F , tập
tất thuộc tính Acủa Ω cho X → A suy
diễn từ F nhờ hệ quy tắc suy diễn Armstrong, X+
F =
A∈Ω| (X→ A) ∈F+
Khóa lược đồ quan hệ Cho lược đồ quan hệ S = hΩ,FivàK ⊆Ω Ta nóiK mộtkhóacủaS hai điều
kiện sau đồng thời thỏa mãn: i) (K→Ω) ∈F+;
ii) Nếu K0⊂K thì(K0→Ω)<F+.
II THUẬT TỐN CẢI TIẾN TÍNH BAO ĐĨNG CỦA MỘT TẬP THUỘC TÍNH
1 Thuật tốn chuẩn tính bao đóng X+
Thuật tốn thuật tốn tính bao đóng X+ Dễ chứng minh độ phức tạp thời gian Thuật toán O(npmin{n,p}), đónlà số thuộc tính trongΩvàplà
số phụ thuộc hàm F Như vậy, thuật toán khơng tuyến tính theo tích np Để có thuật tốn tính bao đóng với độ phức tạp tuyến tính, cần sử dụng số cấu trúc liệu thích hợp nhằm giảm chi phí việc duyệt tập F vàΩ Các chiến lược rút gọn bao gồm:
Thuật tốn 2:Tính bao đóng X+ [4] Input:
Ω,F, X ⊆Ω
Output: X+ begin Xnew=X; repeat
Xold=Xnew;
for each (Y →Z) ∈F do ifY ⊆Xnewthen
Xnew=Xnew∪Z; (I)
F=F− {Y → Z}; else ifZ ⊆Xnew then
F=F− {Y → Z}; (II)
else
F=F− {Y → Z}; (III) F=F∪ {Y−Xnew→Z−Xnew}; (III)
end if end for each
until(Xnew=Xold) hoặc(|F|=0); return X+=X
new;
end
i) Dùng tập để lưu giữ thuộc tính cịn phải thêm vào bao đóng;
ii) Dùng mảng đánh số thuộc tính Ai để lưu giữ phụ thuộc hàm có vế trái chứa Ai;
iii) Lưu giữ số thuộc tính thuộc vế trái phụ thuộc hàm cịn chưa có mặt bao đóng
Các chiến lược giúp số tác giả xây dựng thuật toán tuyến tính tính bao đóng, tức có độ phức tạp thời gian làO(np) Đó thuật tốn Beeri [1], Diederich [2] Paredaens [3] 2 Thuật toán Mora cộng sự
Thuật tốn thuật tốn tính bao đóng Diederich, Beeri Paredaens chạy thử nghiệm cho kết trình bày [4], cụ thể sau: sinh ngẫu nhiên tập thuộc tính Ω, tập phụ thuộc hàm F
và tập X ⊆Ω; tập phụ thuộc hàm sinh ngẫu
(3)Bảng I KẾT QUẢ THỬ NGHIỆM
Thuật tốn Trung bình
Thuật tốn tính bao đóngX+của Diederich 4593,48 Thuật tốn tính bao đóngX+của Beeri 7013,56 Thuật tốn tính bao đóngX+của Paredaens 5863,35 Thuật tốn tính bao đóng nhóm A Mora
cộng (Thuật toán 2) 1262,41
theo đơn vị giây Từ bảng kết trên, ta thấy Thuật toán tiêu tốn thời gian ba thuật tốn cịn lại
3 Thuật tốn cải tiến tính bao đóng
Ta nhận thấy rằng, so với thuật tốn tính bao đóng nêu mục II-1, Thuật tốn có ưu điểm làm đơn giản hóa tập F cách loại bỏ FDY →Z trongF sau dùng để tính giá trị Xnewhoặc thay
thế FDY → Z trongF FD đơn giản trường hợp hai vế FD không tập Xnew Tuy nhiên, tính đắn Thuật tốn
khơng chứng minh cách tường minh Hơn nữa, nhược điểm lần duyệt tậpF, tất FD có vế trái vế phải chứa Xnewvẫn kiểm tra
vế trái để từ tính giá trị Xnew(điều làm
thời gian khơng cần thiết giá trị Xnew thực chất khơng
thay đổi) Thuật tốn tránh phép kiểm tra tính tốn khơng cần thiết thực loại bỏ từ đầu FD có vế phải chứa Xnewnên thời gian thực
hiện nhanh so với Thuật toán Với Thuật tốn 3, ta có bổ đề sau
Bổ đề 1. Thuật tốn đắn, có nghĩa tính đúng bao đóng X+ của X đối với F.
Chứng minh:Vì Thuật tốn cải tiến Thuật tốn cải tiến Thuật toán nên để chứng minh tính đắn Thuật tốn 3, ta cần việc thay
Y →Z bởiY−Xnew→ Z−Xnew (1)
khơng có ảnh hưởng đến kết việc tính bao đóng Thật vậy, Thuật toán thay thếY → ZbởiY−Xnew→
Z −Xnew trường hợp Y Z
tập Xnew Do đó, từ (1) ta suy raY−Xnew,Øvì
nếuY −Xnew=ØthìY tập Xnew (mâu thuẫn)
Mặt khác, ta ln có
(Y −Xnew) ∪ (Y ∩Xnew)=Y (2) Giả sử sau phép thay (1), Xnew thay đổi nhận giá
trị Xnew1 vớiXnew⊆Xnew1
Thuật tốn 3:Tính bao đóng X+ Input:
Ω,F, X ⊆Ω
Output: X+ begin Xnew=X; repeat
Xold=Xnew;
for each(Y →Z) ∈ F do if Z ⊆Xnew then
F=F− {Y →Z}; (I)
else ifY ⊆Xnew then
begin (II)
Xnew=Xnew∪Z;
F=F− {Y →Z}; end
else
begin (III)
F=F− {Y →Z};
F=F∪ {Y −Xnew→Z−Xnew};
end end if end for each
until(Xnew=Xold) or(|F|=0); return Xnew;
end
Bây ta phải chứng minh
(Y−Xnew) ⊆ Xnew1 ⇐⇒ Y ⊆Xnew1 (3)
Thật vậy, từY ⊆Xnew1 ta có
(Y −Xnew) ⊆Xnew1
Từ (Y−Xnew) ⊆ Xnew1,(Y ∩Xnew) ⊆ Xnew ⊆ Xnew1 (2),
ta có
Y =(Y−Xnew) ∪ (Y∩Xnew) ⊆ Xnew1
Từ hai kết trên, ta suy (3) chứng minh Ví dụ 1. ChoF={d →a,ad→c,e→bi,ke→m,ce→ ik,d → bei,h → cde} Chúng ta tính bao đóng tập thuộc tính X =acdtheo Thuật tốn Trong Bảng II, ký hiệu (I), (II), (III) tương ứng với đoạn mã (I), (II), (III) Thuật tốn áp dụng; ký hiệlà phụ thuộc hàm cột tương ứng bị loại bỏ khỏiF Kết ta
X+ =acdbeikm So với Thuật toán 2, ta thấy có vị trí
(các có màu xám) chứng tỏ Thuật toán thực hiệu Chẳng hạn, với (d → a) (ad → c)
(e→bi) Thuật tốn cần kiểm tra vế phải loại
bỏ Thuật toán phải kiểm tra vế trái hợp vế phải vào Xnew(nhưng thực sựXnewkhông thay đổi) sau
(4)Bảng II
MINH HỌATHUẬT TOÁN3
F d→a ad→c e→bi ke→m ce→ik d→bei h→cde
Xnew acd acdbei
(I) (I) (III) (II) (I)
F × × e→bi ke→m e→ik × ×
Xnew acdbei acdbeik
(I) (III) (II)
F × k→m ×
Xnew acdbeik acdbeikm
(II)
F ×
ví dụ trên, Thuật tốn tiết kiệm thao tác tính tốn vơ ích so với Thuật toán
III MỘT SỐ KẾT QUẢ VỀ RÚT GỌN BÀI TỐN TÌM KHĨA
Trong [5], dựa ngữ nghĩa quen thuộc phụ thuộc hàm mơ hình sở liệu quan hệ thuật tốn tính bao đóng tập thuộc tính, tác giả xây dựng điều kiện cần để tập thuộc tính thuộcΩlà khóa củaS Tiếp đó, số hướng cải tiến cho
điều kiện cần thu được xem xét Trong [6], dựa việc nghiên cứu toán tử lý tưởng không tất định (ideal non-deterministic operators) khuôn khổ lý thuyết dàn, tác giả [6] đưa điều kiện cần để tập thuộc tính khóa Như vậy, có hai kết cho tốn cơng bố cách 26 năm mà nhìn dường khác
Trong phần này, chứng minh điều kiện cần [6] dạng cải tiến điều kiện cần [5] Mối quan hệ dạng điều kiện cần để tập thuộc tính khóa lược đồ quan hệ với việc rút gọn tốn tìm khóa
1 Nhắc lại số kết biết
Trong mục này, số kết [5] [6] nhắc lại để tiện so sánh Lưu ý thuật ngữ khóa dùng hiểu theo nghĩa khóa tối thiểu
Cho S = hΩ,Fi lược đồ quan hệ, đóΩ = {A1,A2, ,An} tập hữu hạn thuộc tính F =
{L1→R1, ,Lm→Rm|Li,Ri ⊆Ω,∀i=1, ,m}là tập
hữu hạn phụ thuộc hàm S
Ký hiệu L =∪mi=1Li, R = ∪im=1Ri, KS tập tất
khóa S,KS ={Ki|Ki khóa S}, G=∩Kj∈KSKj
là giao tất khóa củaS,H=∪Kj∈KSKj tập tất
cả thuộc tính khóa S,H=Ω\H tập tất
thuộc tính khơng khóa củaS
Trong [5] chứng minh kết sau:
Định lý 1([5, Định lý 1]) ChoS=hΩ,Fi là lược đồ quan hệ và X là khóa củaS, đó
Ω\R⊆X ⊆ (Ω\R) ∪ (L∩R) (4) Định lý 2([5, Định lý 4]) ChoS=hΩ,Fi là lược đồ quan hệ, đó
G=Ω\R (5)
Mệnh đề 1 ([5, Trong chứng minh Định lý 1]) Ta có R\L ⊆H, có nghĩa thuộc tính trong R\L đều các thuộc tính khơng khóa.
Từ (4), dễ dàng suy nhận xét sau:
Nhận xét 1. (Ω\R) ∪ (L∩R)là siêu khóa chứa tất
khóa củaS Lưu ý phân tíchΩ=(Ω\R)∪(R∩L)∪
(R\L), tập(L∩R)có khả chứa hai loại thuộc tính thuộc tính khóa thuộc tính khơng khóa Thêm vào đó, có(R\L),Øthì siêu khóa(Ω\R)∪(L∩R) ⊂Ω
và việc tìm tập tất khóa chứa siêu khóa nhỏ thực Ω tốn Điều rõ ràng
liên quan đến việc rút gọn tốn tìm khóa lược đồ quan hệ Thật vậy, giả sử xác định Z ⊂Ω
tập chứa tất khóa lược đồ quan hệ S =hΩ,Fi Khi việc rút gọn tốn cho việc tìm khóa củaSđược tiến hành qua bước sau:
1) Xác định lược đồ quan hệS0=hΩ0,F0itrong đóΩ0=
Z\(Ω\R)vàF0={Li∩Ω0→Ri∩Ω0| (Li→ Ri) ∈
F,i=1,2, ,m};
2) TìmKS0 theo thuật tốn đó;
3) Dễ thấy rằngKS={ (Ω\R) ∪K|K∈KS0}
Nhận xét 2. Các khóa Kj ∈ KS khơng chứa có
cấu trúc chung làKj =(Ω\R) ∪Zj với Zj ⊆L∩R Điều
này tạo thuận lợi cho việc xác định khóa củaS Nhận xét 3. Trường hợp tồn tập Z ⊆ H cho (L∩R) ∩Z , Ø (Ω\R) ∪ [(L∩R) \Z]
(5)Khi
(Ω\R) ⊆Kj ⊆ (Ω\R) ∪ [(L∩R) \Z], ∀Kj ∈KS,
sẽ dạng cải tiến điều kiện cần (4)
Trong [6, 7], có đưa định nghĩa định lý sau (các ký hiệu sửa lại cho phù hợp với hệ thống ký hiệu dùng trên)
Định nghĩa 1 ([7, Định nghĩa 3.3]) Cho S = hΩ,Fi
một lược đồ quan hệ, lõi (core) thân (body) S định nghĩa sau:
core(,F) = \âư
ô ỉ
(LiRi)F
Riêđ
ơ
,
body(,F) = âư ô
ỉ
(LiRi)F
Liêđ
ơ
Ω\core(Ω,F)+
Bằng tính tốn đơn giản, ta nhận
core(Ω,F) = Ω\R, (6) body(Ω,F) = L∩ [Ω\ (Ω\R)+] (7) Ví dụ 1[[7, Ví dụ 3.1]] Cho S = hΩ,Fi lược đồ
quan hệ, tập thuộc tính Ω ={a,b,c,d,e,f,g,h} tập phụ thuộc hàm F ={ab→ c,a → g,g → c,b → h,bh→d,c→d,e→ f,f →e}
Ta cóL=abce fgh,R=cde fgh,Ω\R=ab,(Ω\R)+= abcdgh, L∩ [Ω\ (Ω\R)+]=e f Từ đó, core(Ω,F)=ab body(Ω,F)=e f
Định lý 3 ([6, 7, Định lý 3.4]) Cho S = hΩ,Fi là một lược đồ quan hệ vàK là khóa (tối tiểu) củaS, đó, ta có core⊆K ⊆ (core∪body), có nghĩa là
Ω\R⊆K ⊆ (Ω\R) ∪ [L∩ [Ω\ (Ω\R)+]] (8)
Rõ ràng (8) phát biểu điều kiện cần để K khóa S Chứng minh (8) cho [6] với số ví dụ minh họa
2 Một dạng cải tiến cho điều kiện cần (4) Trong [5] có chứng minh bổ đề sau:
Bổ đề 2 ([5, Bổ đề 3]) Cho S = hΩ,Fi là lược đồ quan hệ và X là khóa của S, đó
X∩R∩ (L\R)+=Ø.
Bổ đề dễ dàng mở rộng thành Bổ đề sau Bổ đề 3. ChoS=hΩ,Fi là lược đồ quan hệ, đó K∩R∩ (Ω\R)+=Ø∀K ∈KS ⇒ R∩ (Ω\R)+ ⊆H
Chứng minh: Giả sử điều ngược lại, tức tồn K ∈KS cho K∩R∩ (Ω\R)+,Ø, có nghĩa tồn
A∈Ωsao cho A∈K, A∈Rvà theo định nghĩa bao đóng,
Ω\R→A Vì A∈R nên A<Ω\R Từ điều kiện (4), có
(Ω\R) ⊆K Kết hợp với A<Ω\R, suy raΩ\R⊆K\A
Từ đó, K\A→Ω\R Mặt khác,Ω\R→ A Kết là,
K\A→ Avới A ∈K, chứng tỏ K khơng khóa S
Vậy,K∩R∩ (Ω\R)+=Ø, có nghĩa R∩ (Ω\R)+ ⊆H
Từ Nhận xét 3, định lý sau hiển nhiên
Định lý 4. ChoS=hΩ,Filà lược đồ quan hệ, đó
Ω\R⊆K ⊆ (Ω\R) ∪ [(L∩R) \ R∩ (Ω\R)+], (9) với mọiK∈KS.
Ta xem (9) dạng cải tiến (4) Sau ví dụ đó(L∩R) ∩ R∩ (Ω\R)+ ,Øcó nghĩa
(Ω\R) ∪ [(L∩R) \ R∩ (Ω\R)+] ⊂ (Ω\R) ∪ (L∩R)
Ví dụ 2. Xét lược đồ quan hệ S =hΩ,Fi, Ω= {a,b,c,d,e,f,g,h,i} F = {a → b,b→ c,d → e,h → i,i→h}
Với lược đồ quan hệ này, ta có: L=abdhi, R=bcehi,
L∩R = bhi, Ω\R = adfg; (Ω\R)+ = abcde fg, R∩
(Ω\R)+=bce Dễ thấy rằngKS ={adfgh,adfgi} Từ
H={a,d,f,g,h,i}vàH={b,c,e} Bổ đề nghiệm
đúng vìR∩ (Ω\R)+=bce⊆H
Hơn nữa, ta cịn có (L∩R) ∩ R∩ (Ω\R)+ =b ,Ø Và vậy, với lược đồ quan hệSđược cho Ví dụ 2, ta có
Ω\R⊆K ⊆ (Ω\R) ∪ [(L∩R) \ R∩ (Ω\R)+],
với K ∈ KS Cụ thể là, adfg ⊆ K ⊆ adfghi, với
K ∈ {adfgh,adfgi}
3 So sánh hai điều kiện cần(8) và(9) Nhận xét 4. Trong (8) dễ thấy
L∩ [Ω\ (Ω\R)+]=L\ (Ω\R)+
Thật vậy, giả sử x∈L∩ [Ω\ (Ω\R)+] Lúc đó, x∈ L,
x ∈ Ω\ (Ω\R)+, suy x ∈ L, x < (Ω\R)+,
x∈ L\ (Ω\R)+ Ngược lại, giả sử x ∈ L\ (Ω\R)+ Khi
đó,x∈L, x<(Ω\R)+, suy rax∈L, x∈Ω\ (Ω\R)+,
vậy x∈ L∩ [Ω\ (Ω\R)+]
Do Nhận xét 4, để đơn giản, ta đánh số bao hàm thức kép
Ω\R⊆K ⊆ (Ω\R) ∪ [L\ (Ω\R)+], ∀K∈KS, (8)
(6)Định nghĩa 2. Ta nói điều kiện (8) tốt điều kiện (9)
L\ (Ω\R)+ ⊆ (L∩R) \ R∩ (Ω\R)+
và tồn lược đồ quan hệ cho
L\ (Ω\R)+⊂ (L∩R) \ R∩ (Ω\R)+
Hiểu theo nghĩa đó, ta thấy điều kiện (9) dạng cải tiến (4) Tương tự, ta có định nghĩa (9) tốt (8)
Để so sánh (8) với (9) ta có định lý sau
Định lý 5. Hai điều kiện(8)và(9)chỉ diễn đạt biểu thức khác nhau.
Chứng minh: Để chứng minh Định lý 5, rõ ràng cần chứng minh
L\ (Ω\R)+=(L∩R) \ R∩ (Ω\R)+ (10) Giả sử xlà thuộc tính thuộcL\(Ω\R)+ Khi
đó, với mọix∈L\(Ω\R)+, ta cóx∈Lvàx<(Ω\R)+ Từ
đó,x∈L,x<(Ω\R)vàx<(Ω\R)+, suy rax∈L,x∈R
và x<(Ω\R)+, suy x∈ (L∩R)vàx<[R∩ (Ω\R)+],
suy x∈ (L∩R) \ R∩ (Ω\R)+, có nghĩa
L\ (Ω\R)+⊆ (L∩R) \ R∩ (Ω\R)+ (11)
Bây ta chứng minh điều ngược lại Với x ∈ (L∩R) \ R∩ (Ω\R)+, ta có x ∈ L, x ∈ R x <[R∩ (Ω\R)+], suy x ∈ L, x ∈ R x < (Ω\R)+, suy
x∈L\ (Ω\R)+, có nghĩa
(L∩R) \ R∩ (Ω\R)+ ⊆L\ (Ω\R)+ (12)
Kết hợp (11) (12), ta có
L\ (Ω\R)+=(L∩R) \ R∩ (Ω\R)+
Định lý chứng minh
Để minh họa cho Định lý 5, ta trở lại với Ví dụ Ví dụ Với Ví dụ 1, Ω = {a,b,c,d,e,f,g,h}, F = {ab→
c,a → g,g → c,b → h,bh → d,c → d,e → f,f →
e} Ta có, L = abce fgh, R =cde fgh, L∩R = ce fgh, Ω\R=ab,(Ω\R)+ =abcdgh, R∩ (Ω\R)+=cdgh Từ
đó L\ (Ω\R)+=e f và(L∩R) \ R∩ (Ω\R)+=e f Với Ví dụ 2, Ω = {a,b,c,d,e,f,g,h,i}, F = {a → b,b → c,d → e,h → i,i → h} Ta có, L = abdhi,
R = bcehi, L ∩R = bhi, Ω\R = adfg; (Ω\R)+ =
abcde fg, R∩ (Ω\R)+ = bce Từ L \ (Ω\R)+ = hi và(L∩R) \ R∩ (Ω\R)+=hi
Liên quan tới điều kiện cần để tập thuộc tính K ⊆Ω khóa lược đồ quan hệS =hΩ,Fi, ta xem xét giải toán sau
4 Một toán định
Cho S=hΩ,Fi lược đồ quan hệ cho Z ⊂Ω
Bài tốn đặt định xemZ có phải tập chứa tất khóa củaS khơng
Giả sửZ chứa tất khóa củaS Điều có nghĩa
Z ⊇H= Ø
Kj∈KS
Kj
Từ đóΩ\Z ⊆Ω\H=H
Bổ đề 4. Cho S =hΩ,Fi là lược đồ quan hệ cho Z ⊂ Ω Khi đó Z chứa tất khóa của S khi chỉ
khiΩ\Z chỉ gồm thuộc tính khơng khóa, có nghĩa là Ω\Z ⊆H
Để thấy ý nghĩa Bổ đề 4, ta trở lại với điều kiện (8), Định lý 3.4 [7] Rõ ràng, điều kiện khẳng định
Z =(Ω\R) ∪ [L\ (Ω\R)+] (13)
là tập (siêu khóa) chứa tất khóa S
Để kiểm tra tính chất trên, ta dùng Bổ đề Ta có1 Ω\Z =Ω\ [(Ω\R) ∪ L\ (Ω\R)+]
=R\ L\ (Ω\R)+
=(R\L) ∪ R∩ (Ω\R)+
Như
Ω\Z=R\ L\ (Ω\R)+
=(R\L) ∪ R∩ (Ω\R)+ ⊆H,
do có (R\L) ⊆ H (theo [5]) R∩ (Ω\R)+ ⊆ H
(theo Bổ đề 3) Điều chứng tỏ Z=(Ω\R) ∪ [L\
(Ω\R)+]là siêu khóa chứa tất khóa S
IV KẾT LUẬN
Trong báo này, chúng tơi đề xuất thuật tốn cải tiến (Thuật tốn 3) tính bao đóng tập thuộc tính tập phụ thuộc hàm Vì tất FD có vế phải chứa Xnew bị loại bỏ trước thực
tiến hành tính bao đóng nên Thuật tốn rõ ràng hiệu Thuật toán Đặc biệt trường hợp tập F ban đầu gồm số phụ thuộc hàm có vế phải chứa Xnew q trình tính giá trị Xnew, việc
thay phụ thuộc hàm phụ thuộc hàm đơn giản hơn, làm xuất phụ thuộc hàm có vế phải chứa Xnew Hơn nữa, tính đắn Thuật tốn
khơng chứng minh tường minh thực phép thay phụ thuộc hàm phụ thuộc hàm đơn
1Ở đây, với ba tập bất kỳ A,B,C⊆Ω, ta áp dụng biến đổi quen
(7)giản Với bổ đề 0, chứng minh tính đắn Thuật tốn Với việc rút gọn tốn tìm khóa, chúng tơi chứng minh điều kiện cần (8) trùng với điều kiện cần (9) dạng cải tiến điều kiện cần (4) Đây điều kiện cần để tập củaΩlà khóa tối tiểu lược đồ quan hệS =hΩ,Fi Việc tìm điều kiện cần tốt (8) (9) nhằm rút gọn tốn tìm khóa vấn đề đáng quan tâm
TÀI LIỆU THAM KHẢO
[1] C Beeri and P A Bernstein, “Computational problems re-lated to the design of normal form relational schemas,”ACM Transactions on Database Systems (TODS), vol 4, no 1, pp 30–59, 1979
[2] J Diederich and J Milton, “New methods and fast algorithms for database normalization,”ACM Transactions on Database Systems (TODS), vol 13, no 3, pp 339–365, 1988 [3] J Paredaens, P De Bra, M Gyssens, and D Van Gucht,
“The Structure of the Relational Database Model,” EATCS Monographs on Theoretical Computer Science, vol 17, 1989 [4] A Mora, G Aguilera, M Enciso, P Cordero, and I P de Guzmán, “A new closure algorithm based in logic: SLFD-Closure versus classical closures,”Inteligencia Artificial Re-vista Iberoamericana de Inteligencia Artificial, vol 10, no 31, pp 31–40, 2006
[5] H Thuan and L V Bao, “Some results about key of relational schemas,”Acta Cybernetica, vol 7, no 1, pp 99–113, 1985 [6] A Mora, I P de Guzmán, M Enciso, and P Cordero, “Ideal non-deterministic operators as a formal framework to reduce the key finding problem,”International Journal of Computer Mathematics, vol 88, no 9, pp 1860–1868, 2011
[7] P Cordero, M Enciso, and A Mora, “Automated reasoning to infer all minimal keys,” in Proceedings of the Twenty-Third International Joint Conference on Artificial Intelligence (IJCAI), 2013, pp 817–823
Vũ Quốc Tuấn sinh năm 1982 Hải Dương Ông tốt nghiệp Trường Đại học Khoa học Tự nhiên, Đại học Quốc gia Hà Nội, ngành Tốn-Tin ứng dụng, năm 2005 Năm 2010, ơng nhận Thạc sĩ Công nghệ Thông tin Trường Đại học Sư phạm Hà Nội Hiện nay, ông công tác Trường Cao đẳng Hải Dương nghiên cứu sinh Học viện Khoa học Công nghệ, Viện Hàn lâm Khoa học Công nghệ Việt Nam Lĩnh vực nghiên cứu ông bao gồm khai phá liệu, hệ sở liệu sở tri thức