Th ut tốn chun hĩa pv 2FONF 4 6-

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 57 - 59)

Thu t tốn 2.2: Chu n hĩa l p v 2FON F

Vào: L p đ i t ng m C(U) 1FONF, F: t p các ph thu c hàm m t i thi u,

khĩa K c a l p C.

Ra: Tách l p C thành các l p Ci 2FONF khơng m t mát thơng tin.

Ph ng pháp:

B c 1:

+ V i m i ph thu c hàm m Xi¾¾®fc

AjF, XiÌ KAj là thu c tính khơng

khĩa (Aj ph thu c hàm m b ph n vào khĩa K), đ t Si = Xi È Aj. T o các l p

m i Ci v i t p thu c tính Si và khĩa t ng ng là Xi, các ph ng th c M ph thu c vào Siđ c đ a vào l p Ci.

+ t T = UCi ;

B c 2:

+ t U = U – {Ai} (Ai là các thu c tính ph thu c hàm m b ph n vào khĩa K, t o l p m i C(U).

+ Các ph ng th c M ph thu c vào Uđ c đ a vào l p C(U).

B c 3:

+ V i m i l p CiT, n u C(U) ch a t p thu c tính HH là khĩa chính c a Ci

thì thay t p thu c tính H trong C b i thu c tính h cĩ ki u l p Ci.

+ V i m i ph ng th c M trong các l p đ c vi t l i cho phù h p d a vào các thu c tính và ki u c a nĩ trong l p đĩ.

K t thúc;

Ví d 2.9: Cho l p NhanVien mơ t ng i làm vi c trong các d án nh sau:

Class NhanVien ATTRIBUTE:

- 47 -

tenN V: string with degree of 1.0;

maDA: integer with degree of 1.0;

gioLam: fuzzy domain {r t nhi u, nhi u, ít, r t ít} OR integer with degree of 1.0;

tenDA: string with degree of 1.0;

dcDA: string with degree of 1.0;

m: float; WEIGHT:

… METHODS:

NhapNV(maN V, tenN V);

NhapDA(maDA, tenDA, dcDA); NhapGioLam(gioLam) (adsbygoogle = window.adsbygoogle || []).push({});

END;

T p ph thu c hàm m trên l p NhanVien F =

{maN V ¾¾®fc tenN V;maDA¾¾®fc tenDA;maDA¾¾®fc dcDA;maN V,maDA¾¾®fc gioLam} Khĩa c a l p NhanVien là {maN V, maDA}

Theo đ nh ngh a 2.8, l p NhanVien đã 1FONF nh ng khơng 2FONF vì t n

t i các thu c tính khơng khĩa {tenN V, tenDA, dcDA} ph thu c hàm m b ph n vào khĩa. D th a d li u x y ra khi th c hi n l u tr thơng tin c a m t ng i làm vi c

trong nhi u d án khác nhau. Áp d ng thu t tốn chu n hĩa l p v 2FONF nh sau:

B c 1,2: ta cĩ các l p NhanVien(maN V, tenN V, N hapN V(…)), DuAn(maDA, tenDA, dcDA, N hapDA(…)), NV_DA(maN V, maDA, gioLam, N hapGioLam(…))

B c 3: l p NV_DA đ c chuy n đ i thành NV_DA(nhanVien: NhanVien,

duAn: DuAn, gioLam, N hapGioLam(…)).

Thu t tốn 2.2 là đúng đ n. Th t v y, t i b c 1, l p C cĩ th đ c tách t i đa đ c n - | K | l p, trong đĩ n là s thu c tính c a C, | K | là s thu c tính khĩa thu c K. T i b c 2, 3, l p ban đ u cĩ th c u trúc l i b ng R(C, T.X) v i T = r - {C},

r = {C, C1, C2, …, Cn - |K|}. Theo đ nh ngh a 2.7, r = (C, C1, C2, …, Cn - |K|) là phép tách n - | K | + 1 khơng m t thơng tin.

- 48 -

t ng. ph c t p c a thu t tốn 2.2 ph thu c vào s l p Ci đ c t o ra b c 1. Vì v y, đ ph c t p c a thu t tốn là O(n).

nh ngh a 2.14: M t l cđ CSDL h ng đ i t ng m đ c g i là 2FONF n u m i l p trong l c đ CSDL h ng đ i t ng m đ u 2FONF.

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 57 - 59)