1. Trang chủ
  2. » Kỹ Thuật - Công Nghệ

Một số kết quả về khóa của sơ đồ quan hệ . pdf

5 1K 3
Tài liệu được quét OCR, nội dung có thể không chính xác
Tài liệu đã được kiểm tra trùng lặp

Đ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 5
Dung lượng 298,35 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

MỘT SỐ KẾT QUÁ VỀ KHÓA CỦA SƠ ĐỒ QUAN HỆ NGUYÊN HOÀNG SƠN, NGUYÊN VIỆT HÙNG Abstract.. Trong quá trình thiết kế cơ sở dữ liệu CSDL, việc tìm khóa của một sơ đô quan hệ là rất quan trọng.

Trang 1

MỘT SỐ KẾT QUÁ VỀ KHÓA CỦA SƠ ĐỒ QUAN HỆ

NGUYÊN HOÀNG SƠN, NGUYÊN VIỆT HÙNG

Abstract In this paper, we present some results for the key finding problem on relation schemes

Tóm tắt Trong quá trình thiết kế cơ sở dữ liệu (CSDL), việc tìm khóa của một sơ đô quan hệ là

rất quan trọng Trong bài này, chúng tôi đưa ra một số kết quả về bài toán tìm khóa của một sơ đồ quan hệ

1 MỞ ĐẦU Bài toán tìm khóa của một sơ đỗ quan hệ đóng vai trò rất quan trọng trong quá trình thiết kế CSDL Những kết quả về khóa đã được nghiên cứu nhiều, có thể xem trong [1 5| Trong bài này

để tìm khóa của sơ đồ quan hệ Š ban đầu, chúng tôi dịch chuyển sơ đồ Š về sơ 5 dé S, là sơ đồ có

số thuộc tính ít hơn, số các phụ thuộc hàm ít hơn Chúng tôi chứng mình được rằng có mối liên hệ giữa khóa của Š và khóa của Š Lưu ý rằng trên sơ đồ Š việc tìm khóa đơn giản hơn rất nhiều

2 MỘT SỐ KHÁI NIỆM VÀ KẾT QUÁ CƠ SỞ

Về các ký hiệu, chúng tôi sử dụng theo [2]

Cho S = (U, F) lA mot sơ đồ quan hệ, trong đó = {Ai, 4a, , 4„} là tập các thuộc tính, F'= {L¡ — Rị | Lị, Rị C U, Lịn Rị — Ø, ? — 1,2, , k} là tập các phụ thuộc hàm xác định trên U

Ký hiệu:

L=(Jli, R=(JRi

Định nghĩa 2.1 Cho Š = (U, F) là một sơ đồ quan hệ, X là một tập con thuộc tính cla U, X

được gọi là khóa của sơ đỗ quan hệ Š nếu X thỏa mãn hai điều kiện sau:

() (X>U)€Ƒ”,

(2) 1X! C X sao cho (X —> U) c FT

Trường hợp nếu X không phải là khóa nhưng thỏa điều kiện (1) thì X được gọi là siêu khóa cua S

Bổ đề 2.1 (Bổ dé 3 trong [2]) Cho S = (U, F) la mét so dé quan hệ, X là một khóa của S Khi đó

XnRn(L-R)' =ø

Định lý 2.1 (Định lý 3 trong [2]) Cho S = (U, F) la mét sơ đồ quan hệ, X là một khóa của S

Khi do

U-RCX C(U—R)U((LNR) —a(L, R)),

Khi đó có thể viết lại X như sau:

Trang 2

Ghi chi Trong bai nay, tir day vé sau ta ky hiệu X > U thay cho (X > U) € F* Trong truéng hợp không sợ nhầm lẫn ta viết X —— Ù

Trong các kết qủa sau chúng tôi còn có sử dụng thêm một tính chất

Bổ đề 2.2 (Bài toán thành viên) X -> Y khi vd chỉ khí V C X1

Định nghĩa 2.2 Goi U = (LOR) —a(L, R)= (LOR) - (L—R)t,

Fea {L;0U +R, NU | LN #2, RAT 40, Ly > RP}

Ta goi so dé quan hé S= (U, BF ) là ảnh của sơ đồ quan hệ Š qua phép dịch chuyển sơ đồ

3 KẾT QUÁ Mệnh đề 3.1 Với mợi A € Ù thà tôn tại (Li > R!) € F sao cho AE Ri

Chứng mánh, Từ A € Ù =(EnR)— (L— RẠT suy ra A € (Ln R), nên tổn tại phụ thuộc hàm

L;,—- RR, € F sao cho AE R; Dodd ACR, NU

Ngoài ra ta thấy L¿nÙ # Øø Thật vậy, giả sử L¿n Ù = @ suy ra L; C (L— R)* và do đó

Tir (1) va (2) ta c6 L — R—¬ A Suy ra A € (L— R)* Điều này là mâu thuẫn với A € U Nhu vậy

LịnÙ zø, do đó 1n ¬ R,nÙcf

Đặt Li —= L¿ñ Ũ, R= Rin U Ta cé diéu phai chttng minh, nghia IA ton tại [Ls Rie F sao cho

Tir dinh ly trén ta dé dang suy ra hé qua sau:

Hệ quả 3.1 U = © khi vd chi khi F = @

Mệnh đề 3.2 Nếu (X) = U thi (L—R)UX 40

Chitng minh Theo thuật toán tính bao đồng của (X); thi ton tai k € N sao cho:

x—x9cC xữ)C cC xứ C C xứ) - xứ?!) _

với

xứ!) = xÐU{A|3Y'—¬Z'cf, AcZ!, Y'C XŒ},¡=0,1, b

Đầu tiên ta chứng minh

(L— R)U XÖÐ 4, xX) Yi =0,1, ,k

Một cách tương đương ta chứng mình

(L—-R)UX 4*,4 VAẠC XÉT),

Nếu 4€ XÉ) thì phép chứng minh hiển nhiên Còn nếu A Z Xf) thì tổn tại - -

Y! = Z'eFF, AcZ, Y!C XẾ) Do đó tổn tại Y — Z € F sao cho Y =YÝYnU, Z'= ZnD

Mặt khác dễ thấy Y — Ứ € (L— R)*, do đó L— R-°› Y — Ữ Suy ra

(L—R)UY'’ 45 (Y —U)uY’,

Trang 3

Ma ta c6 Y’ CX, do dé (L— R)UX® 4 Y,

Theo qui tắc bắc cầu, từ (— R) UX 2 Y,Y ¬ Z, Z—Z'(vZCZ),Z'— A(vì Ae Z9),

suy ra

(L—R)UX® 4,4, VAEX@D, §=0,1, ,k

Do vậy ta có:

(L—R)UX® 4 xX) Vị =0,1, E

Ma X) = X va X@+) =U Do dé (L— R)UX —+ U Ménh dé duge ching minh

Mệnh đề 3.3 Voi moi Ac U, L; > Ri € F sao cho A€ R; thi

Lịn Ù z ø và LịnÙ —¬ RịnDe F

Chúng mảnh Giả sử L; AU = @, suy ra L; C (L— R)† hay L— R—— Ly

Mặt khác ta có l¿ — Ï¿ và f — A Do đó theo tính bac cu L— R —> A hay Ac (L— R)T Điều này mâu thuẫn với A € U Do vay

Ngoài ra ta có

Từ (3) và (4) suy ra 1ñ — In Ù e F' Mệnh đề được chứng minh

Mệnh đề 3.4 X là siêu khóa của 5, khả oà chỉ khá XU (U — R) là siêu khóa của S

Chúng mánh Giả sử ÄÃ là siêu khóa của Š, khi đó (X); = U, do đó theo Mệnh đề 3.2 ta có

(L— R)UX OU

Suy ra (L— R)U XU(U— R) ——> U(U — R), hay (U — R)U X ——Ư Do vậy (U— R)U X là siêu khóa của ®

Ngược lại giả sử K = (Ư — R)U X là siêu khóa của ®S, khi đó (K)g = U Mặt khác (X);, CŨ Đặt

M=U- (X)z Để chứng minh X là siêu khóa của Š ta chỉ cần chứng minh Ä⁄ # Ø Thật vậy, giả

sử ă ⁄ Ø Từ thuật toán tính bao đóng của ứng với F ta suy ra ton tai so k € N sao cho:

K = KØ) C KŒ) C C KŒ C C KỨ) C KứŒ+Đ 5 Ũ,

Với ¡ =0,1, ,k ta có KữT1 = K#) U{A|3Y >ZcF,Ac Z,YcC K},

Với mỗi thuộc tính Ö thuộc Ä⁄ ta xét các trường hợp sau:

(i) Nếu 8c KẾ) = K thì

Mà ta biết (U — R)n Ù = Ø Do đó từ (5) suy ra (X > B) € F* Điều này vô lý Suy ra ă = Ø (¡) Nếu tổn tại chỉ số ¿ € {1,2, ,k} sao cho Ö € (K)ŒT và K n M = ø Từ Kữn M = Ø ta

suy ra KOU C (X); hay

Vi B € K@ nén ton tai Y + Z € Ft sao cho Y C KM va Be Z Ta Y C K™ suy ra

K® —Y € F*, hay

Trang 4

Tt Be Z suy ra BE ZNU, hay 7 7

Tir (6),(7),(8) và (9) suy ra X > Be Ft Diéu nay vo ly Vay M = @

Tóm lại M = Ø, hay (X);, =U, nghia lA X là siêu khóa của Š Mệnh đề được chứng mỉnh

Định lý 3.1 X ià khóa của Š khá oà chỉ kh¿ X U (U — R) là khóa của S

Chúng mảnh Giả sử X là khóa của Š Do đó theo Mệnh đề 3.4 K = (U — R)U X là siêu khóa của

S Nếu K không là khóa của Š thì tổn tại K7 CK, K' 1a khéa cua S, sao cho K’ = (U — R)U X'

Và do đó theo Mệnh đề 3.4 X” là siêu khóa của S Từ K“C K suy ra X'° C X Điều này trái với giả thiết X là khóa của Š Do vậy K là khóa của S

Ngược lại, giả sử K = (U = R) UX 1a khéa cua S Do dé theo Mệnh đề 3.4 X là siêu khóa của S Nếu X không là khóa của Š thì tốn tại X' C X, X! là khóa của Š

Xét K' = (U_— R)U X' Rõ ràng K7 là siêu khóa của $

Từ X?C X suy ra K?C K Điều này trái với giả thiết K là khóa của S

Vậy X là khóa của S Định lý được chứng minh

a

Từ những kết quả được tìm ra trên, chúng tôi đưa ra thuật toán tìm khóa dựa vào phép dịch chuyển

sơ đồ quan hệ

4 THUẬT TOÁN TÌM KHÓA

Chức năng tìm khóa của sơ đồ quan hệ S$ = (U, F)

Vào:

- Tập thuộc tính Ứ = {44, 4a, , A„}

- Tập phụ thuộc hàm F = {L; — | b¿, R C U, L¿ñ Rị — Ø, ¡ — 1,2, , k}

Ra: X CU, X là khóa của S

Phương pháp:

Bước 1 Tính X :=Ữ —

Bước 2 Nếu X” = thì kết luận X là khóa duy nhất của Š, thuật toán dừng Còn nếu

XT 7 thì thực hiện bước 3

Bước 3 Xây dựng lược đồ chuyển dịch Š = (Ù, F) với:

Ữ =(EnR)—(L- R", P,={L¿nÙ — RịnD|L¿nDÙ #ø, RịnÙ ø, Lị — Rịc P, Ví = 1,2, ,k}

Bước 4 Sử dụng thuật toán (1) trong [2| để tìm khóa X” của lược đồ quan hệ S

Bước ð Kết luận: X := X”U (U — R) là khóa củ a lược đồ quan hệ 6$ Thuật toán dừng

Ví dụ Cho sơ dé quan hệ S = (U, F), voi U = {A,B,C,D,E,F,G,H.1,J,K},

F ={AC > FH, F > K,IG > ABC, BE > JKD, DF > AE}

So dé quan hé chuyén dich § = (U, F) véi U va F duoc xéc dinh nhu sau:

L={A,B,C,D,E,F,G,I}va R={A,B,C,D,E,F, J, K,H},

U—R={G,T}, LAR={A,B,C,D,E,F,}, L— R={I,G},

Trang 5

(L—R)+ ={1,G}* = {1,G, A, B,C, FH, K},

& = (LAR) —(L— R)*+ = {D, E}

F={L,NU SR NU|L,NU 4 @,R NU 49, L; > Re F,Vi = 1,2, ,5}

={E—>D,D— F}

Ta nhận thấy rằng sơ đô quan hệ chuyển dịch Š = (U FB ) đơn giản hon nhiều so với sơ đồ quan

hệ ban đầu Š = (U, F) Khóa của sơ đồ quan hệ Š là {P} và {G} Từ đó suy ra khóa của sơ đồ quan hệ Š là {, Œ, T} và {D, G, T}

TÀI LIỆU THAM KHẢO

[1] J Demetrovics, Ho Thuan, Le Van Bao, and Nguyen Xuan Huy, Translation of relation schemes, Balanced relation schemes and the problem of key representation, J Inf Process Cybern EIK

23 (1987) 81-97

[2} Ho Thuan, Le Van Bao, Some results about key of relational schemas, Acta Cybernetica (1985) 99-113

[3] Ho Thuan, Contribution to the Theory of Relational Databases, Tanulmanyok 184/1986, Studies 184/1986

[4] Maier, D., The Theory of Relational Databases, Computer Science Press, 1980

[5] Ullman, J D., Principles of Database and Knowledge - Base Systems, Vol 1 &2, Computer Science Press, 1986

Nhận bài ngàu 17 - 7 - 2001

Nhận lại sưu khi sta ngay 15 - 3 - 2002

Khoa Toán - Cơ - Tín học, Trường Đạt học Khoa học Huế

Ngày đăng: 25/03/2014, 20:22

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w