1. Trang chủ
  2. » Luận Văn - Báo Cáo

Một số kết quả về rút gọn bài toán tìm khóa

6 8 0

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 6
Dung lượng 208,41 KB

Nội dung

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.. Từ khóa: Cơ sở dữ liệu quan hệ, [r]

(1)

Công nghệ thông tin & Cơ sở toán học cho tin học

MỘT SỐ KẾT QUẢ VỀ RÚT GỌN BÀI TỐN TÌM KHĨA Vũ Quốc Tuấn1*, Hồ Thuần2

Tóm tắt: Cho S = <, F> lược đồ quan hệ, đó, = {A1, A2, , An} là 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 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 X  khóa (theo nghĩa tối tiểu) S 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 trên việc nghiên cứu tốn tử iđêan khơng tất định (idean 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 Như vậy, có hai kết cho cùng tốn cơng bố cách 26 năm mà nhìn dường khác nhau Trong báo này, chứng minh điều kiện cần [2] chính dạng cải tiến điều kiện cần [1] Mối quan hệ dạng của đ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

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 mục này, số kết [1] [2] 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 tiểu

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} tập hữu hạn phụ thuộc hàm S

Kí hiệu: m i i L L   , m i i R R

 ,  tập tất khóa S, 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 cả thuộc tính khóa S, H= \H tập tất thuộc tính khơng khóa S

Trong [1] chứng minh kết sau:

Định lý (Định lý [1]) Cho S = <, F> lược đồ quan hệ X một khóa S Khi đó:

 \ R  X  ( \ R)  (L  R) (1) Định lý (Định lý [1]) Cho S = <, F> lược đồ quan hệ Khi

G =  \ R

Mệnh đề (Trong chứng minh Định lý [1]) Ta có R \ L  H, có

nghĩa thuộc tính R \ L thuộc tính khơng khóa Từ (1), ta dễ dàng suy ra:

Nhận xét ( \ R)  (L  R) siêu khóa chứa tất khóa S Lưu ý

(2)

Nghiên cứu khoa học cơng nghệ

nếu có R \ L ≠  siêu khóa ( \ 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 K theo thuật tốn S'

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 Kj= ( \ 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)

Trong [2, 3], 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 [3]) 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 tốn đơn giản, ta nhận được:

core(, F) =  \ R body(, F) = L  [ \ ( \ R)+]

Ví dụ (Ví dụ 3.1 [3]) 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 F = {ab  c, a  g, g  c, b  h, bh  d, c  d, e  f, f  e}

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, 3]) 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

(3)

Cơng nghệ thơng tin & Cơ sở tốn học cho tin học Rõ ràng (2) phát biểu điều kiện cần để K khóa S Chứng minh (2) cho [2] với số ví dụ minh họa

2 MỘT DẠNG CẢI TIẾN CHO ĐIỀU KIỆN CẦN (1) Trong [1] có chứng minh bổ đề sau:

Bổ đề (Bổ đề [1]) Cho S = <, F> lược đồ quan hệ X khóa S Khi

X  R  (L \ R)+ =  Bổ đề dễ dàng mở rộng thành bổ đề đây: Bổ đề Cho S = <, F> lược đồ quan hệ Khi

K  R  ( \ R)+ = , K   , S có nghĩa R  ( \ R)+  H

Chứng minh Giả sử ngược lại: KKSsao cho K  R  ( \ R)+ ≠ , có nghĩa  A   cho A K, A R theo định nghĩa bao đóng,  \ R  A Vì A R nên A   \ R Từ điều kiện (1) có  \ R  K Kết hợp với A   \ R, suy  \ R  K \ A Từ có K \ A   \ R Mặt khác  \ R  A Kết K \ A  A với A K, chứng tỏ K khơng khóa S Tóm lại ta chứng minh

K  [R  ( \ R)+] = , KKS, có nghĩa R  ( \ R)+  H

Từ nhận xét 3, định lý sau hiển nhiên

Định lý Cho S = <, F> lược đồ quan hệ Khi

 \ R  K  ( \ R)  [(L  R) \ (R  ( \ R)+ )], K   (3) S Ta xem (3) dạng cải tiến (1)

Sau ví dụ (L  R)  (R  ( \ R)+ ) ≠ , có nghĩa ( \ R)  [(L  R) \ (R  ( \ R)+) ]  ( \ R)  (L  R)

Ví dụ Xét lược đồ quan hệ S = <, F>  = {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)+ = abcdefg, R  ( \ R)+ = bce Dễ thấy  = {adfgh, adfgi} Từ S đó H = {a, d, f, g, h, i} H = {b, c, e}

Bổ đề nghiệm R  ( \ R)+ = bce  H

(4)

Nghiên cứu khoa học công nghệ

 \ R  K  ( \ R)  [(L  R) \ (R  ( \ R)+ )], K   , S cụ thể adfg  K  adfghi với K {adfgh, adfgi}

3 SO SÁNH HAI ĐIỀU KIỆN CẦN (2) VÀ (3) Để dễ so sánh, ta phát biểu lại hai điều kiện cần (2) (3) sau: Cho lược đồ quan hệ S = <, F> Khi

 \ R  K  ( \ R)  [L  [ \ ( \ R)+ ]], K   S  \ R  K  ( \ R)  [(L  R) \ (R  ( \ R)+ )], K   S

Nhận xét Dễ thấy L  [ \ ( \ R)+ ] = L \ ( \ R)+ Thật vậy, giả sử x  L  [ \ ( \ R)+ ]  x  L, x   \ ( \ R)+  x  L, x  ( \ R)+  x L \ ( \ R)+ Ngược lại, giả sử x L \ ( \ R)+  x  L, x  ( \ R)+  x  L, x   \ ( \ R)+  x  L  [ \ ( \ R)+ ]

Định nghĩa Ta nói điều kiện (2) tốt điều kiện (3) L \ ( \ R)+  (L

 R) \ (R  ( \ R)+ ) 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 (3) dạng cải tiến (1) Tương tự, ta có định nghĩa (3) tốt (2) Để so sánh (2) với (3) ta có định lý sau: Định lý Hai điều kiện (2) (3) diễn đạt biểu thức khác

Chứng minh Để chứng minh định lý 5, rõ ràng cần chứng minh

L \ ( \ R)+ = (L  R) \ (R  ( \ R)+ ) (4) Giả sử x thuộc tính thuộc L \ ( \ R)+

 x  L \ ( \ R)+  (x  L) x  ( \ R)+  (x  L), x  ( \ R) x  ( \ R)+  (x  L), x  R x  ( \ R)+  (x  L  R) x  [R  ( \ R)+]  x  (L  R) \ [(R  ( \ R)+],

có nghĩa L \ ( \ R)+  (L  R) \ (R  ( \ R)+ ) (5) Bây ta chứng minh điều ngược lại:

 x  (L  R) \ [R  ( \ R)+ ]  (x  L), (x  R) (x  [R  ( \ R)+])  (x  L), (x  R) (x  ( \ R)+)  x  L \ ( \ R)+,

có nghĩa (L  R) \ (R  ( \ R)+ )  L \ ( \ R)+ (6) Kết hợp (5) (6), 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ụ

(5)

Công nghệ thơng tin & Cơ sở tốn học cho tin học Từ L \ ( \ R)+ = ef (L  R) \ (R  ( \ R)+ ) = ef

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)+ ) = abcdefg, R  ( \ R)+ = bce

Từ đó: L \ ( \ R)+ = hi (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 = <, F>, ta xem xét giải toán sau

4 MỘT BÀI TOÁN QUYẾT ĐỊNH

Cho S = <, F> lược đồ quan hệ cho Z   Bài toán đặt định xem Z có phải tập chứa tất khóa S không?

Giả sử Z chứa tất khóa S Điều có nghĩa là: Z 

j S j K K

H K

 

Từ  \ Z   \ H = H

Bổ đề Cho S = <, F> lược đồ quan hệ cho Z   Khi Z chứa tất các khóa S  \ Z gồm thuộc tính khơng khóa, có nghĩa là:

 \ Z  H

Để thấy ý nghĩa bổ đề 3, ta trở lại với điều kiện (2), định lý 3.4 [3]

( \ R)  K  ( \ R)  [L \ ( \ R)+ ], KKS

Rõ ràng (2) khẳng định Z = ( \ R)  [L \ ( \ R)+ ] tập (siêu khóa) chứa tất khóa S

Để kiểm tra tính chất đó, ta dùng bổ đề Ta có:

 \ Z =  \ [( \ R)  (L \ ( \ R)+) ] = R \ (L \ ( \ R)+) = (R \ L)  (R  ( \ R)+) (Ở đây, với ba tập A, B, C  , ta áp dụng biến đổi quen thuộc

A \ (B \ C) = (A \ B)  (A  C))

Như vậy,  \ Z = R \ (L \ ( \ R)+) = (R \ L)  (R  ( \ R)+) H (7)

Do có (R \ L) H (theo [1]) R  ( \ R)+ H (theo bổ đề 2)

Chứng tỏ Z = ( \ R)  [L \ ( \ R)+ ] siêu khóa chứa tất khóa S 5 KẾT LUẬN

(6)

Nghiên cứu khoa học công nghệ

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] P Cordero, M Enciso, 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 [4] Ho Thuan, "Contribution to the theory of relational databases", Tanulmányok

184/1986, Studies 184/1986, Budapest, Hungary ABSTRACT

SOME RESULTS FOR REDUCING THE KEY FINDING PROBLEM Let S = <, F> be a relation schema, where = {A1, A2, , An} is a finite set of attributes and F = {L1 R1, ,Lm Rm | Li, Ri , i = 1, ,m} is a finite set of functional dependencies that hold on S In [1], using the well-known semantics of functional dependency in the theory of relational databases and the algorithm to compute the closure of a subset of attributes, a necessary condition for which a subset X   is a minimal key for S was established and some improvements of it were given In [2], basing on the study of idean non-deterministic operators in the framework of the lattice theory, the authors of [2] gave another necessary condition for which a subset of is a minimal key for a relation schema S = <, F> Thus, we have two results for the same problem, the first one was published in 1985 and the last one, in 2011, and apparently, they seem quite different In this paper, we show that the necessary condition in [2] is only an improved version of that one in [1] The relationship between the necessary conditions for which a subset of

is a minimal key for the relation scheme S = <, F> and the reduction of the key finding problem was also showed

Keywords: Relational database, Relation scheme, Functional dependency, Keys for a relation scheme

Nhận ngày 18 tháng 11 năm 2016 Hoàn thiện ngày 31 tháng 12 năm 2016 Chấp nhận đăng ngày 20 tháng 02 năm 2017 Địa chỉ: 1 Trường Cao đẳng Hải Dương;

Ngày đăng: 11/03/2021, 10:39

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w