Th ut tốn chun hĩa pv 1FONF 4 3-

Một phần của tài liệu Nghiên cứu các phụ thuộc hàm trong cơ sở dữ liệu hướng đối tượng mờ (Trang 54 - 57)

Thu t tốn 2.1: Chu n hĩa l p v 1FON F

Vào: L p đ i t ng m C(U) cĩ n thu c tính

Ra: Tách l p C v 1FONF khơng m t mát thơng tin

Ph ng pháp:

t D = C;

B c 1: N u l p D cĩ d ng i, ii và Ai khơng ph i là thu c tính khĩa thì ta tách l p D thành hai l p C C1 1FONF nh sau:

(i) Class D tuple(A1: T1, A2: T2, …, Ai: set(tuple( X: TX)), …, An: Tn) Tách l p D thành 2 l p C C1nh sau:

- 44 -

+ class C tuple(A1: T1, A2: T2, …, Ai: set(C1), …, An: Tn) + class C1 tuple(X: TX)

Các ph ng th c ph thu c vào A1, A2, A3, …, An đ c phân vào l p C, các

ph ng th c ph thu c vào t p thu c tính Aiđ c phân vào l p C1. Vi t l i các ph ng th c trong C, C1 cho phù h p d a vào t p thu c tính và ki u c a nĩ

trong l p đĩ.

(ii) class D tuple(A1: T1, A2: T2, …, Ai: tuple(B1: I1, B2: I2,…, Bi: set(tuple(X:

TX)), …, Bm: Tm), …, An: Tn) Tách D thành 2 l p CC1nh sau:

+ class C tuple(A1: T1, A2: T2, …, Ai: tuple(B1: I1, B2: I2,…, Bi: set(C1)), …, Bm: Tm), … An: Tn)

+ class C1 tuple(X: TX)

Các ph ng th c ph thu c vào A1, A2, A3, …, An đ c phân vào l p C, các

ph ng th c ph thu c vào t p thu c tính Biđ c phân vào l p C1. Vi t l i các ph ng th c trong C, C1 cho phù h p d a vào t p thu c tính và ki u c a nĩ

trong l p đĩ.

B c 2: N u l p D cĩ d ng ii, iii và Ailà thu c tính khĩa thì ta tách l p D thành ba l p C, C1C2(đ i v i ii), thành 2 l p C, C1(đ i v i iii) nh sau:

(ii) class D tuple(A1: T1, A2: T2, …, Ai: tuple(B1: I1, B2: I2,…, Bi: set(tuple(X:

TX)), …, Bm: Tm), …, An: Tn) Tách D thành 3 l p C, C1 C2 nh sau:

+ class C tuple(A1: T1, A2: T2, …, Ai: C1, …, An: Tn) + class C1 tuple(B1: I1, B2: I2,…, Bi: set(C2)), …, Bm: Tm) + class C2 tuple(X: TX)

Các ph ng th c ph thu c vào A1, A2, A3, …, An đ c phân vào l p C, các

ph ng th c ph thu c vào thu c tính Ai đ c phân vào l p C1, các ph ng

th c ph thu c vào t p thu c tính Bi đ c phân vào l p C2. Vi t l i các ph ng th c trong C, C1, C2 cho phù h p d a vào t p thu c tính và ki u c a

- 45 -

nĩ trong l p đĩ.

(iii) class D tuple(A1: T1, A2: T2, …, Ai: tuple(X: TX), …, An: Tn) Tách D thành hai l p C C1nh sau:

+ class C tuple(A1: T1, A2: T2, …, Ai: C1, …, An: Tn) + class C1 tuple(X: TX)

Các ph ng th c ph thu c vào A1, A2, A3, …, An đ c phân vào l p C, các (adsbygoogle = window.adsbygoogle || []).push({});

ph ng th c ph thu c vào t p thu c tính Aiđ c phân vào l p C1. Vi t l i các ph ng th c trong C, C1 cho phù h p d a vào t p thu c tính và ki u c a nĩ

trong l p đĩ.

K t thúc;

M nh đ 2.1: Thu t tốn 2.1 là đúng đ n.

Ch ng minh: Ta c n ch ng minh theo hai tr ng h p t ng ng v i b c 1, 2

b c 1 c a thu t tốn: (*)

+ Theo đ nh ngh a 2.5 ta cĩ l p D = R(C, C1.Ai) vì v y r= (C, C1) là phép tách 2 khơng m t thơng tin c a D.

b c 2 c a thu t tốn: (**)

+ N u l p D thu c d ng (ii), theo b đ 2.3, ta cĩ r = (C, C1, C2) là phép tách 3 khơng m t thơng tin c a D.

+ N u l p D thu c d ng (iii), c ng theo đ nh ngh a 2.5 ta cĩ l p D = R(C, C1.Ai), vì v y r= (C, C1) là phép tách 2 khơng m t thơng tin c a D.

T (*) và (**) ta suy ra l p D đ c tách v 1FONF khơng m t thơng tin. < Các l p Ci n u ch a d ng chu n 1FONF, ta cĩ chuy n chúng v d ng chu n

1FONF b ng cách áp d ng thu t tốn 2.1. Theo b đ 2.3, l p C đ c tách thành các l p nh th là khơng m t thơng tin.

Gi s các ph ng th c c a l p C là tr u t ng, khi đĩ, đ ph c t p thu t tốn

2.1 ph thu c vào s l n tách l p D. Tr ng h p t i nh t là t i b c 2, l p D thu c

d ng (ii), s l n tách t i đa là (3 ´ n) v i n là s thu c tính c a l p đ i t ng m C. V y, đ ph c t p c a thu t tốn là O(n).

- 46 -

nh ngh a 2.13: M t l cđ CSDL h ng đ i t ng m đ c g i là 1FONF n u

m i l p trong l c đ CSDL h ng đ i t ng m đ u 1FONF.

Một phần của tài liệu Nghiên cứu các phụ thuộc hàm trong cơ sở dữ liệu hướng đối tượng mờ (Trang 54 - 57)