Thuật toán phân mảnh ngang theo giá trị lặp và gộp nhóm theo tiêu chuẩn giữ lại mảnh ngang

Một phần của tài liệu Gộp nhóm các giá trị lặp của các thuộc tính trong các mảnh của cơ sơ dữ liệu phân tán (Trang 53 - 59)

CHƯƠNG 2: CÁC THUẬT TOÁN PHÂN MẢNH THEO CÁC GIÁ TRỊ LẶP CỦA CÁC THUỘC TÍNH TRONG CƠ SỞ DỮ LIỆU PHÂN TÁN

2.2. Các thuật toán phân mảnh theo các giá trị lặp của các thuộc tính

2.2.2. Thuật toán phân mảnh ngang theo giá trị lặp và gộp nhóm theo tiêu chuẩn giữ lại mảnh ngang

Phân mảnh ngang theo giá trị lặp ở đây chúng ta quan tâm đến các mảnh một hoặc một số các thuộc tính có giá trị lặp, hơn nữa số lần xuất hiện giá trị lặp phải lớn hơn 1 mới có giá trị và chúng ta sẽ giữ lại các mảnh ngang đó. Lý do cơ bản là khi nén hoặc gán nhãn mới có giá trị. Ví dụ trong mảnh ngang bảng 2.1.2. Chúng ta chỉ cần các thông tin nhƣ:

Hoặc 1/ Bộ: t#

ChucVu = “Giám đốc”

….

Hoặc:

2/

MaNV MaDuAn

NV1 DA1

NV5 DA2

NV6 DA4

NV8 DA3

Và ChucVu = “Giám đốc”

Tuy nhiên trong trường hợp 1/ thì khi có Update thứ tự bộ sẽ không còn chính xác, vì vậy chúng ta sẽ thực hiện theo 2/

Cho trước quan hệ R, tập khóa K, tập thuộc tính không khóa A = {A1, A1, …, An}

Ký hiệu m = Card(R)

Gọi pij là mệnh đề đơn giản trên quan hệ R. Nghĩa là:

Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/

Bảng 2.2.5’. Toàn quan hệ PhanNhiem

Bộ t MaNV MaDuAn ChucVu ThoiGianLV

t1 NV1 DA1 Giám đốc 12

t2 NV2 DA1 Phân tích và thiết kế 24

t3 NV2 DA2 Phân tích và thiết kế 24

t4 NV3 DA3 Tƣ vấn 10

t5 NV3 DA4 Kỹ sƣ 48

t6 NV4 DA2 Lập trình viên 18

t7 NV5 DA2 Giám đốc 24

t8 NV6 DA4 Giám đốc 48

t9 NV7 DA3 Kỹ sƣ 36

t10 NV8 DA3 Giám đốc 40

pij: Aj = dij ; j = 1, 2, ..., n; i = 1, 2, …, m; dij  dom(Aj)

Trong đó j chỉ thuộc vị trí thuộc tính Aj: (j = 1, 2, … , n) , i chỉ thứ tự bộ thứ i.

Chẳng hạn trong bảng 2.2.5’:

p1,1 : ChucVu = “Giám đốc”

p1,2 : ThoiGianLV = 12

p2,1 : ChucVu = “Phân tích và thiết kế”

p2,2 : ThoiGianLV = 24

…..

p9,1 : ChucVu = “Kỹ sƣ”

p9,2 : ThoiGianLV = 36

Một mệnh đề hội sơ cấp Eij có dạng trong trường hợp của chúng ta có dạng:

Eij = pi,k1  pi,k2  … pi,kp

Trong đó {k1, k2, ..., kp}  {1, 2, … , n} , ( i = 1, 2, … , m) Chẳng hạn

Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/

E2,2 = p21  p22 = ChucVu = “Phân tích và thiết kế”  ThoiGianLV = 24 Khi phân mảnh ngang mỗi mệnh đề Eij sẽ cho chúng ta một mảnh ngang.

Gọi E = {Eij}

Thuật toán phân mảnh ngang PhanMN chỉ với các thuộc tính có giá trị lặp nhƣ sau:

PhanMN Input: R

Output: FMN /*Các mảnh ngang có Card > 1, tiêu chuẩn gộp nhóm*/

Begin

Pr =  /* là tập chứa các mđ đơn giản*/

FMN =  /* F tập các mảnh ngang có giá trị lặp có Card > 1*/

Y =  /* là tập rỗng*/

/* Tạo các mệnh đề đơn giản */

For j = 1 To m For i = 1 To m

pij := “Aj = dij” Pr := Prpij

EndFor EndFor

/* Tạo các mệnh đề hội sơ cấp */

E =  /* là tập các mệnh đề hội sơ cấp*/

For Each {k1, ..., kq}  {1, 2, ..., n}

For i = 1 To m

E = E  (pi, k1 pi, k2  ... pi, kq) EndFor

EndFor

/* Tạo các mệnh đề hội sơ cấp */

Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/

For kq = n DownTo 1 /* Mỗi mệnh đề hội sơ cấp X thuộc E */

M “pi, k1 pi, k2  ... pi, kq” =  pi, k1 pi, k2  ... pi, kq (R) /* F là tập rỗng*/

If Card(M“pi, k1 pi, k2  ... pi, kq”) > 1 /* Nếu đúng, tiêu chuẩn gộp nhóm*/

FMN = FMNM“pi, k1 pi, k2  ... pi, kq” /* Bổ sung M vào F */

R = R/M“pi, k1 pi, k2  ... pi, kq” /* Bỏ bớt mảnh M từ R*/

Y= Y“pi, k1 pi, k2  ... pi, kq” /* Lưu mệnh đề đã được phân mảnh */

EndIf Endfor

/* Kết thúc thuật toán chúng ta đƣợc F là tập các mảnh ngang có giá trị lặp với số bản ghi của các mảnh ít ra cũng bằng 2, các chỉ số của mảnh ngang trong F chính là thứ tự của các thuộc tình trong qh R*/

Ví dụ minh họa Cho quan hệ

Bảng 2.2.6. Quan hệ PhanNhiem

Bộ t MaNV MaDuAn ChucVu ThoiGianLV

t1 NV1 DA1 Giám đốc 12

t2 NV2 DA1 Phân tích và thiết kế 24

t3 NV2 DA2 Phân tích và thiết kế 24

t4 NV3 DA3 Tƣ vấn 10

t5 NV3 DA4 Kỹ sƣ 48

t6 NV4 DA2 Lập trình viên 18

t7 NV5 DA2 Giám đốc 24

t8 NV6 DA4 Giám đốc 48

t9 NV7 DA3 Kỹ sƣ 36

t10 NV8 DA3 Giám đốc 40

Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/

Áp dụng thuật toán Pr bao gồm

p1,1: ChucVu = “Giám đốc”

p2,1: ChucVu = “Phân tích và thiết kế”

p3,1: ChucVu = “Phân tích và thiết kế”

p4,1: ChucVu = “Tƣ vấn”

p5,1: ChucVu = “Kỹ sƣ”

p6,1: ChucVu = “Lập trình viên”

p7,1: ChucVu = “Giám đốc”

p8,1: ChucVu = “Giám đốc”

p9,1: ChucVu = “Kỹ sƣ”

p10,1: ChucVu = “Giám đốc”

---

p1,2: ThoiGianLV = 12 p2,2: ThoiGianLV = 24 p3,2: ThoiGianLV = 24 p4,2: ThoiGianLV = 10 p5,2: ThoiGianLV = 48 p6,2: ThoiGianLV = 18 p7,2: ThoiGianLV = 24 p8,2: ThoiGianLV = 48 p9,2: ThoiGianLV = 36 p10,2: ThoiGianLV = 40 ---

E = {p1,1 p1,2, p2,1 p2,2, p3,1 p3,2 , … , p10,1 p10,2} ---

k = 2 ; chỉ có 2 thuộc tính không khóa

Với M: ChucVu =“Giám đốc”  “ThoiGianLV =12” với card(M2)  2 thì M2

Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/

rỗng.

Với M: ChucVu =“Phân tích thiết kế”  “ThoiGianLV =24” với card(M2)  2 thì M2 sẽ là

Bảng 2.2.7. Các mảnh ngang M21

Bộ t MaNV MaDuAn ChucVu ThoiGianLV

t2 NV2 DA1 Phân tích và thiết kế 24

t3 NV2 DA2 Phân tích và thiết kế 24

Quan hệ PhanNhiem bây giờ là:

Bảng 2.2.8. Quan hệ PhanNhiem

Bộ t MaNV MaDuAn ChucVu ThoiGianLV

t1 NV1 DA1 Giám đốc 12

t4 NV3 DA3 Tƣ vấn 10

t5 NV3 DA4 Kỹ sƣ 48

t6 NV4 DA2 Lập trình viên 18

t7 NV5 DA2 Giám đốc 24

t8 NV6 DA4 Giám đốc 48

t9 NV7 DA3 Kỹ sƣ 36

t10 NV8 DA3 Giám đốc 40

Với p11: ChucVu = “Giám đốc”

Ta có:

Bảng 2.2.9. Mảnh ngang M11

Bộ t MaNV MaDuAn ChucVu ThoiGianLV

t1 NV1 DA1 Giám đốc 12

t7 NV5 DA2 Giám đốc 24

t8 NV6 DA4 Giám đốc 48

t10 NV8 DA3 Giám đốc 40

Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/

Quan hệ PhanNhiem bây giờ là:

Bảng 2.2.10. Quan hệ PhanNhiem

Bộ t MaNV MaDuAn ChucVu ThoiGianLV

t4 NV3 DA3 Tƣ vấn 10

t5 NV3 DA4 Kỹ sƣ 48

t6 NV4 DA2 Lập trình viên 18

t9 NV7 DA3 Kỹ sƣ 36

Mảnh ngang cuối cùng

Với p51: ChucVu = “Kỹ sƣ”

Bảng 2.2.11. Mảnh ngang M12

Bộ t MaNV MaDuAn ChucVu ThoiGianLV

t5 NV3 DA4 Kỹ sƣ 48

t9 NV7 DA3 Kỹ sƣ 36

F = { M21, M11, M12}

Một phần của tài liệu Gộp nhóm các giá trị lặp của các thuộc tính trong các mảnh của cơ sơ dữ liệu phân tán (Trang 53 - 59)

Tải bản đầy đủ (PDF)

(81 trang)