Tải bản đầy đủ (.pdf) (58 trang)

thiết kế cơ sở dữ liệu phân tán sử dụng các kỹ thuật khai phá dữ liệu

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.48 MB, 58 trang )

BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƢỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
---------------------------------------

Nguyễn Văn Rạng

THIẾT KẾ CƠ SỞ DỮ LIỆU PHÂN TÁN SỬ DỤNG CÁC KỸ THUẬT KHAI
PHÁ DỮ LIỆU

Chuyên ngành: Công nghệ Thông tin

LUẬN VĂN THẠC SĨ KỸ THUẬT
CÔNG NGHỆ THÔNG TIN

NGƢỜI HƢỚNG DẪN KHOA HỌC
PGS.TS Nguyễn Kim Anh

Hà Nội – Năm 2015
1


LỜI CAM ĐOAN
Tên tôi là Nguyễn Văn Rạng, học viên lớp Cao học lớp 13BCNTT1, chuyên
ngành Công nghệ Thông tin, trƣờng Đại học Bách Khoa Hà Nội. Tôi xin cam đoan
và hoàn toàn chịu trách nhiệm về lời cam đoan này:
 Toàn bộ nội dung của Luận văn Thạc sỹ này là do chính tôi thực hiện dƣới
sự hƣớng dẫn tận tình của PGS.TS Nguyễn Thị Kim Anh.
 Trong quá trình thực hiện Luận văn tôi có kế thừa kiến thức trong những tài
liệu tham khảo (phần tài liệu tham khảo).
 Các kết quả công bố sử dụng để kết luận và đánh giá trong Luận văn là
hoàn toàn chân thực.


Hà Nội, Tháng 12 năm 2014

2


LỜI CÁM ƠN
Để hoàn thành luận văn này, trƣớc hết tác giả xin bày tỏ lòng biết ơn sâu sắc
đến PGS.TS. Nguyễn Thị Kim Anh, đang công tác tại Viện Công nghệ Thông tin và
Truyền thông, Trƣờng Đại học Bách khoa Hà Nội đã tận tình hƣớng dẫn, động viên
trong suốt thời gian nghiên cứu.
Xin bày tỏ lòng biết ơn sâu sắc đến TS. Nguyễn Đức Thuần, Trƣờng Đại học
Nha Trang đã có nhiều đóng góp quý báu, hỗ trợ tài liệu, định hƣớng nghiên cứu,
cung cấp các kết quả khoa học của TS giúp tác giả hoàn thành luận văn.
Xin cùng bày tỏ lòng biết ơn sâu sắc đến TS. Nguyễn Hữu Trọng, Trƣờng Đại
học Nha Trang đã có nhiều đóng góp quý báu, quan tâm, động viên tác giả để có thể
hoàn thành luận văn.
Cũng xin gửi lời cám ơn chân thành đến lãnh đạo, quý thầy cô Viện Công
nghệ Thông tin và Truyền thông, Viện đào tạo Sau Đại học, Trƣờng Đại học Bách
khoa Hà Nội, lãnh đạo và quý thầy cô trƣờng Đại học Nha Trang đã có nhiều góp ý,
động viên, khích lệ tác giả trong thời gian nghiên cứu vừa qua.

NGUYỄN VĂN RẠNG

3


MỤC LỤC
LỜI CAM ĐOAN ....................................................................................................... 2
DANH MỤC CÁC CỤM TỪ VIẾT TẮT .................................................................. 6
DANH MỤC CÁC HÌNH ........................................................................................... 7

DANH MỤC CÁC BẢNG.......................................................................................... 8
MỞ ĐẦU ..................................................................................................................... 9
CHƢƠNG 1. CSDL PHÂN TÁN VÀ BÀI TOÁN THIẾT KẾ PHÂN ĐOẠN ....... 11
1.1.

Tổng quan về CSDL phân tán ....................................................................... 11

1.2. Các bài toán thiết kế phân tán ............................................................................ 11
1.3. Các kỹ thuật thiết kế phân đoạn ......................................................................... 12
1.4. Kỹ thuật phân đoạn ngang.................................................................................. 14
1.4.1. Giới thiệu......................................................................................................... 14
1.4.2. Thông tin cần thiết của phân đoạn ngang ....................................................... 15
1.4.3. Phân đoạn ngang cơ sở .................................................................................... 18
1.4.4. Phân đoạn ngang dẫn xuất............................................................................... 22
CHƢƠNG 2. KHAI PHÁ DỮ LIỆU VÀ CÁC KỸ THUẬT PHÂN CỤM ............. 28
2.1. Tổng quan về khai phá dữ liệu ........................................................................... 28
2.2. Các mô hình khai phá dữ liệu ............................................................................ 28
2.3. Bài toán phân cụm dữ liệu ................................................................................. 29
2.3.1. Tổng quan về kỹ thuật phân cụm .................................................................... 29
2.3.2. Các kỹ thuật phân cụm dữ liệu ........................................................................ 29

4


CHƢƠNG 3. THIẾT KẾ PHÂN ĐOẠN NGANG CSDL PHÂN TÁN ỨNG DỤNG
MỘT SỐ KỸ THUẬT PHÂN CỤM TRONG KHAI PHÁ DỮ LIỆU .................... 33
3.1. Đặt vấn đề .......................................................................................................... 33
3.2. Các vấn đề về thiết kế phân đoạn ....................................................................... 33
3.3. Kỹ thuật phân đoạn ngang cổ điển ..................................................................... 34
3.4. Phân đoạn ngang sử dụng kỹ thuật phân cụm dữ liệu k-Medoids ..................... 34

3.4.1. Đặt vấn đề ....................................................................................................... 34
3.4.2. Mô hình dữ liệu ............................................................................................... 35
3.4.3. Thuật toán phân cụm ....................................................................................... 35
3.4.4. Thuật toán phân đoạn ngang sử dụng kỹ thuật phân cụm k-Medoids ............ 37
3.4.5. Kết quả thực nghiệm và đánh giá .................................................................... 39
3.5. Phân đoạn ngang sử dụng kỹ thuật phân cụm dữ liệu với số cụm tự động đƣợc
phát hiện trong quá trình thực hiện phân cụm........................................................... 44
3.5.1. Đặt vấn đề ....................................................................................................... 44
3.5.2. Khái quát về lý thuyết tập thô ......................................................................... 44
3.5.3. Thuật toán phân đoạn ngang trên cơ sở phân cụm dựa vào lý thuyết tập thô . 45
3.5.4. Kết quả thực nghiệm và đánh giá .................................................................... 53
KẾT LUẬN VÀ HƢỚNG PHÁT TRIỂN ................................................................ 56
Những kết quả đạt đƣợc ............................................................................................ 56
Nhƣợc điểm và hƣớng phát triển............................................................................... 56
Tài liệu tham khảo ..................................................................................................... 57

5


DANH MỤC CÁC CỤM TỪ VIẾT TẮT
STT

Viết tắt

Cụm từ tiếng Anh

Cụm từ tiếng Việt

1


CSDL

Database

Cơ sở dữ liệu

2

KPDL

Data mining

Khai phá dữ liệu

3

KDD

Knowledge Discovery in

Khám phá tri thức trong CSDL

Database
4

PCDL

Data Clustering

Phân cụm dữ liệu


5

DBMS

Database Management System

Hệ quản trị CSDL

6

DDBMS

Distributed Database

Hệ quản trị CSDL phân tán

Management System
7

KO

Knowledge-Oriented

Hƣớng tri thức

8

RST


Rough Set Theory

Lý thuyết tập thô

6


DANH MỤC CÁC HÌNH
Hình 1. Một mô hình CSDL quan hệ thực thể ER ...........................................13
Hình 2. Các quan hệ tƣơng ứng mô hình dữ liệu ở hình 1 ...............................13
Hình 3. Một ví dụ kết quả phân đoạn dọc ........................................................14
Hình 4. Một ví dụ kết quả phân đoạn ngang ....................................................14
Hình 5. Phân đoạn ngang cơ sở quan hệ PROJ ................................................19
Hình 6. Phân đoạn ngang cho quan hệ PAY ....................................................21
Hình 7. Phân đoạn ngang quan hệ PROJ..........................................................22
Hình 8. Phân đoạn ngang dẫn xuất quan hệ EMP ............................................23
Hình 9. Đồ thị đơn giản nối giữa các đoạn.......................................................24
Hình 10. Phân đoạn dẫn xuất của ASG ứng với PROJ ....................................25
Hình 11. Phân đoạn dẫn xuất của ASG ứng với EMP .....................................26
Hình 12. Các chiến lƣợc phân cụm phân cấp ...................................................31

7


DANH MỤC CÁC BẢNG
Bảng 1. Ma trận OCM ......................................................................................35
Bảng 2. Sự kiện cho biến nhị phân ...................................................................36
Bảng 3. Dữ liệu mẫu cho ví dụ 3.1 ...................................................................39
Bảng 4. Ma trận OCM của ví dụ 3.1 ................................................................40
Bảng 5. Kết quả phân đoạn ví dụ 3.1 ...............................................................40

Bảng 6. Kết quả phân đoạn trong [6] ...............................................................41
Bảng 7. Dữ liệu mẫu cho ví dụ 3.2 ...................................................................42
Bảng 8. Ma trận OCM của ví dụ 3.2 ................................................................43
Bảng 9. Kết quả phân đoạn ví dụ 3.2 ...............................................................43

8


MỞ ĐẦU
Trong những năm gần đây, sự phát triển nhanh chóng của khoa học kỹ thuật nói
chung và sự phát triển của công nghệ thông tin nói riêng, đặc biệt là sự ra đời của
Internet đã giúp cho việc chia sẻ, khai thác thông tin trên toàn cầu dễ dàng và nhanh
chóng. Chính vì vậy mà kho dữ liệu, nguồn tri thức của nhân loại cũng trở nên đồ
sộ, vô tận làm cho vấn đề khai thác các nguồn tri thức đó ngày càng trở nên nóng
bỏng và đặt ra thách thức lớn cho nền công nghệ thông tin thế giới.
Bên cạnh đó, việc ra đời và phát triển nhanh chóng của công nghệ mạng máy tính
với mục tiêu chia sẻ tài nguyên, khai thác các tài nguyên thông tin, tích hợp và trao
đổi các loại dữ liệu giữa các thành phần trên mạng đã đặt ra nhiệm vụ cho các nhà
tin học là phải thiết kế các hệ CSDL phân tán nhằm tích hợp CSDL ở nhiều vị trí
khác nhau trên mạng hoặc phân tán CSDL từ một trạm đến các vị trí khác nhau sao
cho việc khai thác thông tin đạt hiệu quả cao nhất.
Bài toán thiết kế CSDL phân tán là một trong các bài toán quan trọng ảnh hƣởng
đến hiệu quả của hệ CSDL sau này. Các giải pháp thiết kế CSDL phân tán phụ
thuộc rất nhiều vào các nguồn dữ liệu đầu vào và vấn đề khai thác các nguồn dữ liệu
đầu vào trong các kỹ thuật thiết kế phân tán.
Bài toán này mặc dù đã đƣợc nhiều nhà tin học quan tâm nhƣng vẫn chƣa có đƣợc
các giải pháp thiết kế tối ƣu cho các CSDL phân tán.
Mục tiêu của luận văn là nghiên cứu và cài đặt thử nghiệm các giải pháp thiết kế
CSDL phân tán sử dụng các kỹ thuật khai phá dữ liệu.
Bố cục chính của luận văn gồm các nội dung sau:

 Chƣơng 1 trình bày tổng quan về CSDL phân tán; các bài toán thiết kế phân
tán; các kỹ thuật thiết kế phân đoạn ngang và những giải pháp đề xuất gần
đây.

9


 Chƣơng 2 trình bày khái quát về khai phá dữ liệu; các mô hình khai phá dữ
liệu; các kỹ thuật phân cụm và các giải pháp đề xuất gần đây.
 Chƣơng 3 tác giả đề xuất một số giải pháp thiết kế phân đoạn CSDL phân tán
trên cơ sở các kỹ thuật phân cụm dữ liệu và cài đặt các thuật toán thử nghiệm.
Cụ thể, tác giả đề xuất giải pháp và cài đặt thử nghiệm thuật toán phân đoạn
ngang CSDL phân tán sử dụng thuật toán phân cụm k-Medoids. Tuy nhiên với
k-Medoids, số cụm do con ngƣời quyết định, nên chƣa thực sự phù hợp với bài
toán phân đoạn ngang cổ điển trong đó số đoạn sẽ tự sinh ra trong quá trình
phân đoạn. Để khắc phục nhƣợc điểm trên, trong chƣơng này, tác giả cũng đề
xuất một giải pháp và cài đặt thuật toán phân cụm hƣớng tri thức với số cụm
tự động sinh ra trong quá trình phân cụm.
 Cuối cùng là phần kết luận và hƣớng phát triển, tác giả tổng kết những kết quả
đã đạt đƣợc trong luận văn cũng nhƣ hƣớng phát triển cho các giải pháp đề
xuất trong thời gian tới.

10


CHƢƠNG 1. CSDL PHÂN TÁN VÀ BÀI TOÁN THIẾT KẾ PHÂN ĐOẠN
1.1. Tổng quan về CSDL phân tán
Nguyên lý các hệ CSDL phân tán đƣợc xây dựng dựa trên sự hợp nhất của hai
hƣớng tiếp cận đối với quá trình xử lý dữ liệu, đó là lý thuyết các hệ CSDL và công
nghệ mạng máy tính.

Một CSDL phân tán là một tập hợp nhiều CSDL có liên đới logic và đƣợc phân bố
trên một mạng máy tính.
Tính chất phân tán: Toàn bộ dữ liệu của CSDL phân tán không đƣợc đặttập trung ở
một nơi mà phân tán trên nhiều trạm trên mạng máy tính, điều này giúp chúng ta
phân biệt CSDL phân tán với CSDL tập trung đơn lẻ.
Tương quan logic: Toàn bộ dữ liệu của CSDL phân tán có một số các thuộc tính
ràng buộc chúng với nhau, điều này giúp chúng ta có thể phân biệt một CSDL phân
tán với một tập hợp CSDL cục bộ hoặc các tệp cƣ trú tại các vị trí khác nhau trong
một mạng máy tính.
1.2. Các bài toán thiết kế phân tán
Thiết kế cơ sở dữ liệu phân tán là bài toán tối ƣu hóa bao gồm các bài toán: phân
đoạn và sắp chỗ. Có nhiều phƣơng pháp tiếp cận khác nhau để giải quyết các bài
toán này.
Đối với bài toán phân đoạn, có 2 bài toán con: phân đoạn ngang và phân đoạn dọc.
Phân đoạn ngang là phân chia tập các bản ghi thành các tập bản ghi nhỏ hơn. Phân
đoạn dọc là phân rã tập thuộc tính của lƣợc đồ quan hệ R thành các lƣợc đồ con R1,
R2,…, Rm sao cho các thuộc tính trong mỗi lƣợc đồ con là thƣờng đƣợc truy vấn
cùng nhau. Ngoài ra còn có phân đoạn hỗn hợp (kết hợp 2 bài toán trên).
Đối với bài toán sắp chỗ, giả sử có một tập các đoạn dữ liệu F = {F 1, F2, …, Fn} và
một mạng máy tính bao gồm các trạm S = {S1, S2,…, Sm} trên đó có một tập các
11


ứng dụng Q = {q1, q2, …, qk} đang chạy. Bài toán sắp chỗ là tìm một phân phối tối
ƣu theo nghĩa nào đó các đoạn trong tập F đến các trạm trong S. Tính tối ƣu sắpchỗ
có thể đƣợc định nghĩa:
 Chi phí nhỏ nhất: Hàm chi phí bao gồm chi phí lưu trữ đoạn Fi tại trạm Sj,
chi phí truy vấn Fi tại trạm Sj, chi phí cập nhật Fi tại tất cả các trạm lưu trữ
nó và chi phí trao đổi thông tin. Mục tiêu của bài toán cấp phát là xác định
một lược đồ sắp chỗ với hàm chi phí nhỏ nhất.

 Hiệu năng: Chiến lược cấp phát phải nhằm duy trì hiệu năng. Làm giảm
thời gian đáp ứng và tăng tối đa lưu lượng hệ thống tại mỗi trạm trên
mạng.
Cần xây dựng một lƣợc đồ sắp chỗ sao cho trả lời các truy vấn trong thời gian ngắn
nhất mà vẫn duy trì đƣợc chi phí xử lý thấp nhất, thời gian đáp ứng thấp và tăng tối
đa lƣu lƣợng. Đây là vấn đề phức tạp, không đơn giản.
1.3. Các kỹ thuật thiết kế phân đoạn
Các quan hệ trong CSDL thƣờng đƣợc biểu diễn dƣới dạng bảng. Việc phân đoạn
một quan hệ thành nhiều quan hệ con khác nhau theo các cách khác nhau, sẽ có các
cách phân đoạn tƣơng ứng. Có hai kiểu phân đoạn tƣơng ứng với việc chia quan hệ
theo chiều dọc và chia quan hệ theo chiều ngang.
Sau đây là mô hình dữ liệu mẫu để minh họa các kỹ thuật thiết kế phân đoạn.

12


Hình 1. Một mô hình CSDL quan hệ thực thể ER

Hình 2. Các quan hệ tương ứng mô hình dữ liệu ở hình 1
Phân đoạn theo chiều dọc: Các quan hệ đƣợc chia theo chiều dọc. Nghĩa là thiết lập
một quan hệ mới chỉ có một số thuộc tính từ quan hệ gốc. Thực chất đây là phép
chiếu trên tập con các thuộc tính của quan hệ.
Ví dụ 1.1. Tách dọc quan hệ PROJ (hình 2) thành 2 quan hệ PROJ1 và PROJ2 nhƣ
sau:
πPNO, BUDGET (PROJ) và πPNO, PNAME, LOG (PROJ)

13


Hình 3. Một ví dụ kết quả phân đoạn dọc

Phân đoạn ngang: Quan hệ đƣợc chia theo chiều ngang. Thực chất đây là phép chọn
trong quan hệ. Chọn những bộ của quan hệ thỏa mãn một biểu thức điều kiên cho
trƣớc.
Ví dụ 1.2. Tách ngang quan hệ PROJ (hình 2) thành 2 quan hệ PROJ1 và PROJ2
thỏa theo điều kiện BUDGET ≤ 200000 và BUDGET > 200000 nhƣ sau:
σBUDGET ≤ 200000 (PROJ) σBUDGET > 200000 (PROJ)

Hình 4. Một ví dụ kết quả phân đoạn ngang
1.4. Kỹ thuật phân đoạn ngang
1.4.1. Giới thiệu
Phân đoạn ngang chính là việc chia một quan hệ thành nhiều nhóm. Kết quả của quá
trình phân đoạn ngang là các quan hệ con, số lƣợng quan hệ con phụ thuộc vào điều
kiện ràng buộc của các thuộc tính. Và các bộ trong các quan hệ con là tách biệt
nhau. Phân đoạn ngang thực chất là phép chọn quan hệ thỏa mãn một biểu thức điều
kiện cho trƣớc. Có hai dạng phân đoạn ngang là:
14


 Phân đoạn ngang nguyên thủy: Là phân đoạn ngang đƣợc thực hiện trên các vị
từ của chính quan hệ đó.
 Phân đoạn ngang dẫn xuất: Là phân rã một quan hệ dựa trên các vị từ của quan
hệ khác.
1.4.2. Thông tin cần thiết của phân đoạn ngang
a. Thông tin về CSDL có liên quan tới lƣợc đồ khái niệm toàn cục
Trong mô hình quan hệ, các mối quan hệ giữa các thực thể đƣợc mô tả nhƣ là
những quan hệ. Trong mô hình quan hệ thực thể (ER), các mối liên hệ giữa các đối
tƣợng CSDL đƣợc mô tả rõ ràng. Nhìn chung mối quan hệ giữa các đối tƣợng trong
CSDL thƣờng mô tả bằng các mối quan hệ một - một, một - nhiều và mối quan hệ
nhiều - nhiều. Với mục đích cho thiết kế, đƣờng nối (Link) có hƣớng giữa các quan
hệ đƣợc sử dụng cho việc biểu diễn bởi thao tác nối bằng (Equijoin).

Ví dụ 1.3. Trong hình 1, mỗi một chức vụ (Title) có nhiều nhiều nhân viên
(Employee) giữ chức vụ đó. Đây là mối quan hệ môt - nhiều đƣợc biểu diễn bằng
một đƣờng nối có hƣớng L1 trỏ từ quan hệ PAY đến EMP. Mối quan hệ nhiều nhiều đƣợc trỏ từ các quan hệ EMP và PROJ đến quan hệ ASG. đƣợc biểu diễn
bằng hai đuờng nối L2 và L3.
Quan hệ tại điểm cuối của đƣờng nối đƣợc gọi là quan hệ chủ (quan hệ đích) và các
quan hệ tại điểm đầu đƣợc gọi là các quan hệ thành viên (quan hệ nguồn). Ánh xạ
Owner và Member từ tập đƣờng nối tới tập quan hệ. Khi cho trƣớc một đƣờng nối,
hàm sẽ trả về quan hệ đích hay quan hệ nguồn của đƣờng nối. Ví dụ trong hình 1:
owner (L1) = PAY và member (L1) = EMP
Ký hiệu lực lƣợng (cardinality) của mỗi quan hệ R là Card (R).

15


b. Thông tin về ứng dụng
Để thực hiện phân đoạn, cần phải có thông tin định tính và thông tin định lƣợng.
Thông tin định tính hƣớng dẫn cho hoạt động phân đoạn, thông tin định lƣợng chủ
yếu sử dụng trong các mô hình cấp phát.
Thông tin định tính cơ bản gồm các vị từ dùng trong câu truy vấn. Sau đây là các
định nghĩa về vị từ đơn giản (Simple Predicate) và vị từ hội sơ cấp (Minterm
Predicate) :
Cho quan hệ R (A1, A2, .. , An), trong đó Ai là thuộc tính được định nghĩa trên một
miền biến thiên Di, một vị từ đơn giản pj được định nghĩa trên R có dạng: pj: Ai θ
Value. Trong đó θ thuộc {=, <, ≠, ≤, >, ≥} và Value được chọn từ miền Ai (Value
thuộc Di). Chúng ta sử dụng Pri để biểu thị tập tất cả các vị từ đơn giản được định
nghĩa trên quan hệ Ri. Các phần tử của Pri được ký hiệu là pij.
Ví dụ 1.4. Cho quan hệ PROJ (hình 2)
PNAME = “Maintenance”, BUDGET ≤ 200000 là các vị từ đơn giản.
Trong thực tế các câu truy vấn là tổ hợp của rất nhiều vị từ đơn giản. Mỗi tổ hợp
đƣợc gọi là một vị từ hội sơ cấp. Cho tập Pri = {pi1, pi2, .... , pim} là các vị từ đơn

giản trên quan hệ Ri, tập các vị từ hội sơ cấp Mi = {mi1, mi2, ... , miz} đƣợc định
nghĩa nhƣ sau:

Vì thế mỗi vị từ đơn giản có thể xuất hiện trong vị từ hội sơ cấp dƣới dạng tự nhiên
hoặc dạng phủ định của nó. Phủ định của một vị từ sẽ có thể:
 Attribute = Value, phủ định là Attribute ≠ Value
 Attribute ≤ Value, phủ định là Attribute > Value

16


 Cận_dƣới ≤ Attribute_1, phủ định là ¬ (Cận_dƣới ≤ Attribute_1)
 Attribute_1 ≤ Cận_trên, phủ định là ¬ (Attribute_1 ≤ Cận_trên)
 Cận_dƣới ≤ Attribute_1 ≤ Cận_trên, phủ định là ¬(Cận_dƣới ≤
Attribute_1 ≤ Cận_trên)
Ví dụ 1.5: Xét một số vị từ đơn giản có thể định nghĩa đƣợc trên quan hệ PAY (hình
2).
 p1: TITLE = “Elect. Eng”
 p2: TITLE = “Syst. Anal”
 p3: TITLE = “Mech. Eng”
 p4: TITLE = “Programmer”
 p5: SAL ≤ 30000
 p6: SAL > 30000
Các vị từ hội sơ cấp đƣợc định nghĩa dựa trên các vị từ đơn giản:
 m1: TITLE = “Elect. Eng” ^ SAL ≤ 30000
 m2: TITLE = “Elect. Eng” ^ SAL > 30000
 m3: ¬ (TITLE = “Elect. Eng”) ^ SAL ≤ 30000
 m4: ¬ (TITLE = “Elect. Eng”) ^ SAL > 30000
 m5: TITLE = “Programmer” ^ SAL ≤ 30000
 m6: TITLE = “Programmer” ^ SAL > 30000

Thông tin số lƣợng về ứng dụng cần phải có hai tập dữ liệu:
 Độ tuyển hội sơ cấp (Minterm Selectivity) : số các bộ của quan hệ sẽ đƣợc
chọn theo vị từ hội sơ cấp cho trƣớc, ký hiệu chọn của hội sơ cấp mi là
sel(mi). Ví dụ, không có bộ nào đƣợc chọn trong PAY thoả mãn vị từ hội sơ
cấp m1. Có 1 bộ thoả m2.
17


 Tần số ứng dụng ngƣời dùng truy nhập dữ liệu. Nếu Q = {q1, q2, …, qk} là tập
truy vấn, ký hiệu acc(qi) là tần số truy nhập của truy vấn qi trong một khoảng
thời gian đã cho.
 Tần số truy nhập hội sơ cấp là tần số truy nhập của hội sơ cấp mi, ký hiệu là
acc(mi).
1.4.3. Phân đoạn ngang cơ sở
Phân đoạn ngang cơ sở đƣợc định nghĩa bằng phép chọn trên quan hệ đích của lƣợc
đồ CSDL. Cho quan hệ R, các đoạn ngang Ri=σFi(R), i=1..n
Trong đó Fi là biểu thức đại số quan hệ. Nếu Fi có dạng chuẩn hội, thì nó là vị từ hội
sơ cấp (mi).
Ví dụ 1.6: Xét quan hệ PROJ (hình 2)
F1 = {BUDGET≤200000} và F2 = {BUDGET >200000}
Khi đó quan hệ PROJ đƣợc phân rã thành các đoạn ngang PROJ1 và PROJ2 nhƣ
sau: PROJ1 = σBUDGET≤200000 (PROJ) PROJ2 = σBUDGET>200000 (PROJ)
Giả sử tập các biểu thức đại số quan hệ:
 F1: = {BUDGET≤200000}
 F2: = { 200000 < BUDGET ≤ 400000}
 F3: = { 400000 < BUDGET ≤ 600000}
 F4: = { 600000 < BUDGET}
Khi đó quan hệ PROJ đƣợc phân rã thành các đoạn ngang nhƣ sau:
 PROJ1 = σ BUDGET≤200000 (PROJ)
 PROJ2 = σ 200000 < BUDGET ≤ 400000 (PROJ)

 PROJ3 = σ 400000 < BUDGET ≤ 600000 (PROJ)
 PROJ4 = σ 600000 < BUDGET (PROJ)
18


Ví dụ 1.7: Xét quan hệ PROJ (hình 2), các đoạn ngang sau đây đƣợc định nghĩa dựa
vào vị trí các dự án. Các đoạn nhƣ sau:
 PROJ1 = σLOC=”Montreal” (PROJ)
 PROJ2 = σLOC=”New York” (PROJ)
 PROJ3 = σLOC=”Paris” (PROJ)

Hình 5. Phân đoạn ngang cơ sở quan hệ PROJ
Phân đoạn ngang Ri của quan hệ R gồm tất cả các bộ của R thoả một vị từ hội sơ
cấp mi. Vì vậy, cho một tập M các vị từ hội sơ cấp, số lƣợng phân đoạn ngang của
quan hệ R bằng số lƣợng các vị từ hội sơ cấp. Tập các đoạn ngang đƣợc gọi là tập
các đoạn hội sơ cấp (Minterm Fragment). Định nghĩa phân đoạn ngang phụ thuộc
vào vị từ hội sơ cấp, vì vậy, cần phải xác định các vị từ đơn giản tạo ra vị từ hội sơ
cấp.

19


Thuật toán phân đoạn ngang cơ sở
Thuật toán 1.1. PHORIZONTAL
Input: R là quan hệ cần phân đoạn ngang cơ sở.
Pr là tập các vị từ đơn giản (đầy đủ và cực tiểu)
Output: M là tập các vị từ hội sơ cấp
Begin
Xác định tập M các vị từ hội sơ cấp
Xác định tập I các phép kéo theo giữa các pi∈ Pr

For mỗi mi∈ M do
If mi mâu thuẫn với I then
M ← M - mi
End_if
End_for
End. {PHORIZONTAL}

Ví dụ 1.10. Giả sử chỉ có một ứng dụng kiểm tra thông tin lƣơng và xác định số
lƣơng sẽ tăng trên quan hệ PAY (hình 2). Giả sử có hai vị trí, một vị trí xử lý các bộ
có lƣơng thấp hơn hoặc bằng 30000$ và vị trí còn lại xử lý các bộ có lƣơng cao hơn
30000$. Câu truy vấn sẽ thực hiện trên cả hai vị trí. Tập vị từ đơn giản sử dụng để
phân hoạch quan hệ PAY là:
 p1: SAL ≤ 30000
 p2: SAL > 30000
Tập vị từ đơn giản đầy đủ và cực tiểu là Pr = {p1}. Nhƣ vậy, các vị từ hội sơ
cấp sau đây là các phần tử của M:
m1: (SAL ≤ 30000)
m2: ¬ (SAL ≤ 30000) = SAL > 30000
Khi đó, hai đoạn Fs = {PAY1, PAY2} theo M là:

20


Hình 6. Phân đoạn ngang cho quan hệ PAY
Giả sử có hai ứng dụng trên quan hệ PROJ. Ứng dụng thứ nhất xác định tên các dự
án và ngân sách của chúng trên ba vị trí.
SELECT PNAME, BUDGET FROM PROJ WHERE LOC = Value
Ứng dụng này, các vị từ đơn giản có thể đƣợc sử dụng là:
p1: LOC = “Montreal”
p2: LOC = “New York”

p3: LOC = “Paris”
Ứng dụng thứ hai liên quan đến các dự án có ngân sách nhỏ hơn hoặc bằng
200000$ đƣợc quản lý tại một vị trí và các dự án có ngân sách lớn hơn 200000 đƣợc
quản lý tại vị trí thứ hai. Vì vậy, các vị từ đơn giản đƣợc sử dụng để phân đoạn ứng
dụng thứ hai là:
p4: BUDGET ≤ 200000
p5: BUDGET > 200000
Tập Pr = {p1, p2, p3, p4, p5} là đầy đủ và cực tiểu. Có thể định nghĩa sáu vị từ
hội sơ cấp tạo ra M dựa trên Pr nhƣ sau:
m1: (LOC=“Montreal”) ∧ (BUDGET≤20000)
m2: (LOC=“Montreal”) ∧ (BUDGET>20000)
m3: (LOC=“New York”) ∧ (BUDGET≤20000)
m4: (LOC=“New York”) ∧ (BUDGET>20000)
21


m5: (LOC=“Paris”) ∧ (BUDGET≤20000)
m6: (LOC=“Paris”) ∧ (BUDGET>20000)
Kết quả phân đoạn ngang cơ sở PROJ tạo ra sáu đoạn FPROJ = {PROJ1,
PROJ2, PROJ3, PROJ4, PROJ5, PROJ6} theo các vị từ hội sơ cấp M. Các đoạn
PROJ2, PROJ5 rỗng.

Hình 7. Phân đoạn ngang quan hệ PROJ
1.4.4. Phân đoạn ngang dẫn xuất
Phân đoạn ngang dẫn xuất dựa trên các quan hệ thành viên của một đƣờng nối theo
phép toán chọn trên quan hệ chủ. Mục tiêu của phân đoạn ngang dẫn xuất là phân
chia các quan hệ thành viên thành các đoạn của quan hệ chủ đƣợc định nghĩa trên
các thuộc tính của quan hệ thành viên. Vì vậy liên kết giữa quan hệ chủ và quan hệ
thành viên đƣợc định nghĩa nhƣ là một nối bằng (Equi-join) và kết nối bằng có thể
đƣợc cài đặt nối nửa (Semi-join).

Cho một đƣờng nối L trong đó, Owner (L) = S và Member (L) = R. Phân đoạn
ngang dẫn xuất của R đƣợc định nghĩa nhƣ sau:
Ri = R Si 1 ≤ i ≤ k, trong đó, k là số đoạn
Si = σ Fi (S), Fi là biểu thức định nghĩa đoạn ngang nguyên thuỷ Si.
22


Ví dụ 1.11. Cho Owner (L) = PAY và Member (L) = EMP (bảng 2). Chia nhóm
các kỹ sƣ (Engineer) thành hai nhóm theo lƣơng SAL≤30000 và SAL>30000.
PAY1 = σSAL≤30000 (PAY)
PAY2 = σSAL>30000 (PAY)
Hai đoạn EMP1 và EMP2 đƣợc định nghĩa nhƣ sau:
EMP1 = EMP
EMP2 = EMP

PAY1
PAY2

Hình 8. Phân đoạn ngang dẫn xuất quan hệ EMP
Trong một số trƣờng hợp, nhƣ ví dụ 1.11 ở trên, mỗi một đoạn chỉ có một đƣờng
liên kết đến hoặc đi. Đồ thị có cấu trúc nhƣ vậy, đƣợc gọi là đồ thị đơn giản. Ƣu
điểm của thiết kế loại này là mối liên kết giữa các đoạn đơn giản. Quan hệ thành
viên và quan hệ chủ của đƣờng kết nối có thể cấp phát cho một vị trí và các nối giữa
các cặp đoạn khác nhau có thể tiến hành độc lập và song song với nhau. Ngoài việc
thực hiện đƣợc nhiều câu vấn tin tại nhiều vị trí khác nhau, còn có thể thực hiện
song song một câu vấn tin với thời gian đáp ứng và lƣu lƣợng của hệ thống tối ƣu
hơn. Ví dụ giữa các đoạn EMP và PAY. Trong những trƣờng hợp này, thuật toán
phân đoạn hoàn toàn tầm thƣờng.
Trong một số trƣờng hợp khác, có nhiều hơn hai liên kết đến một quan hệ R. Khi đó
ngƣời ta thƣờng chọn một thiết kế tạo ra một đồ thị nối phân hoạch (Partitioned Join

Graph). Một đồ thị phân hoạch có thể chứa hai hoặc nhiều đồ thị con và không có
đƣờng kết nối giữa chúng. Các đồ thị nhƣ vậy thƣờng có thể cấp phát, nhƣng rất
khó phân tán để thực hiện song song. Trong hình 1 có hai đƣờng nối đến quan hệ
23


ASG. Nhƣ vậy sẽ có nhiều cách phân đoạn ngang dẫn xuất quan hệ R. Việc quyết
định chọn phân đoạn nào tối ƣu hơn cần dựa trên hai tiêu chuẩn sau:
 Phân đoạn có đặc tính kết nối tốt hơn
 Phân đoạn đƣợc sử dụng cho nhiều ứng dụng hơn

Hình 9. Đồ thị đơn giản nối giữa các đoạn
Ví dụ 1.12. Trong hình 1 ta có:
Owner (L1) = PROJ và Member (L1) = ASG.
Owner (L2) = EMP và Member (L2) = ASG.
Thực hiện phân đoạn dẫn xuất của ASG ứng PROJ và EMP nhƣ sau: Xét quan
hệ ASG có hai ứng dụng trên nó:

24


Hình 10. Phân đoạn dẫn xuất của ASG ứng với PROJ
Ứng dụng 1: Danh sách các kỹ sƣ làm việc tại một vị trí nào đó. Ứng dụng này thực
hiện trên ba trạm và truy xuất thông tin về các kỹ sƣ làm việc trong các dự án tại
chỗ với xác suất cao hơn các kỹ sƣ làm việc trong các dự án trên các vị trí khác.
Phân đoạn ASG theo các đoạn PROJ1, PROJ3, PROJ4 và PROJ6 nhƣ sau:
PROJ1 = σLOC=“Montreal” ∧ BUDGET≤20000 (PROJ)
PROJ3 = σLOC=“New York” ∧ BUDGET≤20000 (PROJ)
PROJ4 = σLOC=“New York” ∧ BUDGET>20000 (PROJ)
PROJ6 = σLOC=“Paris” ∧ BUDGET>20000 (PROJ)

Phân đoạn dẫn xuất của ASG theo {PROJ1, PROJ3, PROJ4, PROJ6} có thể đƣợc
định nghĩa nhƣ sau:
ASG1 = ASG

PROJ1

ASG2 = ASG

PROJ3

ASG3 = ASG

PROJ4

ASG4 = ASG

PROJ6

25


×