Tải bản đầy đủ

Xử lý dữ liệu và bài toán cấp phát

I

ĐẠI HỌC THÁI NGUYÊN
TRƯỜNG ĐẠI HỌC CNTT VÀ TRUYỀN THÔNG

LẠI DƯƠNG QUANG

XƯ LÝ DỮ LIỆU VÀ BÀI TOÁN CẤP PHÁT

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

Thái Nguyên, tháng 6 năm 2015

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

http://www.lrc-tnu.edu.vn/


II

ĐẠI HỌC THÁI NGUYÊN

TRƯỜNG ĐẠI HỌC CNTT VÀ TRUYỀN THÔNG

LẠI DƯƠNG QUANG

XƯ LÝ DỮ LIỆU VÀ BÀI TOÁN CẤP PHÁT

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


3

LỜI CAM ĐOAN
Tôi cam đoan đây là công trình nghiên cứu do chính tôi thực hiện.
Các số liệu, kết quả nêu trong luận văn là trung thực và chưa từng được ai công
bố trong bất kỳ công trình nào khác.
Thái Nguyên, Ngày 10 tháng 4 năm 2015
Tác giả

Lại Dương Quang


4

LỜI CẢM ƠN
Trước hết em xin trân trọng gửi lời cảm ơn đến toàn thể các thầy cô giáo Trường
Đại học Công nghệ thông tin và Truyền thông Thái Nguyên đã dạy dỗ chúng em
trong suốt quá trình học tập chương trình cao học tại trường.
Đặc biệt em xin bày tỏ lòng biết ơn sâu sắc tới thầy giáo PGS. NCVC. TS Lê
Huy Thập đã quan tâm, định hướng và đưa ra những lời góp ý, chỉnh sửa quí báu
cho em trong quá trình làm luận văn tốt nghiệp
Thái Nguyên, Ngày 10 tháng 4 năm 2015

Học viên



Lại Dương Quang


5

MỞ ĐẦU
Ngày nay, công nghệ thông tin (CNTT) đã trở thành một nhân tố không thể thiếu
trong mọi lĩnh vực của đời sống xã hội. Sự bùng nổ nhu cầu xây dựng các hệ thống
thông tin, mà trước hết là các hệ thống thông tin quản lý đã thu hút sự quan tâm
của nhiều nhà khoa học. Các hệ thống cơ sở dữ liệu (CSDL) đã lần lượt xuất hiện.
Các hệ thống CSDL truyền thống được tập trung quản lý tại một trạm đơn lẻ, việc
tnh toán, xử lý và lưu trữ các tập dữ liệu trở lên đơn giản và dễ dàng.
Khi nhu cầu thu thập, lưu trữ, xử lý và trao đổi thông tin ngày càng tăng, các hệ
thống xử lý tập trung đã bộc lộ nhiều nhược điểm như: Khó khăn trong việc tăng
khả năng lưu trữ thông tin, độ sẵn sàng phục vụ của CSDL không cao khi số người
sử dụng tăng, khả năng tnh toán của các máy tnh đơn lẻ đang dần tới giới hạn vật
lý, mô hình tổ chức lưu trữ và xử lý dữ liệu không phù hợp cho các tổ chức có hoạt
động rộng lớn, đa quốc gia. Những nhược điểm này đã được khắc phục khá nhiều
trong hệ thống phân tán. Những sản phẩm của hệ thống phân tán đã xuất hiện
nhiều trên thị trường và từng bước chứng minh tính ưu việt của nó hơn hẳn các hệ
thống tập trung truyền thống.
Với nhu cầu phát triển mạnh mẽ của công tác quản lý các hệ phân tán và cơ sở
dữ liệu phân tán để giải quyết các bài toán ”quản lý” phức tạp đang tồn tại trong
các ngành kinh tế, xã hội và an ninh quốc phòng,.... Nhằm hỗ trợ cho vấn đề nêu
trên thì việc tnh toán, lập trình cấp phát và xử lý dữ liệu cũng phát triển theo. Đặc
biệt, việc phân mảnh các quan hệ trong CSDL và chuyển chúng đến các nút trên
mạng cũng như việc cập nhật thông tin (truy cập và truy xuất,...) đến các mảnh ở
các vị trí phân tán đã trở thành một chủ đề mới mẻ và được nhiều ngành khoa
học, các bộ môn chuyên ngành nghiên cứu, ứng dụng. Chính vì vậy, tôi đã lựa
chọn đề tài:
“Xử lý dữ liệu và bài toán cấp phát” để nghiên cứu thực hiện.


6

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:


7

CHƯƠNG 1: TỔNG QUAN VỀ CƠ SỞ DỮ LIỆU PHÂN TÁN VÀ BÀI TOÁN CẤP
PHÁT.
1.1. Tổng quan về CSDL phân tán.
1.2. Bài toán cấp phát.
1.3. Kết luận chương.
CHƯƠNG 2: XỬ LÝ DỮ LIỆU VÀ BÀI TOÁN CẤP PHÁT.
2.1. Thuật toán phân mảnh cơ sở dữ liệu.
2.1.1. Phân mảnh ngang.
2.1.2. Phân mảnh dọc.
2.1.3. Phân mảnh hỗn hợp.
2.2. Tính toán hàm mục tiêu và ràng buộc tại node mạng.
2.2.1. Hàm mục tiêu.
2.2.2. Ràng buộc.
2.3. Bài toán cấp phát dạng QHTT.
2.4. Kết luận chương.
CHƯƠNG 3: CÀI ĐẶT VÀ ỨNG DỤNG TẠI CÔNG TY ĐẦU TƯ VÀ THƯƠNG
MẠI AN LỘC.
3.1. Khảo sát cơ sở dữ liệu của công ty đầu tư và thương mại An Lộc và đưa
ra yêu cầu của bài toán.
3.2. Xây dựng cơ sở dữ liệu phân tán.
3.3. Cài đặt và chạy chương trình cấp phát.
3.4. Kết luận chương.
KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN CỦA ĐỀ TÀI.


VII

DANH MỤC HÌNH ẢNH
Hình 1.1: Hệ đa bộ xử lý có bộ nhớ chung ............................................................ 3
Hình 1.2: Hệ đa bộ xử lý có shared disk ................................................................ 3
Hình 1.3: Hệ đa bộ xử lý sở hữu cá nhân .............................................................. 3
Hình 1.4: CSDL được phân tán trên mạng ............................................................ 4
Hình 1.5: Phân mảnh hỗn hợp và tái thiết phân mảnh hỗn hợp ...........................
11
Hình 2.1: Phân mảnh hỗn hợp .............................................................................. 37
Hình 2.2: Truyền dữ liệu cho câu vấn tin ............................................................. 40
Hình 3.1: Giao diện ban đầu của bài toán ............................................................ 55
Hình 3.2: Giao diện sau khi tiến hành chọn số lượng máy trạm ......................... 56
Hình 3.3: Giao diện của quá trình chọn số lượng mảnh cơ sở dữ liệu ................. 57
Hình 3.4: Giao diện của quá trình chọn các mảnh cơ sở dữ liệu ......................... 58
Hình 3.5: Giao diện sau quá trình lựa chọn các mảnh cơ sở dữ liệu ................... 59
Hình 3.6: Giao diện lựa chọn các tham số từ file .txt có sẵn ............................... 60
Hình 3.7: Giao diện sau quá trình nhập các tham số ........................................... 61
Hình 3.8: Bảng kết quả của quá trình cấp phát .................................................... 62


8

DANH MỤC BẢNG BIỂU
Bảng 2.1: Quan hệ DuAn.......................................................................................... 25
Bảng 2.2: Quan hệ TraLuong ................................................................................... 26
Bảng 2.3: Mảnh dữ liệu (quan hệ) TraLuong1 .......................................................... 26
Bảng 2.4: Mảnh dữ liệu (quan hệ) TraLuong2 .......................................................... 27
Bảng 2.5: Phân hoạch ngang cho quan hệ DuAn: DuAnH1, DuAnH3, DuAnH4,
DuAnH6 .......................................................................................................................... 29
Bảng 3.1: Một số bản ghi của quan hệ Giao_Dich tiến hành phân mảnh ngang...... 51
Bảng 3.2: Bảng dữ liệu (quan hệ) của mảnh F1 ....................................................... 52
Bảng 3.3: Bảng dữ liệu (quan hệ) của mảnh F2 ...................................................... 53
Bảng 3.4: Bảng dữ liệu (quan hệ) của mảnh F3 ....................................................... 53
Bảng 3.5: Bảng dữ liệu (quan hệ) của mảnh F4 ....................................................... 53
Bảng 3.6: Bảng dữ liệu (quan hệ) của mảnh F5 ....................................................... 53
Bảng 3.7: Bảng dữ liệu (quan hệ) của mảnh F6 ....................................................... 53


9

DANH MỤC CÁC THUẬT NGỮ VIẾT TẮT
Thuật ngữ

Tên viết tắt

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

CSDLPT
CSDL
DL

Quy hoạch tuyến tính

QHTT


10

MỤC LỤC
LỜI CAM ĐOAN ............................................................................................................I
LỜI CẢM ƠN ................................................................................................................. II
MỞ ĐẦU ........................................................................................................................ III
DANH MỤC HÌNH ẢNH

............................................................................................. V

DANH MỤC BẢNG BIỂU ........................................................................................... VI
DANH MỤC CÁC THUẬT NGỮ VIẾT TẮT .............................................................VII MỤC
LỤC

...................................................................................................................

VIII

CHƯƠNG 1: TỔNG QUAN VỀ CƠ SỞ DỮ LIỆU VÀ BÀI TOÁN CẤP PHÁT ....... 1

1.1.

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

1.1.1.

Xử lý phân tán ..................................................................................1

1.1.2.

Hệ cơ sở dữ liệu phân tán và hệ quản trị cơ sở dữ liệu phân tán .....4

1.1.3.

Một số yêu cầu của hệ cơ sở dữ liệu phân tán .................................5

1.1.4.

Các đặc điểm của hệ CSDL phân tán.............................................13

1.1.5.

Kiến trúc hệ quản trị cơ sở dữ liệu phân ........................................14

1.2.

Bài toán cấp phát...................................................................................16

1.2.1.

Giới thiệu về bài toán cấp phát ......................................................16

1.2.2.

Mô tả bài toán cấp phát ..................................................................20

1.2.3.

Hàm mục tiêu (hàm chi phí) ..........................................................20

1.2.4.

Các ràng buộc.................................................................................21

1.3.

Kết luận chương....................................................................................22

CHƯƠNG 2: XỬ LÝ DỮ LIỆU VÀ BÀI TOÁN CẤP PHÁT ................................... 22

2.1. Thuật toán phân mảnh cơ sở dữ liệu
.....................................................22
2.1.1.

Thuật toán phân mảnh ngang nguyên thủy ....................................22


11

2.1.2.

Phân mảnh dọc ...............................................................................30

2.1.3.

Phân mảnh hỗn hợp........................................................................38

2.2.

Tính toán hàm mục tiêu và ràng buộc tại node mạng ...........................39

2.2.1.

Hàm mục tiêu .................................................................................39

2.2.2.

Ràng buộc ......................................................................................44

2.3.

Bài toán cấp phát dạng QHTT ..............................................................45

2.4.

Kết luận chương....................................................................................49

CHƯƠNG 3: CÀI ĐẶT VÀ ỨNG DỤNG TẠI CÔNG TY ĐẦU TƯ VÀ THƯƠNG MẠI AN LỘC
50

3.1.

Khảo sát cơ sở dữ liệu của công ty đầu tư và thương mại An Lộc và

đưa ra yêu cầu của bài toán
...................................................................................50
3.1.1.

Mô tả hệ thống ...............................................................................50

3.1.2.

Yêu cầu của bài toán ......................................................................51

3.2.

Xây dựng cơ sở dữ liệu phân tán ..........................................................52

3.3.

Cài đặt và chạy chương trình cấp phát..................................................58

3.4.

Kết luận chương....................................................................................66

KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN ...................................................................... 67
TÀI LIỆU THAM KHẢO............................................................................................... 68


1

CHƯƠNG 1: TỔNG QUAN VỀ CƠ SỞ DỮ LIỆU VÀ BÀI TOÁN
CẤP PHÁT
1.1. Tổng quan về CSDL phân tán
Nguyên lý cơ bản của các hệ cơ sở dữ liệu phân tán (CSDLPT) được xây dựng
dựa trên sự hợp nhất của hai hướng tiếp cận lý thuyết các hệ cơ sở dữ liệu (CSDL)
và công nghệ mạng máy tính.
Động lực thúc đẩy sự phát triển mạnh mẽ của CSDLPT, nhu cầu tch hợp đa
dạng các loại dữ liệu (DL) nhằm cung cấp nhiều loại hình dịch vụ cho người sử
dụng. Thêm vào đó, với mục tiêu chia sẻ tài nguyên, khai thác, nâng cao khả năng
tch hợp và trao đổi tài nguyên mạng cũng thúc đẩy quá trình sử dụng các hệ
thống phân tán.
Nhu cầu thu thập, lưu trữ, xử lý và trao đổi thông tin ngày càng tăng, các hệ
thống xử lý tập trung đã bộc lộ những nhược điểm sau: [14][13]
- Tăng khả năng lưu trữ thông tin là khó khăn, bởi bị giới hạn tối đa của
thiết bị nhớ.
- Độ sẵn sàng phục vụ của CSDL không cao khi số người sử dụng tăng.
- Khả năng tính toán của các máy tnh đơn lẻ đang dần tới giới hạn vật lý.
- Mô hình tổ chức lưu trữ, xử lý dữ liệu tập trung không phù hợp cho
những tổ chức kinh tế, xã hội có hoạt động rộng lớn, đa quốc gia.
1.1.1. Xử lý phân tán
Hệ xử lý phân tán hay còn gọi là hệ thống tnh toán phân tán đó là một hệ thống
bao gồm một số đơn vị xử lý tự vận hành được liên kết thành mạng và hợp
đồng thực hiện các nhiệm vụ mà chúng được phân công. Các đơn vị xử lý có thể
thực hiện được các chương trình tiền định trên đó.
Những đối tượng được phân tán:
- Các thiết bị xử lý, các chức năng xử lý: Các chức năng của hệ thống có
thể được chuyển giao cho các thành phần hệ thống.


2

- Dữ liệu: Dữ liệu được dùng bởi một số ứng dụng có thể được phân tán
tới một số vị trí xử lý.
- Quyền điều khiển: Quyền điều khiển một số nhiệm vụ cũng được phân
tán.
Phân loại các hệ thống phân tán:
Chúng ta có thể phân loại các hệ thống phân tán theo các tiêu chí sau đây
- Mức độ kết nối;
- Sự liên đới giữa các thành phần;
- Cấu trúc tương giao;
- Sự đồng bộ giữa các thành phần.
Tại sao phải phân tán:
- Nhằm thích ứng tốt hơn với việc phân bố rộng rãi của các công ty, xí
nghiệp.
- Nhiều ứng dụng công nghệ hiện đại cần được phân tán.
Lý do của việc xử lý phân tán:
Để thực hiện tốt hơn các bài toán lớn và phức tạp mà chúng gặp phải hiện
nay bằng cách sử dụng quy tắc ”Chia để trị”.
Các ưu điểm cơ bản của xử lý phân tán:
- Tận dụng được sức mạnh tnh toán xử lý song song bằng cách sử dụng
nhiều bộ xử lý đồng thời.
- Giải quyết bài toán theo từng nhóm hoạt động độc lập nên có thể
kiểm soát được chi phí phát triển phần mềm.
- Các hệ cơ sở dữ liệu phấn tán cũng có thể được xem xét để phân
tán nhằm mục đích xử lý hiệu quả hơn.
Một số hệ thống xử lý hay được dùng:


3

- Hệ thống đa bộ xử lý có bộ nhớ chung (hình 1.1)

Hình 1.1: Hệ đa bộ xử lý có bộ nhớ chung
- Hệ đa bộ xử lý chia sẻ đĩa (shared disk) (hình 1.2 )

Hình 1.2: Hệ đa bộ xử lý có shared disk
- Hệ đa bộ xử lý sở hữu cá nhân (hình1.3)


4

Hình 1.3: Hệ đa bộ xử lý sở hữu cá nhân
Ghi chú:
Phân bố vật lý không nhất thiết là phải cách xa nhau về mặt địa lý; chúng có thể
ở trong cùng máy, một văn phòng,... Duy có điều là việc giao tiếp giữa chúng được
thực hiện trên mạng và mạng máy tnh được xem là tài nguyên dùng chung duy
nhất.
1.1.2. Hệ cơ sở dữ liệu phân tán và hệ quản trị cơ sở dữ liệu phân tán
Hệ 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 tnh.
Hệ quản trị CSDL phân tán (Distributed Database Management System –
DDBMS) là một hệ thống phần mềm cho phép quản lý các hệ CSDLPT và làm cho
việc phân tán trở nên vô hình đối với người sử dụng.
Như vậy hệ CSDLPT là một tập các tệp dữ liệu vừa có liên đới logic, vừa phải có
cùng cấu trúc và vừa phải được truy xuất qua một giao diện chung. Và phân bố vật
lý của các dữ liệu không phải là vấn đề quyết định.
Nhận xét:
Nếu CSDL nằm tại một nút mạng thì nó không phải là hệ CSDL phân tán, vì vấn
đề quản trị CSDL không khác với quản trị CSDL trong môi trường tập trung kiểu
client/server của mạng.
Nếu một cơ sở dữ liệu được phân tán trên nhiều nút mạng, khi đó CSDL sẽ là cơ
sở dữ liệu phân tán (hình 1.4).


Hình 1.4: CSDL được phân tán trên mạng
1.1.3. Một số yêu cầu của hệ cơ sở dữ liệu phân tán
a. Yêu cầu phân mảnh, nhân bản và vô hình
Từ lý do xã hội và kinh tế xã hội phi tập trung, nên để có hiệu quả kinh tế người
ta phân mảnh, nhân bản, phân tán và xử lý chúng tại các vị trí khác nhau.
Ví dụ 1.1:
Một công ty máy tnh, có các văn phòng ở Hà Nội , Hải Phòng, Nha Trang và
TP. Hồ Chí Minh, có một số dự án được thực hiện tại các địa điểm đó, và muốn
dùng CSDL để quản lý nhân công, quản lý dự án và các dữ liệu liên quan khác. Giả
sử CSDL là CSDL quan hệ , được cho bởi các quan hệ sau:
- Quan hệ nhân viên: NhanVien(MaNV, TenNV, TrinhDoCM)
Trong đó NhanVien là tên quan hệ nhân viên, MaNV là mã nhân viên - khóa
chính, TenNV là tên nhân viên, TrinhDoCM là trình độ chuyên môn.
- Quan hệ dự án: DuAn(MaDuAn, TenDuAn, NganSach)
Trong đó MaDuAn là mã số dự án - khóa chính, TenDuAn - tên dự án và
NganSach - ngân sách dự án.
- Quan hệ trả lương: TraLuong(TrinhDoCM, Luong)
Trong đó TrinhDoCM là trình đọ chuyên môn - khóa chính, Luong - Tiền lương.
- Quan hệ phân nhiệm: PhanNhiem(MaNV, MaDuAn, ThoiGianLV,
ChucVu)
Trong đó PhanNhiem là quan hệ phân công nhiệm vụ, MaNV - khóa ngoại,
MaDuAn - khóa ngoại, (MaNV, MaDuAn) - khóa chính, ThoiGianLV là thời gian làm
việc, ChucVu là chức vụ.
Yêu cầu phân mảnh CSDL
Giả sử công ty được phân tán các vị trí khác nhau như Hà Nội, Hải Phòng, Nha
Trang và TP. Hồ Chí Minh, nên công ty muốn để dữ liệu về các nhân viên các dự án
của vị trí nào được lưu ở vị trí đó, do đó cần phải phân hoạch các quan hệ NhanVien


và DuAn và lưu chúng taị các vị trí như đã yêu cầu. Quá trình làm này được gọi là
phân mảnh.
Yêu cầu nhân bản
Do yêu cầu về hiệu quả và độ tin cậy cho CSDL nên một phần dữ liệu đã được
phân mảnh ở trên cần phải được lưu bản sao tại một số vị trí khác. Quá trình
này được gọi là nhân bản.
Do tnh chất phân tán của công việc kinh doanh của công ty, người ta muốn đặt
dữ liệu về các nhân viên của văn phòng ở Hải Phòng được lưu ở Hải Phòng, nhân
viên của văn phòng ở Hà Nội được lưu ở Hà Nội v.v… Như vậy cần có một qúa
trình phân hoạch các quan hệ này và lưu các phân hoạch đó tại các vị trí khác nhau.
Yêu cầu vấn tin vô hình
Người sử dụng đặt câu hỏi vấn tin như với CSDL tập trung tại một điểm nút nào
đó mà họ muốn.
Vô hình về độc lập dữ liệu là sự vô hình các chi tiết về cấu trúc lưu trữ dữ liệu nó
là dạng vô hình cơ bản của hệ quản trị CSDL phân tán và CSDL tập trung.
Do định nghĩa CSDL nên thường có hai mức độc lập là: mô tả cấu trúc logic của
dữ liệu và định nghĩa về cấu trúc vật lý. Vì vậy, chúng ta có thể nói đến hai loại độc
lập dữ liệu: mức logic thường được xem là định nghĩa lược đồ, còn mức vật lý được
gọi là mô tả dữ liệu vật lý.
- Độc lập dữ liệu về cấu trúc logic: Đó là tnh độc lập của các ứng dụng
với những thay đổi trong cấu trúc logic của CSDL; tức là nếu có một
chương trình ứng dụng nào đó truy xuất vào một tập con thuộc tnh
nào đó của CSDL thì nó sẽ không bị ảnh hưởng nếu ta thêm hoặc bớt
một số thuộc tnh khác (không thuộc tập con thuộc tính trên) vào hoặc
từ CSDL đã cho.


- Độc lập dữ liệu về cấu trúc vật lý: là vô hình các chi tiết về cấu trúc lưu
trữ dữ liệu. Người viết ứng dụng không cần quan tâm đến dữ liệu để



đâu (ổ đĩa, hay băng từ, nút mạng,… ) và cách truy xuất dữ liệu (ví dụ
tuần tự hay ngẫu nhiên).

Vô hình liên kết mạng
Người sử dụng được tách ra khỏi mọi chi tiết hoạt động của mạng, không biết có
sự hiển diện của mạng - nghĩa là người sử dụng không biết là mình đang làm việc
với CSDL tập trung hay phân tán. Vô hình liên kết mạng có thể được chia thành hai
loại:
- Vô hình vị trí: Vô hình vị trí là việc thực hiện một lệnh nào đó độc lập
với vị trí dữ liệu được lưu trữ.
- Vô hình đặt tên: Vô hình đặt tên là người sử dụng dùng một tên duy nhất
được hệ thống đặt trước cho mỗi đối tượng CSDL mà không cần biết ai
đặt tên đó và tên đó nằm ở đâu,... Nếu không có vô hình đặt tên người
sử dụng bị buộc phải gắn tên vị trí làm thành phần tên của tên đối
tượng. Chẳng hạn, HaiPhong, NhanVien, TenNV,…
Vô hình nhân bản
Vô hình nhân bản làm cho người sử dụng không thể biết họ đang làm việc với
các quan hệ (hoặc các mảnh) gốc hay với các bản sao.
Việc nhân bản sẽ làm tăng hiệu quả vì có thể làm giảm xung đột đường truyền
khi truy cập vào cơ sở dữ liệu, giảm thời gian truyền dữ liệu và tăng độ an toàn và
bảo mật. Hơn nữa nếu một số máy lưu dữ liệu có "hỏng hóc" thì các máy khác có
thể truy cập đến các nhân bản khác,…
Việc nhân bản gây ra nhiều khó khăn về cập nhật, vì khi một nhân bản có sự thay
đổi (xóa, sửa, thêm,…) thì các nhân bản khác kể cả bản gốc liệu có cập nhật kịp
thời hay không?
Việc có nhân bản hay không, bao nhiêu bản, lưu trữ của bản sao tại nút nào là
tùy thuộc vào nhu cầu ứng dụng quyết định.


Vô hình phân mảnh (Fragmentation transparency)


Vô hình phân mảnh làm cho người sử dụng không cần tham gia vào việc phân
mảnh và không thể biết họ đang làm việc với CSDL gốc hay với các mảnh đã được
phân mảnh từ CSDL gốc.
Khi CSDL được phân mảnh, phải có cách xử lý các câu vấn tin của người sử
dụng, các truy vấn này phải được thực hiện trên các mảnh. Tức là phải dịch câu truy
vấn toàn cục thành nhiều câu truy vấn theo các mảnh. Như vậy vấn đề vô hình phân
mảnh là kéo theo vấn đề vô hình xử lý các câu truy vấn.
b. Kỹ thuật phân mảnh
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. Các bộ hoặc các thuộc tnh của quan hệ
không thể được xem như một đơn vị cấp phát, vì sẽ làm cho việc cấp phát trở lên
phức tạp hơn. Thiết kế phân mảnh bằng cách nhóm một số bộ trong trường hợp
phân mảnh ngang hay nhóm các thuộc tnh trong trường hợp phân mảnh dọc có
cùng đặc tính theo quan điểm cấp phát. Các mảnh hình thành bằng các phương
pháp phân mảnh tạo ra các đơn vị cấp phát dữ liệu khác nhau.
Các quy tắc phân mảnh
Các nguyên tắc để đảm bảo cơ sở dữ liệu khi phân mảnh sẽ đảm bảo tnh không
thay đổi về ngữ nghĩa. Dưới đây là ba qui tắc phải tuân thủ 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 R1, 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ạ hoàn toà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 tnh 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 đó nếu gọi FR là tập các mảnh thì:
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 bảo toàn các phụ thuộc.


3. Tính tách biệt: Nếu quan hệ R được phân rã ngang thành các mảnh Ri, i=1,..n
và mục dữ liệu di nằm trong một mảnh Ri thì nó sẽ không nằm trong mảnh Rk,
(i≠k). 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ó mặt trong tất cả các mảnh. Vì vậy tnh
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ệ.
Phân mảnh ngang
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 tnh. 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.
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.
Phân mảnh ngang nguyên thủy:
Phân manh ngang nguyên thuỷ là phân rã một quan h ệ thành các tập gồm các
bộ dưa trên các mệnh đề đươc định nghĩa trên quan hệ đó

. Phân manh ngang

nguyên thuỷ đươc định nghĩa bằng một thuật toán chọn trên các quan hệ nguồn
của một
lươc đồ CSDL. Mảnh ngang R i bao gồm các bộ của R đươc chọn ra theo c ông thức:

Ri   F (R) với 1≤ i ≤z.
i

Trong đó, Fi là công thức chọn đươc sư dụng để có đươc manh R

i.

Chú y rằng

chúng ta xét Fi có dạng chuẩn hội, nó là một mệnh đề hội sơ cấp (mi).
Tái thiết phân mảnh ngang nguyên thủy là toán tử hợp  . Chẳng hạn:
z


R  i R
1 i


Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay

×