Trong [1], dựa trên ngữ nghĩa quen thuộc của các phụ thuộc hàm trong mô hình cơ sở dữ liệu quan hệ và thuật toán tính bao đóng của một tập thuộc tính, các tác giả đã xây dựng được [r]
(1)MỘT SỐ KẾT QUẢ LIÊN QUAN ĐẾN RÚT GỌN BÀI TỐN TÌM KHĨA CỦA LƯỢC ĐỒ QUAN HỆ
Vũ Quốc Tuấn1*, Hồ Thuần2
Tóm tắt: Trong [1] đưa điều kiện cần để tập thuộc tính khóa của lược đồ quan hệ Trong [2], tác giả đưa điều kiện cần khác để một tập thuộc tính khóa lược đồ quan hệ Trong [3] cần cải tiến điều kiện cần [1] theo cách tiếp cận đơn giản suy ra điều kiện cần [2] Trong báo này, chứng minh điều kiện cần [2] thực trùng với kết cơng bố [4] Từ khóa: Cơ sở liệu quan hệ, Lược đồ quan hệ, Phụ thuộc hàm, Khóa lược đồ quan hệ
1 MỞ ĐẦU
Trong [1], 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 khóa Tiếp đó, số hướng cải tiến cho điều kiện cần thu được xem xét Trong [2], dựa việc nghiên cứu tốn tử iđêan khơng tất định (ideal non-deterministic operators) khuôn khổ lý thuyết dàn, tác giả [2] đưa điều kiện cần để tập thuộc tính khóa Trong [3] cần cải tiến điều kiện cần [1] theo cách tiếp cận khác đơn giản suy điều kiện cần [2] Trong báo này, chứng minh điều kiện cần [2] thực trùng với kết công bố [4]
Bài báo tổ chức sau: phần thứ hai nhắc lại số khái niệm kết quan trọng mơ hình quan hệ Phần thứ ba trình bày lại số kết nhận xét [1, 2, 3, 4] để tiện so sánh, đồng thời chứng minh điều kiện cần [2] trùng với kết [4] Kết luận giới thiệu phần thứ tư
2 MƠ HÌNH QUAN HỆ
Phần nhắc lại số khái niệm quan trọng mơ hình liệu quan hệ nhằm mục đích sử dụng cho phần
2.1 Lược đồ quan hệ
Lược đồ quan hệ Một lược đồ quan hệ S cặp có thứ tự S = <, F>, trong tập hữu hạn thuộc tính quan hệ, F tập ràng buộc thuộc tính
Cho lược đồ quan hệ S = <, F> với = {A1, A2, , An} Nếu không quan tâm đến tập ràng buộc F ta dùng ký hiệu S() thay cho S = <, F> Ta dùng ký hiệu r(S) để quan hệ r (hay thể r) lược đồ quan hệ S Với một t r(S) X , ta ký hiệu t[X] chứa giá trị t các thuộc tính X
2.2 Phụ thuộc hàm
(2)hiệu X Y, với quan hệ r lược đồ S() t1, t2 r, t1[X] = t2[X] t1[Y] = t2[Y]
Nếu Y phụ thuộc hàm vào X ta nói "X xác định hàm Y" Với quan hệ r lược đồ S(), ta nói r thỏa mãn (hay thỏa) phụ thuộc hàm X Y (hay phụ thuộc hàm X Y r)
t1, t2 r, t1[X] = t2[X] t1[Y] = t2[Y]
Trong báo này, ta hạn chế F (của lược đồ S = <, F>) gồm phụ thuộc hàm
2.3 Hệ quy tắc suy diễn Armstrong
Hệ quy tắc suy diễn Armstrong Với lược đồ quan hệ S = <, F> X, Y , ta ký hiệu XY thay cho X Y Với X, Y, Z , hệ quy tắc suy diễn Armstrong phụ thuộc hàm gồm ba quy tắc sau đây:
A1 (Phản xạ): Nếu Y X X Y A2 (Gia tăng): Nếu X Y XZ YZ A3 (Bắc cầu): Nếu X Y Y Z X Z
Ký hiệu F+ 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
2.4 Bao đóng tập thuộc tính
Bao đóng tập thuộc tính Cho tập phụ thuộc hàm F xác định tập thuộc tính (phụ thuộc hàm Y Z xác định tập thuộc tính Y, Z ) và X Ta gọi bao đóng tập thuộc tính X tập phụ thuộc hàm F, ký hiệu X , tập tất thuộc tính A cho X A suy diễn từ F F nhờ hệ quy tắc suy diễn Armstrong
F
X = {A (X A) F+} 2.5 Khóa lược đồ quan hệ
Khóa lược đồ quan hệ Cho lược đồ quan hệ S = <, F> K Ta nói K khóa S hai điều kiện sau đồng thời thỏa mãn:
(i) (K ) F+
(ii) Nếu K' K (K' ) F+
Nếu K thỏa mãn điều kiện (i) K gọi siêu khóa Như vậy, khóa của S = <, F> siêu khóa S = <, F>
3 MỘT SỐ KẾT QUẢ
Cho S = <, F> 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:
1
m i i
L L
(3)1
m i i
R R
S
tập tất khóa S, = {KS j | Kj khóa S},
j S j K
G K
là giao tất khóa S,
j S j K
H K
là tập tất thuộc tính khóa S, H = \ H tập tất thuộc tính khơng khóa S
3.1 Một số kết biết
Định lý (Định lý [1]) Cho S = <, F> lược đồ quan hệ K một khóa S Khi đó:
( \ R) K ( \ R) (L R) (1)
Nhận xét ( \ R) (L R) siêu khóa chứa tất khóa S Thêm vào
đó, ( \ R) (L R) việc tìm tập tất cá 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 = <, F> Khi việc rút gọn tốn cho việc tìm khóa S tiến hành qua bước sau:
1) Xác định lược đồ quan hệ S' = <', F'> ' = Z \ ( \ R) F' = {Li ' Ri ' | (Li Ri) F, i = 1, 2, , m}
2) Tìm S' theo thuật tốn
3) Dễ thấy = {( \ R) K | K S } S'
Nhận xét Các khóa K j Skhơng chứa có cấu trúc chung
j
K = ( \ R) Zj với Zj L R Điều tạo thuận lợi cho việc xác định khóa S
Nhận xét Trường hợp tồn tập Z H cho (L R) Z ≠ ( \ R) [(L R) \ Z] siêu khóa chứa tất khóa S siêu khóa rõ ràng chứa thực siêu khóa ( \ R) (L R)
Khi
( \ R) Kj ( \ R) [(L R) \ Z], K j S
sẽ dạng cải tiến điều kiện cần (1)
Định lý (Định lý [4]) Cho S = <, F> lược đồ quan hệ K một khóa S Khi đó:
( \ R) K ( \ R) [(L R) \ ( \ R)+] (2) Dễ thấy (2) dạng cải tiến (1) Ví dụ sau cho thấy
[(L R) \ ( \ R)+] (L R)
(4)thuộc tính = {a, b, c, g, h} tập phụ thuộc hàm
F = {a b, b c, g h, h g} Ta có:
L = abgh R = bcgh \ R = a ( \ R)+ = abc (L R) = bgh
(L R) \ ( \ R)+ = gh (L R)
Mệnh đề (Trong chứng minh Định lý [4]) Cho S = <, F> lược đồ quan hệ Khi
( \ R)+ \ ( \ R) H ,
có nghĩa thuộc tính ( \ R)+ \ ( \ R) thuộc tính khơng khóa
Nhận xét Ở để dễ theo dõi, chúng tơi trình bày chi tiết cách thức suy
(2) từ (1) Thật vậy, từ (1) kết mệnh đề 1, ta có:
( \ R) K ( \ R) [(L R) \ [( \ R)+ \ ( \ R)]] (a) Sử dụng hệ thức quen thuộc ba tập hợp A, B, C
A \ (B \ C) = (A \ B) (A C) ta suy
[(L R) \ [( \ R)+ \ ( \ R)]]
= [(L R) \ ( \ R)+] [(L R) ( \ R)]
= [(L R) \ ( \ R)+] [(L R) ( \ R)] = (b) Kết hợp (a) (b) ta nhận (2)
Trong [2, 5], 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 (Định nghĩa 3.3 [5]) Cho S = <, F> lược đồ quan hệ Khi lõi (core) thân (body) S định nghĩa sau:
core(, F) = \
( i i)
i
L R F
R
body(, F) =
( i i)
i
L R F
L
[ \ core(, F)
+
] Bằng tính toán đơn giản, ta nhận được:
core(, F) = \ R
body(, F) = L [ \ ( \ R)+]
Ví dụ (Ví dụ 3.1 [5]) Cho S = <, F> 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
(5)Ta có:
L = abcefgh R = cdefgh \ R = ab
( \ R)+ = abcdgh L [ \ ( \ R)+] = ef Từ đó:
core(, F) = ab body(, F) = ef
Định lý (Định lý 3.4 [2, 5]) Cho S = <, F> lược đồ quan hệ K là khóa (tối tiểu) S Khi đó, ta có:
core K (core body), có nghĩa
\ R K ( \ R) [L [ \ ( \ R)+] ] (3) Mệnh đề (Nhận xét [3]) Cho S = <, F> lược đồ quan hệ Khi
L [ \ ( \ R)+ ] = L \ ( \ R)+ 3.2 So sánh hai điều kiện cần (2) (3)
Rõ ràng (2) (3) điều kiện cần để tập thuộc tính khóa lược đồ quan hệ Điều kiện (2) công bố năm 1996, điều kiện (3) công bố năm 2011 Định lý sau rõ mối quan hệ (2) (3)
Định lý Hai điều kiện (2) (3) diễn đạt biểu thức khác
Chứng minh Từ kết mệnh đề 2, điều kiện cần (3) viết lại thành: \ R K ( \ R) [L \ ( \ R)+]
Để chứng minh (2) (3) một, ta [(L R) \ ( \ R)+] = [L \ ( \ R)+]
Thật vậy, rõ ràng ta có (L R) L nên [(L R) \ ( \ R)+] [L \ ( \ R)+] Ta cần chứng minh điều ngược lại
L \ ( \ R)+ (L R) \ ( \ R)+
Giả sử x thuộc tính thuộc [L \ ( \ R)+] x L, x ( \ R)+
(6)4 KẾT LUẬN
Trong báo này, với việc rút gọn toán tìm khóa, chúng tơi trình bày chi tiết cách thức suy (2) từ (1), đồng thời chứng minh điều kiện cần (2) trùng với điều kiện cần (3) Đây điều kiện cần để tập khóa lược đồ quan hệ S = <, F> Việc tìm điều kiện cần tốt (2) (3) 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] Ho Thuan and Le Van Bao, "Some results about keys of relational schemas", Acta Cybernetica, Tom 7, Fasc 1, Szeged, pp 99-113, 1985
[2] 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, 1860–1868, June 2011
[3] Vũ Quốc Tuấn Hồ thuần, "Một số kết thuật tốn tính bao đóng rút gọn tốn tìm khóa lược đồ quan hệ", Kỷ yếu Hội thảo Quốc gia lần thứ XX, Một số vấn đề chọn lọc CNTT TT, Quy Nhơn-Bình Định 23-24/11/2017, tr.174-180
[4] Ho Thuan, Souafi Souad and Mohamed Benkada Djamila, "Some more properties and remarks about keys for relation scheme", Tạp chí Tin học Điều khiển học, T.12, S.4 (1996) (101-113)
[5] 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, (IJCAI13), F.Rossi ed.,pp.817-823, AAAI Press, 2013
ABSTRACT
SOME RESULTS RELATED TO REDUCING
THE KEY FINDING PROBLEM OF A RELATION SCHEMA In [1], it has proposed a necessary condition for a set of attributes to be a key of a relation schema In [2], A Mora et al have proposed another necessary condition for a set of attributes to be a key of a relation schema In [3], it has been shown that we could get the necessary condition in [2] by improving the necessary condition in [1] in a simpler approach In this paper, we will prove that the necessary condition in [2] actually coincides with the result published in [4]
Keywords: Relational database, Relation schema, Functional dependency, Key for a relation schema
Nhận ngày 18 tháng 11 năm 2017 Hoàn thiện ngày 31 tháng 12 năm 2017 Chấp nhận đăng ngày 10 tháng năm 2018 Địa chỉ: 1 Trường Cao đẳng Hải Dương;