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

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

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.53 MB, 81 trang )

...

ĐẠI HỌC THÁI NGUYÊN
TRƢỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN & TRUYỀN THƠNG
-------------------------------------------------

Nguyễn Anh Dũng

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

Luận văn thạc sĩ khoa học máy tính

Thái Nguyên - 2015
Số hóa bởi Trung tâm Học liệu - ĐHTN

/>

ĐẠI HỌC THÁI NGUYÊN
TRƢỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN & TRUYỀN THƠNG
-------------------------------------------------

Nguyễn Anh Dũng

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
Chuyên ngành: Khoa học máy tính
Mã số: 60 48 01 01

LUẬN VĂN THẠC SỸ KHOA HỌC MÁY TÍNH


GV hƣớng dẫn: PGS. NCVC. TS Lê Huy Thập

Thái Nguyên - 2015
Số hóa bởi Trung tâm Học liệu - ĐHTN

/>

i
LỜI CAM ĐOAN

Tơi xin cam đoan đây là cơng trình nghiên cứu của tôi, đƣợc xây dựng từ
những số liệu và kết quả thực tiễn khi tôi học tập tại trƣờng Đại học Công
nghệ thông tin và Truyền thông Thái Nguyên và ứng dụng dựa trên số liệu
của UBND huyện Đan Phƣợng, chƣa từng đƣợc công bố hay xuất bản trong
bất cứ cơng trình nào khác.
Thái Ngun, tháng 10 năm 2015
Tác giả

Nguyễn Anh Dũng

Số hóa bởi Trung tâm Học liệu - ĐHTN

/>

ii
LỜI CẢM ƠN

Trƣớc tiên tôi xin đƣợc cảm ơn thầy PGS. NCVC. TS. Lê Huy Thập,
ngƣời trực tiếp giảng dạy và là ngƣời hƣớng dẫn tôi thực hiện luận văn này.
Tơi cũng xin bày tỏ lịng biết ơn đến các thầy, cô giáo Viện Công nghệ thông

tin và Khoa Công nghệ thông tin - Đại học Thái Nguyên đã tận tình giảng dạy
và tạo điều kiện thuận lợi cho tơi trong suốt q trình học tập .
Tơi xin cảm ơn lãnh đạo Phịng Văn hóa và Thơng tin huyện Đan
Phƣợng, các anh chị đồng nghiệp đã tạo điều kiện cho tơi tham gia và hồn
thành khóa học. Tơi cũng xin cảm ơn các bạn của tôi, những ngƣời luôn bên
cạnh động viên, giúp đỡ và đóng góp nhiều ý kiến thiết thực trong quá trình
học tập và thực hiện luận văn.
Cuối cùng tôi chân thành cảm ơn các thành viên trong gia đình tơi, đã ln
hết mình u thƣơng, dìu dắt tôi trong công việc và cuộc sống.
Thái Nguyên, tháng 10 năm 2015
Sinh viên thực hiện

Nguyễn Anh Dũng

Số hóa bởi Trung tâm Học liệu - ĐHTN

/>

iii
MỤC LỤC
LỜI CAM ĐOAN ...................................................................................................... i
LỜI CẢM ƠN ............................................................................................................ ii
MỤC LỤC ................................................................................................................. iii
DANH MỤC BẢNG BIỂU ........................................................................................v
DANH MỤC HÌNH ................................................................................................. vii
DANH MỤC CÁC CHỮ VIẾT TẮT ..................................................................... viii
BẢNG DANH MỤC CÁC KÍ HIỆU ........................................................................ ix
LỜI NĨI ĐẦU ............................................................................................................1
CHƢƠNG 1: CƠ SỞ LÝ THUYẾT ........................................................................3
1.1. Logic.....................................................................................................................3


1.1.1. Mệnh đề và các phép toán mệnh đề ........................................................ 3
1.1.2. Các phép toán trên mệnh đề .................................................................... 3
1.1.3. Các luật logic........................................................................................... 6
1.2. Cơ sở dữ liệu phân tán .........................................................................................9

1.2.1. Phân mảnh ngang .................................................................................. 12
1.2.2. Phân mảnh dọc ...................................................................................... 16
1.2.3. Phân mảnh hỗn hợp ............................................................................... 17
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 .................18
2.1. Miền giá trị thuộc tính và khái niệm giá trị lặp của thuộc tính ..........................18

2.1.2. Các giá trị lặp trong miền giá trị của thuộc tính ................................... 18
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 ...................21

2.2.1. Thuật tốn phân mảnh dọc .................................................................... 21
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. ................................................................ 42
2.2.3. Thuật toán phân mảnh hỗn hợp theo giá tri lặp .................................... 48
Số hóa bởi Trung tâm Học liệu - ĐHTN

/>

iv
2.2.4. Thuật tốn tính size của mảnh............................................................... 50
2.3. Gắn nhãn cho mảnh hỗn hợp……………………………………....……51
2.4. Kết luận chƣơng .................................................................................................51
CHƢƠNG 3: ỨNG DỤNG QUẢN LÝ VẤN ĐỀ KINH DOANH TẠI HUYỆN
ĐAN PHƢỢNG .......................................................................................................52

3.1. Thiết kế cơ sở dữ liệu quan hệ kinh doanh tại huyện Đan Phƣợng ...................52
3.2. Mệnh đề phân mảnh các giá trị lặp lại của các thuộc tính theo các tiêu chí địa
điểm, hộ kinh doanh, loại hình kinh doanh, … .........................................................55
3.3. Gộp nhóm các giá trị lặp của các thuộc tính trong các mảnh ngang .................64
3.4. Kết luận chƣơng .................................................................................................67
KẾT LUẬN ...............................................................................................................68
HƢỚNG PHÁT TRIỂN CỦA ĐỀ TÀI ....................................................................69
TÀI LIỆU THAM KHẢO .........................................................................................70

Số hóa bởi Trung tâm Học liệu - ĐHTN

/>

v
DANH MỤC BẢNG BIỂU
Bảng 1.1: Bảng tổng hợp giá trị chân trị của các phép toán cơ bản ............................6
Bảng 1.2: Bảng quan hệ PROJ ..................................................................................10
Bảng 1.3: Quan hệ đƣợc phân mảnh dọc PROJ1 ......................................................11
Bảng 1.4: Quan hệ đƣợc phân mảnh dọc PROJ2 ......................................................11
Bảng 1.5: Quan hệ đƣợc phân mảnh ngang với BUGGET ≤ 200 ............................11
Bảng 1.6: Quan hệ đƣợc phân mảnh ngang với BUGGET > 200 ............................12
Bảng 2.1. Quan hệ PhanNhiem .................................................................................19
Bảng 2.1.1. Miền giá trị khóa ....................................................................................19
Bảng 2.1.2. Giá trị lặp ChucVu: Giám đốc ...............................................................20
Bảng 2.1.3. Giá trị lặp ChucVu: Phân tích và thiết kế ..............................................20
Bảng 2.1. 4. Giá trị lặp ChucVu: Kỹ sƣ ....................................................................20
Bảng 2.1.5. Giá trị lặp ThoiGianLV: 24 ...................................................................20
Bảng 2.1.6 Giá trị lặp ThoiGianLV: 48 ...................................................................20
Bảng 2.1.7. Giá trị lặp (ChucVu , ThoiGianLV) ...................................................21
Bảng 2.2.1. Mảnh dọc theo ThoiGianLV ..................................................................21

Bảng 2.2.2. Mảnh dọc theo ChucVu .........................................................................22
Bảng 2.2.3. Mảnh dọc theo ThoiGianLV ..................................................................23
Bảng 2.2.4. Mảnh dọc theo ChucVu .........................................................................24
Bảng 2.2.5. Toàn quan hệ PhanNhiem......................................................................24
Bảng 2.2.5’. Toàn quan hệ PhanNhiem ....................................................................43
Bảng 2.2.6. Quan hệ PhanNhiem ..............................................................................45
Bảng 2.2.7. Các mảnh ngang M21 .............................................................................47
Bảng 2.2.8. Quan hệ PhanNhiem ..............................................................................47
Bảng 2.2.9. Mảnh ngang M11 ....................................................................................47
Bảng 2.2.10. Quan hệ PhanNhiem ............................................................................48
Bảng 2.2.11. Mảnh ngang M12 ..................................................................................48
Bảng 3.1: Dữ liệu của bảng Dang_Ky_KD ..............................................................52
Bảng 3.2: Bảng kết quả của mảnh H1 .......................................................................56
Số hóa bởi Trung tâm Học liệu - ĐHTN

/>

vi
Bảng 3.3: Bảng kết quả của mảnh H2 .......................................................................57
Bảng 3.4: Bảng kết quả của mảnh H3 .......................................................................58
Bảng 3.5: Bảng kết quả của mảnh H4 .......................................................................59
Bảng 3.6: Bảng kết quả của mảnh H5 .......................................................................61
Bảng 3.7: Bảng kết quả của mảnh H6 .......................................................................62
Bảng 3.8: Bảng kết quả của mảnh H7 .......................................................................63

Số hóa bởi Trung tâm Học liệu - ĐHTN

/>

vii

DANH MỤC HÌNH

Hình 1.1:Mơ tả mối quan hệ giữa các quan hệ bởi các đƣờng nối…………..14
Hình 1.2: Phân đoạn hỗn hợp …………………………………………….....17
Hình 2.1: Ma trận mẫu về giá trị sử dụng thuộc tính………………………..26
Hình 2.2: Ma trận liên đới thuộc tính…………………………………….....29
Hình 2.3: Tính tốn ma trận liên đới CA…………………….……………...35
Hình 2.4: Định vị một điểm tách………………………….………………...37
Hình 3.1: Giao diện ban đầu của chƣơng trình ……………………………...64
Hình 3.2: Giao diện sau quá trình chọn button “chonDB” ……………….....65
Hình 3.3: Giao diện sau khi chọn lựa xong bảng quan hệ …………………..65
Hình 3.4: Giao diện quá trình chọn thuộc tính lặp ……………………….....66
Hình 3.5: Kết quả q trình phân mảnh ngang ……………………………...67
Hình 3.6: Giao diện dữ liệu của một mảnh ngang …………………………..67

Số hóa bởi Trung tâm Học liệu - ĐHTN

/>

viii
DANH MỤC CÁC CHỮ VIẾT TẮT

CSDL

Cở sở dữ liệu

CSDLPT

Cở sở dữ liệu phân tán


SQL

Structured Query Language (Ngôn ngữ truy vấn có cấu trúc)

Số hóa bởi Trung tâm Học liệu - ĐHTN

/>

ix
BẢNG DANH MỤC CÁC KÍ HIỆU

Π

Phép chiếu trong CSDL

*

Kết nối tự nhiên trong CSDL

Σ

Phép chọn trong CSDL

Số hóa bởi Trung tâm Học liệu - ĐHTN

/>

1
LỜI NĨI ĐẦU


1. Đặt vấn đề
Việc tiết kiệm khơng gian lƣu trữ thông tin, rút ngắn thời gian truy
nhập dữ liệu và giảm chi phí xử lý thơng tin, dữ liệu là mục đích của ngƣời
lập trình và ngƣời sử dụng.
Đề tài luận văn giải quyết vấn đề trên bằng cách đƣa ra các thuật toán
để tách các bản ghi và các thuộc tính có các giá trị lặp lại với kích cỡ đủ lớn.
Việc tách ở đây thực sự là việc phân mảnh “hỗn hợp” các quan hệ trong cơ sở
dữ liệu phân tán. Mảnh có các giá trị lặp lại với kích cỡ đủ lớn đƣợc gán bí
danh, phần cịn lại cũng chính là các mảnh. Khi cần cập nhật, chỉ cần tái thiết
lại mảnh ban đầu từ các mảnh đã phân rã và tham chiếu đến bí danh đã đặt để
lấy các giá trị lặp.
Các mảnh có giá trị lặp lại với kích cỡ đủ lớn sẽ làm giảm chi phí khi
truy cập/truy xuất, giảm chi phí lƣu trữ, tăng tốc độ xử lý dữ liệu và giảm chi
phí truyền thơng.
2. Đối tƣợng và phạm vi nghiên cứu
Cơ sở dữ liệu phân tán, các loại mảnh và phƣơng pháp phân mảnh
trong CSDL phân tán.
3. Hƣớng nghiên cứu của đề tài
Phân mảnh các giá trị lặp của các thuộc tính bằng phƣơng pháp phân
mảnh hỗn hợp và tìm ra các mảnh có hỗn hợp các kích thƣớc đủ lớn.
Gán nhãn cho các mảnh hỗn hợp có kích thƣớc thỏa mãn các điều kiện
cho trƣớc
4. Những nội dung nghiên cứu chính
Luận văn đƣợc trình bày trong 3 chƣơng, có phần mở đầu, phần kết
luận, phần mục lục, phần tài liệu tham khảo. Các nội dung cơ bản của luận
văn đƣợc trình bày theo cấu trúc nhƣ sau:
Số hóa bởi Trung tâm Học liệu - ĐHTN

/>


2
5. Phƣơng pháp nghiên cứu
Nghiên cứu kỹ các kiến thức, chủ đề có liên quan đến đề tài.
Nắm vững các các thuật toán.
6. Ý nghĩa khoa học của đề tài
Luận văn giúp cho việc tìm mảnh các dữ liệu trùng nhau, phân mảnh và
gán nhãn cho chúng nhằm tăng tốc độ truy nhập, giảm chi phí lƣu trữ và
truyền trên mạng truyền dẫn.
- Chƣơng 1: Cơ sở lý thuyết.
- Chƣơng 2: Gộp nhóm các giá trị lặp của các thuộc tính trong cơ sở dữ liệu
phân tán.
- Chƣơng 3: Ứng dụng quản lý vấn đề kinh doanh tại huyện Đan Phƣợng

Số hóa bởi Trung tâm Học liệu - ĐHTN

/>

3
CHƢƠNG 1: CƠ SỞ LÝ THUYẾT

1.1. Logic
1.1.1. Mệnh đề và các phép toán mệnh đề
Chúng ta chỉ xét đến các mệnh đề tốn học, có nghĩa là một phát biểu
nào đó chỉ có hai giá trị: đúng hoặc sai, giá trị đúng (ký hiệu là 1 hoặc
True,…), sai (ký hiệu là 0 hoặc False). Giá trị của mệnh đề đƣợc gọi là chân
trị của mệnh đề đó.
Ví dụ 1.1: Các phát biểu sau đây là các mệnh đề.
1/ p = “2 là một số nguyên tố” là mệnh đề đúng nên chân trị của p là 1
2/ q = “5 là một số chẵn” là mệnh đề sai nên chân trị của q là 0
Trong việc khảo sát các mệnh đề, ngƣời ta còn phân ra làm hai loại là:

mệnh đề sơ cấp và mệnh đề phức hợp.
 Mệnh đề sơ cấp (mệnh đề đơn giản). Mệnh đề sơ cấp là các "ngun
tử" theo nghĩa là nó khơng thể đƣợc phân tích thành mệnh đề nhỏ hơn.
Chẳng hạn ví dụ 1.1
 Mệnh đề phức hợp. Mệnh đề phức hợp là mệnh đề đƣợc tạo thành từ một
hay nhiều mệnh đề khác bằng cách sử dụng các liên kết logic nhƣ từ
"NOT" dùng trong việc phủ định một mệnh đề, các từ nối: "AND", "OR",
"", v.v....
Ví dụ 1.2: Mệnh đề sau đây là mệnh đề phức hợp.
E = “2 là một số nguyên tố” AND “5 là một số chẵn”
1.1.2. Các phép toán trên mệnh đề
Ðiều mà chúng ta quan tâm ở đây khơng phải là xác định tính đúng hoặc
sai của một mệnh đề sơ cấp. Bởi vì những mệnh đề này thƣờng là những phát
biểu nói lên một ý tƣởng nào đó trong một phạm vi chun mơn nhất định.
Vấn đề mà ta quan tâm ở đây là làm thế nào để tính tốn chân trị của các
mệnh đề phức hợp theo các mệnh đề sơ cấp cấu thành mệnh đề phức hợp đó
Số hóa bởi Trung tâm Học liệu - ĐHTN

/>

4
nhờ vào các phép toán logic.
Các phép toán logic đƣợc định nghĩa bằng bảng chân trị (truth table).
Bảng chân trị chỉ ra chân trị của mệnh đề phức hợp theo từng trƣờng hợp của
các chân trị của các mệnh đề sơ cấp tạo thành mệnh đề phức hợp. Bảng chân
trị của các phép toán logic tất nhiên là phản ánh ngữ nghĩa tự nhiên của các từ
liên kết tƣơng ứng.
Bảng chân trị không chỉ dùng để kê ra sự liên hệ chân trị giữa mệnh đề
phức hợp với chân trị của các mệnh đề sơ cấp cấu thành nó, mà bảng chân trị
cịn đƣợc dùng với mục đích rộng hơn: liệt kê sự liên hệ chân trị giữa các

mệnh với các mệnh đề đơn giản hơn cấu thành chúng.
a) Phép phủ định
Cho p là một mệnh đề, chúng ta dùng ký hiệu p để chỉ mệnh đề phủ
định của mệnh đề p.
Ví dụ 1.3 : Nếu ta ký hiệu p là mệnh đề "5 < 3" thì p là ký hiệu cho mệnh
đề "5 ≥ 3". Trong trƣờng hợp này p sai, p đúng. Ta có thể viết p = 0, p = 1.
b) Phép hội
Phép "hội", ký hiệu là ^ , cho p và q là hai mệnh đề, viết là p  q là phép
toán chỉ chân trị đúng ki và chỉ khi cả p và q đều đúng.
Ví dụ 1.4: Cho các mệnh đề
p = "5 > -7",
q = "2721 là một số nguyên tố",
r = "một tam giác đều cũng là một tam giác cân".
Khi đó ta có :

p  q = 0 ( p  q sai, tức là có chân trị bằng 0, vì p = 1 và q = 0),
p  r = 1 ( p  r đúng, tức là có chân trị bằng 1, vì p = 1 và r = 1).
c) Phép tuyển
Cho p và q là hai mệnh đề. Ta ký hiệu mệnh đề "p tuyển với q" là p  q .
Số hóa bởi Trung tâm Học liệu - ĐHTN

/>

5
Chân trị của mệnh đề này chỉ sai khi và chỉ khi cả p và q đều sai.
Ví dụ 1.5: Cho các mệnh đề
p = "5 > 7",
q = "2721 là một số nguyên tố",
r = "một tam giác đều cũng là một tam giác cân".
Khi đó ta có :

p  q = 0,

p  r = 1.

d) Phép kéo theo
Phép kéo theo, ký hiệu bởi → , đƣợc đƣa ra để mơ hình cho loại phát
biểu điều kiện có dạng : "nếu . . . thì . . .". Cho p và q là 2 mệnh đề, ta sẽ viết
p → q để diễn đạt phát biểu "nếu p thì q". Kết quả phép tốn kéo theo → đƣợc
cho trong bảng 1.1.
Mệnh đề p → q, đƣợc đọc là "nếu p thì q.
e) Phép kéo theo hai chiều
Phép kéo theo 2 chiều hay phép tƣơng đƣơng, ký hiệu bởi ↔, đƣợc đƣa
ra để mơ hình cho loại phát biểu điều kiện hai chiều có dạng : ". . . nếu và chỉ
nếu . . .". Cho p và q là 2 mệnh đề, ta viết p ↔q để diễn đạt phát biểu "p nếu
và chỉ nếu q". Phép toán tƣơng đƣơng ↔ đƣợc định nghĩa trong bảng tổng
hợp các giá trị chân trị 1.1 bên dƣới.
Mệnh đề p ↔ q, đƣợc đọc là "p nếu và chỉ nếu q", còn đƣợc phát biểu
dƣới các dạng khác sau đây:
"p khi và chỉ khi q".
"p là điều kiện cần và đủ cho q".
Mệnh đề p ↔q có chân trị đúng (=1) trong các trƣờng hợp p và q có
cùng chân trị.

Số hóa bởi Trung tâm Học liệu - ĐHTN

/>

6
Bảng 1.1: Bảng tổng hợp giá trị chân trị của các phép toán cơ bản
P


q

p

pq

0

0

1

0

1

1
1

pq

pq

pq

0

0


1

1

1

0

1

1

0

0

0

0

1

0

0

1

0


1

1

1

1

f) Độ ƣu tiên của các toán tử logic
Tƣơng tự nhƣ đối với các phép toán số học, để tránh phải dùng nhiều dấu
ngoặc trong các biểu thức logic, ta đƣa ra một thứ tự ƣu tiên trong việc tính
tốn. Ở trên ta có 5 tốn tử logic:

 (không) ,

 (và),  (hay), →(kéo theo),

↔ (tƣơng đƣơng)

 ƣu tiên mức 1 (cao nhất)
 ,  ƣu tiên mức 2 (thấp hơn)
→, ↔ ƣu tiên mức 3 (thấp nhất)
trong đó, các tốn tử liệt kê trên cùng dịng có cùng độ ƣu tiên.
Ví dụ 1.6:
1. p  q có nghĩa là ((p)  q) .
2. p  q  r  s có nghĩa là (((p)  q)  (r  s)) .
3. p  q  r là nhập nhằng. Cần phải dùng các dấu ngoặc để chỉ rõ
nghĩa.
1.1.3. Các luật logic
Các luật logic là cơ sở để ta thực hiện các biến đổi trên một biểu thức logic

để có đƣợc một biểu thức logic mới tƣơng đƣơng logic với biểu thức logic có
trƣớc. Mỗi biểu thức logic cho ta một sự khẳng định về sự tƣơng đƣơng của 2
biểu thức logic. Ta sẽ sử dụng các qui tắc thay thế và các luật logic đã biết để
thực hiện các phép biến đổi tƣơng đƣơng trên các biêu thức logic.
Dƣới đây, chúng ta sẽ liệt kê ra một số luật logic thƣờng đƣợc sử dụng
Số hóa bởi Trung tâm Học liệu - ĐHTN

/>

7
trong lập luận và chứng minh. Các luật nầy có thể đƣợc suy ra trực tiếp từ các
bảng chân trị của các biểu thức logic.
a) Các luật về phép phủ định
 p  p
 1  0
 0  1
b) Luật giao hoán


pq  q p

 pq  q p
c) Luật kết hợp


p  ( q  r )  ( q  p)  r

 p  ( q  r )  ( q  p)  r
d) Luật phân bố



p  (q  r )  ( p  q )  ( p  r )

 p  (q  r )  ( p  q )  ( p  r )
e) Luật De Morgan
 ( p  q)  p  p
 ( p  q)  p  p
f) Luật về phần tử bù


p  p  1

 p  p  0
g) Luật kéo theo
 p  q  p  q
h) Luật tƣơng đƣơng
 p  q  ( p  q )  (q  p )
i) Các luật đơn giản của phép tuyển


p  p  p (tính lũy đẳng của phép tuyển)

Số hóa bởi Trung tâm Học liệu - ĐHTN

/>

8


p  1  1 (luật thống trị)


 p  0  0 (luật trung hòa)


p  ( p  q)  p (luật hấp thụ)

j) Các luật đơn giản của phép hội


p  p  p (tính lũy đẳng của phép hội)



p  1  p (luật trung hòa)



p  0  0 (Luật thống trị)

 p  ( p  q)  p (Luật hấp thụ)
Những luật trên đƣợc chọn lựa để làm cơ sở cho chúng ta thực hiện các
biến đổi logic, suy luận và chứng minh. Tất nhiên là cịn nhiều luật logic khác
mà ta khơng liệt kê ra ở đây.
Mệnh đề chuẩn hội
Dạng chuẩn tắc (chính tắc) của 1 biểu thức là biểu diễn biểu thức về
dạng đơn giản, chỉ bao gồm các phép toán phủ định, hội tuyển của các
mệnh đề.
Giả sử p1, p2, … , pn là các biến mệnh đề. Một biểu thức logic F theo các
biến mệnh đề p1, p2,… , pn đƣợc gọi là một biểu thức tuyển cơ bản (tuyển sơ
cấp) nếu nó có dạng sau:


F  q1  q2  ...qn với q j  p j hoặc q j  p j (j = 1, 2, …, n)
Ví dụ 1.7: x  y  z là một biểu thức tuyển cơ bản theo 3 biến mệnh đề
x, y, z. Biểu thức logic E(p1, p2, … , pn) theo các biến mệnh đề p1, p2, … , pn
đƣợc nói là có dạng chuẩn hội khi E có dạng:

E  E1  E2  ....  En
Trong đó mỗi biểu thức con Ei đều có dạng chính tắc tuyển theo các biến
p1, p2, … , pn.

Số hóa bởi Trung tâm Học liệu - ĐHTN

/>

9
Ví dụ 1.8: Các biểu thức sau đây có dạng chuẩn tắc hội (chính tắc hội):

E( x, y, z)  (x  y  z)  ( x  y  z)  ( x  y  z)
F ( p1 , p2 , p3 , p4 )  ( p1  p2  p3  p4 )  ( p1  p2  p3  p4 )
Định lý 1.1:
Mọi biểu thức logic E(p1, p2, … , pn) đều có thể viết dƣới dạng chính tắc
hội duy nhất, khơng kể sự sai khác về thứ tự trƣớc sau của các biểu thức tuyển
cơ bản trong phép hội). Nói một cách khác, ta có duy nhất một tập hợp các
biểu thức tuyển cơ bản {E1, E2, … , Em} sao cho biểu thức E(p1, p2, … , pn)
tƣơng đƣơng logic với biêu thức E1  E2  ...  Em . [15]
Chứng minh:
Có thể dễ dàng nhận thấy, áp dụng tập các luật trong mục 1.1.3 ta có thể
biến các biểu thức bất kỳ thành dạng tuyển của các biểu thức hội. Từ đó, ta
có điều phải chứng minh.
1.2. Cơ sở dữ liệu phân tán

CSDL phân tán (Distributed Database System – DDBS) là một tập hợp
dữ liệu có liên đới logic và đƣợc phân bố trên các nút của một mạng máy tính.
Phần lớn các hệ cơ sở dữ liệu phân tán đƣợc thiết kế theo hƣớng từ trên
xuống (Top-Down). Thiết kế phân mảnh dữ liệu là công việc đầu tiên phải
thực hiện. Mục đích của việc phân mảnh dữ liệu là tạo ra các đơn vị cấp phát
logic, sao cho chi phí để thực hiện truy vấn thơng tin là thấp nhất.
Trong thiết kế CSDL phân tán, cần thiết phải thực hiện phân mảnh dữ
liệu vì những lý do sau đây:
- Trong các hệ quản trị CSDL, các quan hệ đƣợc lƣu trữ dƣới dạng các
bảng 2 chiều. Các thao tác đối với CSDL đƣợc thực hiện trên các bảng. Tuy
nhiên trong thực tế, các ứng dụng chỉ yêu cầu thao tác trên các tập con của
các quan hệ, là khung nhìn dữ liệu của ngƣời sử dụng. Vì vậy việc xem tập
con của quan hệ là đơn vị truy xuất thông tin để phân tán dữ liệu là hợp lý.
- Việc phân rã một quan hệ thành nhiều mảnh, mỗi mảnh đƣợc xử lý nhƣ
Số hóa bởi Trung tâm Học liệu - ĐHTN

/>

10
một đơn vị dữ liệu, sẽ cho phép thực hiện nhiều giao dịch đồng thời. Đồng
thời việc phân mảnh các quan hệ cũng cho phép thực hiện song song một câu
vấn tin bằng cách chia nó thành một tập các câu vấn tin con hoạt tác trên các
mảnh. Vì thế việc phân mảnh sẽ làm tăng mức độ hoạt động đồng thời và tăng
lƣu lƣợng hoạt động của hệ thống.
Tuy nhiên khơng phải việc phân mảnh chỉ có ƣu điểm hồn tồn, mà nó
cũng thể hiện những hạn chế nhất định nhƣ:
- Nếu ứng dụng có những yêu cầu “xung đột” ngăn cản phân rã thành
các mảnh đƣợc sử dụng độc quyền.
- Những ứng dụng có các khung nhìn đƣợc định nghĩa trên nhiều mảnh
khác nhau sẽ làm giảm hiệu suất hoạt động của hệ thống, làm tăng chi phí

truy xuất dữ liệu đến các mảnh và tăng chi phí kết nối các mảnh
- Việc kiểm soát ngữ nghĩa, đặc biệt là vấn đề kiểm tra tính tồn vẹn sẽ
khó khăn hơn
Có hai kiểu phân mảnh tƣơng ứng với việc chia quan hệ theo chiều dọc và
chia quan hệ theo chiều ngang.
Trong luận văn ta sử dụng một bảng quan hệ của cơ sở dữ liệu làm ví dụ
là bảng cơ sở dữ liệu về nhân viện PROJ nhƣ sau:
Bảng 1.2: Bảng quan hệ PROJ
PNO

PNAME

BUDGET

LOG

P1

Lập trình

150

Vinh

P2

Kế tốn

135


Hà Nội

P3

Thƣ ký

250

Hà Nội

P4

Giám đốc

310

Hài Phòng

Phân mảnh 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.9:
Tách dọc quan hệ PROJ thành 2 quan hệ PROJ1 và PROJ2 nhƣ sau:
π PNO,PNAME,LOG (PROJ) và π PNO,BUDGET (PROJ)

Số hóa bởi Trung tâm Học liệu - ĐHTN

/>

11

Bảng 1.3: Quan hệ đƣợc phân mảnh dọc PROJ1
PNO

BUDGET

P1

150

P2

135

P3

250

P4

310

Bảng 1.4: Quan hệ đƣợc phân mảnh dọc PROJ2
PNO

PNAME

LOG

P1


Lập trình

Vinh

P2

Kế tốn

Hà Nội

P3

Thƣ ký

Hà Nội

P4

Giám đốc

Hài Phịng

Chú ý: Vì tái thiết các quan hệ dựa vào phép nối nên bất kỳ mảnh dọc nào
cũng có các trường khóa tham gia.
Phân mảnh ngang: Quan hệ đƣợc chia theo chiều ngang. Thực chất đây là
phép chọn trongquan 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.10: Tách ngang quan hệ PROJ thành 2 quan hệ PROJ1 và PROJ2 thoả
theo điều kiện là BUDGET ≤ 200 và BUDGET > 200 nhƣ sau:
σ BUDGET ≤ 200 (PROJ)

σ BUDGET > 200 (PROJ)
Bảng 1.5: Quan hệ đƣợc phân mảnh ngang với BUGGET ≤ 200
PNO

PNAME

BUDGET

P1

Lập trình

150

P2

Kế tốn

135

Số hóa bởi Trung tâm Học liệu - ĐHTN

/>

12
Bảng 1.6: Quan hệ đƣợc phân mảnh ngang với BUGGET > 200
PNO

PNAME


BUDGET

P3

Thƣ ký

250

P4

Giám đốc

310

Các quy tắc phân mảnh
Ta phải tuân thủ ba qui tắc khi phân mảnh cơ sở dữ liệu quan hệ.
1. Tính đầy đủ: Quan hệ R đƣợc phân rã thành các mảnh R 1, R2…Rn, thì
mỗi mục dữ liệu có trong quan hệ R sẽ đƣợc chứa trong ít nhất một mảnh R i
(i=1,..,n). Quy tắc này đảm bảo cho các mục dữ liệu trong R đƣợc ánh xạ
hồn tồn vào các mảnh và khơng bị mất. Mục dữ liệu có thể hiểu là bộ trong
phân mảnh ngang và thuộc tính trong phân mảnh dọc.
2. Tính phục hồi: Nếu một quan hệ R đƣợc phân rã thành các mảnh R1,
R2,…,Rn khi đó:
R = Ri,  Ri∈ FR . Toán tử  thay đổi tùy theo từng loại phân
mảnh. Khả năng phục hồi quan hệ từ các mảnh sẽ đảm bảo khi cần khôi phục
dữ liệu mỗi khi cần thiết. Với các kỹ thuật khác nhau thì việc khôi phục dữ
liệu cũng cần đƣợc tiến hành khác nhau
3. Tính tách biệt: Nếu quan hệ R đƣợc phân rã ngang thành các mảnh R i,
i=1,..n và mụcdữ liệu di nằm trong một mảnh Ri thì nó sẽ khơng nằm trong
mảnh Rk, (k≠j). Quy tắc này đảm bảo các mảnh phân rã rời nhau. Trong

trƣờng hợp phân mảnh dọc, khóa chính của quan hệ phải đƣợc lập lại trong tất
cả các mảnh. Vì vậy tính tách biệt trong phân mảnh dọc đƣợc hiểu khơng liên
quan gì đến khóa chính của quan hệ.
1.2.1. Phân mảnh ngang
1.2.1.1. Giới thiệu
Phân mảnh ngang chính là việc chia quan hệ thành nhiều các nhóm bộ.
Kết quả của quá trình phân mảnh 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 mảnh 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.
Thông tin về CSDL cần thiết cho phân mảnh ngang . Thông tin về CSDL
Số hóa bởi Trung tâm Học liệu - ĐHTN

/>

13
là thơng tin về lƣơ ̣c đồ khái niệm tồn cục của CSDL . Tức là chúng ta cần
biết đƣơ ̣c cách mà quan hệ con sẽ hơ ̣p lại với nhau nhƣ thế nào
. Trong mơ
hình quan hệ, các liên kết giƣ̃a các thƣ̣c thể cũng đƣơ ̣c biểu thị bằng quan hệ .
Với mục đích thiết kế phân tán , các mố i liên kết cũng đƣơ ̣c mơ hình hóa theo
kiểu mơ hình quan hệ. Theo cách này, chúng ta sẽ vẽ một đƣờng nớ i có hƣớng
từ quan hệ Parent đến quan hệ Child.
Có hai loại phƣơng pháp phân mảnh ngang là:
- Phân mảnh ngang nguyên thủy: Là phân mảnh ngang đƣợc thực hiện
trên các mệnh đề của chính quan hệ đó.
- Phân mảnh ngang dẫn xuất: Là phân rã một quan hệ dựa trên các mệnh
đề của quan hệ khác.
1.2.1.2. Thông tin cần thiết của phân mảnh ngang
Thơng tin về CSDL có liên quan tới lƣợc đồ khái niệm tồ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.11: Giả sử có một quan hệ với các bảng quan hệ nhƣ sau: PAY,
EMP, PROJ và ASG. Trong đó:
PAY: bảng quan hệ chức vụ
EMP: bảng quan hệ nhân viên
PROJ: bảng quan hệ công việc
ASG: bảng quan hệ kết hợp
Trong đó, 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 đƣờng nối L2 và L3 (hình 1.1).

Số hóa bởi Trung tâm Học liệu - ĐHTN

/>

14

Hình 1.1:Mơ tả mối quan hệ giữa các quan hệ bởi các đƣờng nối
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).
Thông tin về ứng dụng: Để thực hiện phân mảnh, 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
mảnh, 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 mệnh đề dùng trong câu truy vấn. Sau đây là các

định nghĩa về mệnh đề đơn giản và mệnh đề hội sơ cấp nhƣ sau:
Cho quan hệ R(A1, A2,..,An), trong đó Ai là thuộc tính đƣợc định nghĩa
trên một miền Di , một mệnh đề đơ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 mệnh đề đơ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.12: Cho quan hệ PROJ
PNAME = “Maintenance”
BUDGET ≤ 200000là các mệnh đề đơn giản.
Trong thực tế các câu truy vấn là tổ hợp của rất nhiều mệnh đề đơn giản.
Mỗi tổ hợp đƣợc gọi là một mệnh đề hội sơ cấp. Cho tập P ri = {pi1, pi2, ....,
Số hóa bởi Trung tâm Học liệu - ĐHTN

/>

×