Tải bản đầy đủ (.doc) (32 trang)

XÂY DỰNG ỨNG DỤNG PHÂN MẢNH DỌC HỖ TRỢ THIẾT KẾ 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 (934.38 KB, 32 trang )

Đại Học Quốc Gia TP.HCM
Trường Đại Học Công Nghệ Thông Tin
BÁO CÁO CHUYÊN ĐỀ
CƠ SỞ DỮ LIỆU NÂNG CAO
ĐỀ TÀI:
XÂY DỰNG ỨNG DỤNG PHÂN MẢNH
DỌC HỖ TRỢ THIẾT KẾ CƠ SỞ DỮ
LIỆU PHÂN TÁN
GVHD: PGS. TS Đỗ Phúc
HVTH: Trịnh Duy Sâm
Mã số: CH1101035
Lớp: Cao học khóa 6
TP.HCM – 2012
Báo cáo chuyên đề: Cơ sở dữ liệu nâng cao
LỜI CÁM ƠN

Trong suốt thời gian qua học tại trường Đại Học Công Nghệ Thông Tin với sự
giúp đỡ và sự nhiệt tình giảng dạy của quý thầy nhất là trong thời gian thực hiện đề
tài, nên bài khóa luận kết thúc môn của em đã được hoàn thành đúng thời gian quy
định.
Em xin gửi lời cảm ơn chân thành nhất tới thầy giáo hướng dẫn PGS.
TS Đỗ Phúc đã tận tình hướng dẫn, giúp đỡ, tạo điều kiện để em hoàn thành khóa
luận này.
Vì thời gian có hạn nên bài viết không thể hoàn thành mỹ mãn và sẽ có thiếu
xót mong các bạn và thầy cô thông cảm và gửi lời góp ý.
Chân thành cám ơn!
Trịnh Duy Sâm
MỤC LỤC
HVTH: Trịnh Duy Sâm Trang: 1
Báo cáo chuyên đề: Cơ sở dữ liệu nâng cao



LỜI CÁM ƠN 1
MỤC LỤC 1
PHẦN I. CƠ SỞ DỮ LIỆU PHÂN TÁN 4
I. CÁC KHÁI NIỆM CƠ BẢN 4
1. CƠ SỞ DỮ LIỆU: 4
2. CƠ SỞ DỮ LIỆU PHÂN TÁN VÀ CƠ SỞ DỮ LIỆU TẬP TRUNG: 5
II. CƠ SỞ DỮ LIỆU PHÂN TÁN: 7
1. KHÁI NIỆM VỀ CƠ SỞ DỮ LIỆU PHÂN TÁN: 7
a) Khái niệm 7
b) Ví dụ minh hoạ : 7
c) Lợi điểm của Cơ sở dữ liệu phân tán : 8
III. HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU PHÂN TÁN : 9
a) Khái niệm HQT-CSDL phân tán 9
b) Chức năng của HQT-CSDL 9
c) Ưu và nhược điểm của hệ CSDL phân tán : 11
d) Các mức phân tán 12
PHẦN II. THIẾT KẾ CƠ SỞ DỮ LIỆU PHÂN TÁN 13
a) Sơ đồ tổng thể (Globle Schema): 14
c) Phân mảnh hỗn hợp 22
PHẦN III. XÂY DỰNG PHẦN MỀM HỖ TRỢ THIẾT KẾ PHÂN MẢNH DỌC24
1) Giới thiệu: 24
2. 1. Cách nhập dữ liệu: 29
2.2. Thực hiện thuật toán phân mảnh dọc: 29
2.3. Nhập lại ma trận Use và Access khác 29
KẾT LUẬN 30
TÀI LIỆU THAM KHẢO 31
HVTH: Trịnh Duy Sâm Trang: 2
Báo cáo chun đề: Cơ sở dữ liệu nâng cao
LỜI GIỚI THIỆU


Cơ sở dữ liệu phân tán là mơ hình lưu trữ dữ liệu rất quan trọng trong các hệ
thống thơng tin lớn và ngày càng phát triển. Hiện nay, CSDL phân tán được ứng dụng
trong hầu hết các hệ thống thơng tin trong các lĩnh vực như ngân hàng, thương mại,
giáo dục, doanh nghiệp ….
Đặc trưng chính của CSDL phân tán là có rất nhiều các thao tác truy cập tới một
hoặc nhiều vị trí khác nhau trên mạng để trao đổi dữ liệu. Do vậy, khung nhìn hoặc
đơn vị truy suất của các ứng dụng khơng phải là tồn bộ các ứng dụng mà thường là
một mảnh. Việc phân rã một quan hệ thành nhiều mảnh, mỗi mảnh được xử lý như
một đơn vị, sẽ cho phép thực hiện được nhiều giao dịch đồng thời. Việc phân mảnh
các quan hệ sẽ cho phép thực hiện song song.
Vì vậy trong khóa luận mơn học này em nghiên cứu và tìm hiểu nội dung “Xây
dựng ứng dụng phân mảnh dọc hỗ trợ thiết kế cơ sở dữ liệu phân tán”.
Bài khóa luận của em được chia thành 3 phần:
- Phần I. Cơ sở dữ liệu phân tán
- Phần II. Thiết kế cơ sở dữ liệu phân tán
- Phần III. Xây dựng phần mềm hỗ trợ thiết kế phân mảnh dọc
HVTH: Trịnh Duy Sâm Trang: 3
Báo cáo chuyên đề: Cơ sở dữ liệu nâng cao
PHẦN I. CƠ SỞ DỮ LIỆU PHÂN TÁN

I. CÁC KHÁI NIỆM CƠ BẢN
1. CƠ SỞ DỮ LIỆU :
Cơ sở dữ liệu (Database) là tập hợp dữ liệu được lưu trữ một cách có tổ chức để
phục vụ cho công việc sử dụng thuận tiện nhất. Dữ liệu là số liệu, hình ảnh cần được
lưu trữ dưới dạng file, record tiện lợi cho người dùng đối với việc tham khảo, xử lý
Mỗi cơ sở dữ liệu cần có chương trình quản lý, xắp xếp, duy trì dữ liệu gọi là hệ
quản trị cơ sở dữ liệu (DBMS - Database Management System). Hệ quản trị cơ sở dữ
liệu được coi là bộ diễn dịch ngôn ngữ bậc cao để dịch các công việc người sử dụng
thao tác trên dữ liệu mà người dùng không cần quan tâm đến thuật toán.
Về mặt kiến trúc, cơ sở dữ liệu được phân chia thành các mức khác nhau. Một cơ

sở dữ liệu cơ bản có ba phần chính là mức vật lý, mức khái niệm và mức thể hiện. Tuy
nhiên với cơ sở dữ liệu cấp cao thì có thể có nhiều mức phân hoá hơn.
Mức vật lý: là mức thấp nhất của kiến trúc hệ cơ sở dữ liệu, ở mức này dữ liệu
được tổ chức dưới nhiều cấp khác nhau như bản ghi, file
Mức khái niệm: là sự biểu diễn trừu tượng của cơ sở dữ liệu vật lý và có thể nói
mức vật lý là sự cài đặt cụ thể của cơ sở dữ liệu ở mức khái niệm.
Mức thể hiện: khi cơ sở dữ liệu được thiết kế, những gì thể hiện (giao diện,
chương trình quản lý, bảng ) gần gũi với người sử dụng với cơ sở dữ liệu ở mức khái
niệm gọi là khung nhìn. Như vậy sự khác nhau giữa khung nhìn và mức khái niệm
không lớn.
Mô hình phổ biến nhất của cơ sở dữ liệu là mô hình quan hệ: trong mô hinh quan
hệ xét tập con của tích Decard của các miền D (Domain) với miền là một tập các giá
trị. Gọi D1, D2, D3, Dn là n miền. Tích Decard của các miền D1× D2× D3× ×Dn là
tập tất cả n bộ (v1,v2,v3 ,vn) sao cho vi ∈ Di với i=1, ,n. Mỗi hàng của quan hệ là
một bộ (tuples). Quan hệ là tập con của tích Decard D1× D2× D3× ×Dn gọi là quan
hệ n ngôi. Khi đó mỗi bộ có n thành phần ( n cột ), mỗi cột của quan hệ gọi là thuộc
tính.
HVTH: Trịnh Duy Sâm Trang: 4
Báo cáo chuyên đề: Cơ sở dữ liệu nâng cao
2. CƠ SỞ DỮ LIỆU PHÂN TÁN VÀ CƠ SỞ DỮ LIỆU TẬP TRUNG :
Cơ sở dữ liệu tập trung cùng với cơ sở dữ liệu không qua thiết kế hình thành
trước khi có cơ sở dữ liệu phân tán. Hai hình thức này phát triển trên cơ sở tự phát và
hệ thống tập trung. Như vậy hai hình thức này không đáp ứng được yêu cầu tổ chức
và công việc trên phạm vi lớn.
Cơ sở dữ liệu phân tán được thiết kế khác cơ sở dữ liệu tập trung. Do đó cần
đối sánh các đặc trưng của cơ sở dữ liêu phân tán với cơ sở dữ liệu tập trung để thấy
được lợi ích của cơ sở dữ liệu phân tán. Đặc trưng mô tả cơ sở dữ liệu tập trung là
điều khiển tập trung, độc lập dữ liệu, giảm bớt dư thừa, cơ cấu vật lý phức tạp đối với
khả năng truy cập, toàn vẹn, hồi phục, điều khiển tương tranh, biệt lập và an toàn dữ
liệu.

Điều khiển tập trung: Điều khiển tập trung các nguồn thông tin của công việc hay
tổ chức. Có người quản trị đảm bảo an toàn dữ liệu.
Trong cơ sở dữ liệu phân tán: không đề cập đến vấn đề điều khiển tập trung. Người
quản trị cơ sở dữ liệu chung phân quyền cho người quản trị cơ sở dữ liệu địa phương.
Độc lập dữ liệu: là một trong những nhân tố tác động đến cấu trúc cơ sở dữ liệu
để tổ chức dữ liệu chuyển cho chương trình ứng dụng. Tiện lợi chính của độc lập dữ
liệu là các chương trình ứng dụng không bị ảnh hưởng khi thay đổi cấu trúc vật lý của
dữ liệu. Trong cơ sở dữ liệu phân tán, độc lập dữ liệu có tầm quan trọng cũng như
trong cơ sở dữ liệu truyền thống. Khái niệm cơ sở dữ liệu trong suốt mô tả hoạt động
chương trình trên cơ sở dữ liệu phân tán được viết như làm việc trên cơ sở dữ liệu tập
trung. Hay nói cách khác tính đúng đắn của chương trình không bị ảnh hưởng bởi việc
di chuyển dữ liệu từ nơi này sang nơi khác trong mạng máy tính. Tuy nhiên tốc độ
làm việc bị ảnh hưởng do có thời gian di chuyển dữ liệu.
Giảm dư thừa dữ liệu: Trong cơ sở dữ liệu tập trung, tính dư thừa hạn chế được
càng nhiều càng tốt vì:
- Dữ liệu không đồng nhất khi có vài bản sao của cùng cơ sở dữ liệu logic; để tránh
được nhược điểm này giải pháp là chỉ có một bản sao duy nhất.
- Giảm không gian lưu trữ. Giảm dư thừa có nghĩa là cho phép nhiều ứng dụng cùng
truy cập đến một cơ sở dữ liệu mà không cần đến nhiều bản sao ở những nơi chương
trình ứng dụng cần .
Trong cơ sở dữ liệu truyền thống tính dư thừa dữ liệu cũng cần quan tâm vì:
- Tính cục bộ của chương trình ứng dụng sẽ tăng nếu dữ liệu đặt ở mọi nơi mà chương
trình ứng dụng cần.
HVTH: Trịnh Duy Sâm Trang: 5
Báo cáo chuyên đề: Cơ sở dữ liệu nâng cao
- Khả năng sẵn sàng của hệ thống cao bởi vì khi có lỗi ở một nơi nào đó trong hệ
thống thì không cản trở hoạt động của chương trình ứng dụng.
Nói chung, nguyên nhân đối lập với tính dư thừa đưa ra trong môi trường truyền
thống vẫn còn đúng cho hệ thống phân tán và vì vậy công việc định giá mức độ tốt
của tính dư thừa đòi hỏi định giá lại công việc lựa chọn mức độ dư thừa dữ liệu.

Cơ sở dữ liệu phân tán khắc phục được hai nhược điểm này vì dữ liệu được chia
ra thành nhiều phần nhỏ và chỉ có một bản sao logic tổng thể duy nhất để tiện cho việc
truy cập dữ liệu.
Cấu trúc vật lý và khả năng truy cập: người sử dụng truy cập đến cơ sở dữ liệu
tập trung phải thông qua cấu trúc truy cập phức tạp: định vị cơ sở dữ liệu, thiết lập
đường truyền
Trong cơ sở dữ liệu phân tán, cấu trúc truy cập phức tạp không phải là công cụ
chính để truy cập hiệu quả đến cơ sở dữ liệu. Hiệu quả có nghĩa là thời gian tìm kiếm
và chuyển dữ liệu nhỏ nhất, chi phí truyền thông thấp nhất.
Mỗi cách thức truy cập cơ sở dữ liệu phân tán viết bởi người lập trình hoặc tạo ra
bởi một bộ tối ưu. Công việc viết ra một cách thức truy cập cơ sở dữ liệu phân tán
cũng giống như viết chương trình duyệt trong cơ sở dữ liệu tập trung. Công việc mà
chương trình duyệt này làm là xác định xem có thể truy cập đến được bao nhiêu cơ sở
dữ liệu.
Tính toàn vẹn, hồi phục và điều khiển tương tranh: Mặc dù trong cơ sở dữ liệu,
tính toàn vẹn, hồi phục và điều khiển đồng thời liên quan nhiều vấn đề liên quan lẫn
nhau. Mở rộng hơn vấn đề này là việc cung cấp các giao tác. Giao tác là đơn vị cơ bản
của việc thực hiện: giao tác cụ thể là bó công việc được thực hiện toàn bộ hoặc không
được thực hiện.
Trong cơ sở dữ liệu phân tán, vấn đề điều khiển giao tác tự trị có ý nghĩa quan
trọng: hệ thống điều phối phải chuyển đổi các quỹ thời gian cho các giao tác liên tiếp.
Như vậy giao tác tự trị là phương tiện đạt được sự toàn vẹn trong cơ sở dữ liệu Có hai
mối nguy hiểm của giao tác tự trị là lỗi và tương tranh.
Tính biệt lập và an toàn: trong cơ sở dữ liệu truyền thống, người quản trị hệ thống
có quyền điều khiển tập trung, người sử dụng có chắc chắn được phân quyền mới
truy cập vào được dữ liệu. Điểm quan trọng là trong cách tiếp cận cơ sở dữ liệu tập
trung, không cần thủ tục điều khiển chuyên biệt.
Trong cơ sở dữ liệu phân tán, những người quản trị địa phương cũng phải giải
quyết vấn đề tương tự như người quản trị cơ sở dữ liệu truyền thống.
Tuy nhiên, hai vấn đề đặc biệt sau đây của cơ sở dữ liệu phân tán có ý nghĩa quan

trọng khi đề cập đến:
HVTH: Trịnh Duy Sâm Trang: 6
Báo cáo chuyên đề: Cơ sở dữ liệu nâng cao
- Thứ nhất trong cơ sở dữ liệu phân tán với cấp độ tự trị cao ở mỗi điểm, người có dữ
liệu địa phương sẽ cảm thấy an toàn hơn vì họ có thể tự bảo vệ dữ liệu của mình thay
vì phụ thuộc vào người quản trị hệ thống tập trung.
- Thứ hai, vấn đề an toàn thực chất với hệ thống phân tán không giống như các hệ
thống thông thường khác mà còn liên quan đến mạng truyền thông.
Như vậy trong cơ sở dữ liệu phân tán vấn đề an toàn cơ sở dữ liệu phức tạp hơn và đòi
hỏi nhiều kỹ thuật bảo vệ. Nguyên nhân gây ra là hệ thống này có tính mở và nhiều
người dùng trong cùng hệ thống sử dụng nhiều cơ sở dữ liệu.
II. CƠ SỞ DỮ LIỆU PHÂN TÁN:
1. KHÁI NIỆM VỀ CƠ SỞ DỮ LIỆU PHÂN TÁN :
a) Khái niệm
Một CSDL phân tán (Distributed Database) là một tập hợp dữ liệu, mà về
mặt logic tập hợp này thuộc cùng một hệ thống, nhưng về mặt vật lý dữ liệu đó được
trải trên các vị trí khác nhau của một mạng máy tính. Có 2 điểm quan trọng nêu ra
trong định nghĩa :
+ Phân tán: Dữ liệu không cư trú trên một vị trí mà được phân bố rộng khắp
trên nhiều máy tính đặt tại nhiều vị trí khác nhau, đây là điểm phân biệt CSDL phân
tán với CSDL tập trung.
+ Tương quan logic :
. Dữ liệu trong hệ phân tán có một số thuộc tính ràng buộc chúng với nhau.
. Các file dữ liệu được lưu trữ tại nhiều vị trí khác nhau, điều này thường thấy
trong các ứng dụng mà hệ thống sẽ phân quyền truy nhập dữ liệu trong môi trường
mạng. Hệ thống mạng thông tin cho phép người dùng chia sẻ dữ liệu, vì vậy người
dùng hoặc ứg dụng ở vị trí A đều có thể truy cập hay cập nhật dữ liệu tại vị trí B nào
đó.
. Các vị trí của một CSDL phân tán có thể trải rộng trên một khu vực lớn (toàn
thế giới) hoặc một phạm vi hẹp (toà nhà)

. Cũng như vậy, máy tính ở các vị trí
phân tán có thể là bất cứ loại nào, từ máy vi
tính đến các máy tính lớn.
b) Ví dụ minh hoạ :
Với một ngân hàng có ba chi nhánh đặt tại
các vị trí khác nhau. Tại mỗi chi nhánh có
một máy tính điều khiển một số máy tính
khác và CSDL thống kê của chi nhánh đó.
Mỗi máy tính với CSDL thống kê của mỗi
nhánh được đặt ở một vị trí của CSDL phân
tán. Các máy tính được nối với nhau bởi
một mạng truyền thông. Các nút trong một
HVTH: Trịnh Duy Sâm Trang: 7
CSDL
11
T
T
T
T
Termin
al
M¸y
tÝnh 3
M¸y
tÝnh
2
T
T
T
T

T
T
T
T
CSD
L2
CSD
L3
Termin
al
M¹ng T.
th«ng
M¸y
tÝnh
1
Mét CSDL ph©n t¸n trªn mét m¹ng ph©n t¸n
®Þa lý
Báo cáo chuyên đề: Cơ sở dữ liệu nâng cao
mạng phân tán một mặt xử lý thông tin tại vị trí mà nó quản lý, mặt khác nó cũng
tham gia vào xử lý các yêu cầu về thông tin cần truy cập qua nhiều địa điểm. Ví dụ
việc lên danh sách tất cả các nhân viên của công ty. Yêu cầu này đòi hỏi tất cả các
máy tính ở các chi nhánh của công ty đều phải hoạt động để cung cấp thông tin.
c) Lợi điểm của Cơ sở dữ liệu phân tán :
Có nhiều nguyên nhân để phát triển cơ sở dữ liệu phân tán nhưng tựu trung lại chỉ
gồm những điểm sau đây:
Lợi điểm về tổ chức và tính kinh tế: tổ chức phân tán nhiều chi nhánh và dùng cơ sở
dữ liệu phân tán phù hợp với các tổ chức kiểu này. Với vai trò là động lực thúc đẩy
kinh tế thương mại phát triển rộng hơn, thì việc phát triển các trung tâm máy tính phân
tán ở nhiều vị trí trở thành nhu cầu cần thiết.
Tận dụng những cơ sở dữ liệu sẵn có: Hình thành cơ sở dữ liệu phân tán từ các cơ

sở dữ liệu tập trung có sẵn ở các vị trí địa phương.
Thuận lợi cho nhu cầu phát triển: Xu hướng dùng cơ sở dữ liệu phân tán sẽ cung
cấp khả năng phát triển thuận lợi hơn và giảm được xung đột về chức năng giữa các
đơn vị đã tồn tại và giảm được xung đột giữa các chương trình ứng dụng khi truy cập
đến cơ sở dữ liệu. Với hướng tập trung hoá, nhu cầu phát triển trong tương lai sẽ gặp
khó khăn.
Giảm chi phí truyền thông: Trong cơ sở dữ liệu phân tán chương trình ứng dụng đặt ở
địa phương có thể giảm bớt được chi phí truyền thông khi thực hiện bằng cách khai
thác cơ sở dữ liệu tại chỗ.
Tăng số công việc thực hiện: Hệ cơ sở dữ liệu phân tán có thể tăng số lượng công
việc thực hiện qua áp dụng nguyên lý xử lý song song với hệ thống xử lý đa nhiệm.
Tuy nhiên cơ sở dữ liệu phân tán cũng có tiện lợi trong việc phân tán dữ liệu như tạo
ra các chương trình ứng dụng phụ thuộc vào tiêu chuẩn mở rộng vị trí làm cho các nơi
xử lý có thể hỗ trợ lẫn nhau. Do đó tránh được hiện tượng tắc nghẽn cổ chai trong
mạng truyền thông hoặc trong các dịch vụ thông thường của toàn bộ hệ thống.
Tính dễ hiểu và sẵn sàng: Hướng phát triển cơ sở dữ liệu phân tán cũng nhằm đạt
được tính dễ hiểu và tính sẵn sàng cao hơn. Tuy nhiên để đạt được mục tiêu này
không phải là dễ làm và đòi hỏi sử dụng kỹ thuật phức tạp. Khả năng xử lý tự trị của
các điểm làm việc khác nhau không đảm bảo tính dễ sử dụng.
Hai nguyên nhân về mặt kỹ thuật đáp ứng cho sự phát triển hệ cơ sở dữ liệu phân tán:
-Công nghệ tạo ra máy tính nhỏ và nền tảng phần cứng có khả năng phục vụ xây dựng
hệ thống thông tin phân tán.
-Kỹ thuật thiết kế hệ cơ sở dữ liệu phân tán được phát triển vững chắc dựa trên hai kỹ
thuật thiết kế chính là Top-down và Bottom-up từ những năm thập kỷ 60.
Kỹ thuật thiết kế cơ sở dữ liệu phân tán phức tạp nhưng hệ cơ sở dữ liệu phân tán
cũng cần thiết cho xu hướng phát triển kinh tế hiện nay.
HVTH: Trịnh Duy Sâm Trang: 8
Báo cáo chuyên đề: Cơ sở dữ liệu nâng cao
III.HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU PHÂN TÁN :
a) Khái niệm HQT-CSDL phân tán.

Hệ quản trị cơ sở dữ liệu phân tán là phần mềm có chức năng quản trị cơ sở dữ
liệu phân tán và thực hiện các thao tác trong suốt đến người sử dụng.
b) Chức năng của HQT-CSDL.
- Nhận, phân tích cú pháp của truy vấn.
- Chuyển đổi truy vấn SQL thành biểu thức đại số quan hệ.
- Tối ưu hóa truy vấn để có cách truy cập hiệu quả nhất. Tức là tối ưu hóa các
phép toán đại số quan hệ để có được thời gian xử lý nhanh nhất.
- Phải có các giao diện nhập xuất dữ liệu.
- Định dạng dữ liệu phù hợp với định nghĩa của nó.
- Cung cấp các chức năng cho người quản trị CSDL.
Hệ quản trị cơ sở dữ liệu phân tán cung cấp công cụ như tạo lập và quản lý
cơ sở dữ liệu phân tán. Phân tích đặc điểm của hệ thống quản trị cơ sở dữ liệu
phân tán như dưới đây để phân biệt hệ thống phát triển theo kiểu thương mại
có sẵn và kiểu mẫu phân tán.
Hệ thống phát triển theo kiểu thương mại có sẵn được phát triển bởi những
người cung cấp hệ cơ sở dữ liệu tập trung. Hệ cơ sở dữ liệu tập trung mở rộng
bằng cách thêm vào những phần bổ xung qua cách cung cấp thêm đường truyền
và điều khiển giữa các hệ quản trị cơ sở dữ liệu tập trung cài đặt ở những điểm
khác nhau trên mạng máy tính. Những phần mềm cần thiết cho việc xây dựng
cơ sở dữ liệu phân tán là:
Phần quản lý cơ sở dữ liệu ( Database Management - DB ).
Phần truyền thông dữ liệu (Data Communication - DC ).
Từ điển dữ liệu được mở rộng để thể hiện thông tin về phân tán dữ liệu
trong mạng máy tính (Data Dictionary - DD).
Phần cơ sở dữ liệu phân tán (Distributed Database DDB).
HVTH: Trịnh Duy Sâm Trang: 9
Truy cập cơ sở
dữ liệu
Phương thức truy cập
dữ liệu

Hệ quản trị
cơ sở dữ
liệu 1

Kết quả
Cơ sở dữ
liệu 2
Chương trình ứng
dụng
Hệ quản
trị cơ sở dữ
liệu 2
Báo cáo chuyên đề: Cơ sở dữ liệu nâng cao
Mô hình các thành phần của hệ quản trị cơ sở dữ liệu phát triển theo kiểu
thương mại (Truy cập từ xa trực tiếp).
Những dịch vụ hệ quản trị cơ sở dữ liệu cung cấp:
- Cách thức truy cập dữ liệu từ xa: bằng chương trình ứng dụng.
- Lựa chọn một cấp độ trong suốt phân tán thích hợp: cho phép mở rộng hệ
thống theo nhiều cách khác nhau theo từng hoàn cảnh (phải cân nhắc giữa cấp
độ trong suốt phân tán và phân chia công việc thực hiện để công việc quản trị hệ
thống đơn giản hơn).
- Quản trị và điều khiển cơ sở dữ liệu bao gồm công cụ quản lý cơ sở dữ
liệu, tập hợp thông tin về các thao tác trên cơ sở dữ liệu và cung cấp thông tin
tổng thể về file dữ liệu đặt ở các nơi trong hệ thống.
- Điều khiển tương tranh và điều khiển hồi phục dữ liệu của giao tác phân
tán.
Cách thức truy cập cơ sở dữ liệu từ xa qua chương trình ứng dụng theo hai
cách cơ bản: Truy cập từ xa trực tiếp và gián tiếp.

HVTH: Trịnh Duy Sâm Trang: 10

DB DC DDB

DD

DD
DDB
DB DC
Cơ sở dữ liệu
địa phương 1
Cơ sở dữ liệu
Địa phương 2
Báo cáo chuyên đề: Cơ sở dữ liệu nâng cao
Mô hình truy cập từ xa qua phương thức cơ sở của hệ quản trị cơ sở dữ liệu
Theo mô hình trực tiếp trên, chương trình ứng dụng đưa ra yêu cầu truy cập
đến cơ sở dữ liệu từ xa, yêu cầu này được hệ quản trị cơ sở dữ liệu tự động tìm
nơi đặt dữ liệu và thực hiện yêu cầu tại điểm đó. Kết quả được trả lại cho
chương trình ứng dụng. Đơn vị chuyển đổi giữa hai hệ quả trị cơ sở dữ liệu là
phương thức truy cập cơ sở dữ liệu và kết quả nhận được (thông qua việc thực
hiện phương thức truy cập này). Với cách thức truy cập từ xa như vậy cấp độ
trong suốt phân tán được xây dựng bằng cách tạo ra tên file toàn bộ để đánh địa
chỉ thích hợp cho những điểm lưu trữ dữ liệu ở xa.
Mô hình dưới đây mô tả cách thức truy cập phức tạp hơn (truy cập gián
tiếp):
Theo mô hình truy cập này, chương trình ứng dụng thực hiện yêu cầu qua
chương trình phụ ở điểm khác. Chương trình phụ này được người lập trình ứng
dụng viết để truy cập từ xa đến cơ sở dữ liệu và trả về kết quả của chương trình
ứng dụng yêu cầu.
Hệ quản trị cơ sở dữ liệu phân tán cung cấp cả hai kiểu truy cập bỏi vì mỗi
cách truy cập đều có ưu điểm của nó.
c) Ưu và nhược điểm của hệ CSDL phân tán :

Đối tượng chủ yếu của hệ phân tán là cung cấp các dịch vụ truy cập dữ liệu và
trình diễn dữ liệu cho người sử dụng ở mọi nơi khác nhau. Để đáp ứng được điều này,
hệ thống phân tán phải được thiết kế về phần cứng lẫn phần mềm thích hợp với vị trí
địa lý và yêu cầu của người sử dụng. Cũng từ đó, chúng ta có thể thấy những ưu và
nhược điểm của hệ thống phân tán như sau :
- Ưu điểm :
+ Đáp ứng nhanh hầu hết các ứng dụng sử dụng dữ liệu tại các trạm.
+ Tăng cường các đơn thể ứng dụng và CSDL mà không làm cản trở người sử
dụng hiện tại.
HVTH: Trịnh Duy Sâm Trang: 11
Hệ quản trị cơ
sở dữ liệu 2
Kết quả

toàn bộ
Chương trình
ứng dụng

Chương trình phụ
Hệ quản trị cơ
sở dữ liệu 1
Hệ quản trị cơ
sở dữ liệu 2
Báo cáo chuyên đề: Cơ sở dữ liệu nâng cao
+ Kiểm soát dữ liệu địa phương theo hướng hoàn thiện sự tích hợp và quản trị
dữ liệu từ xa.
+ Tăng cường khả năng của hệ thống liên quan đến sự dư thừa dữ liệu.
- Nhược điểm :
+ Phần mềm đắt và phức tạp
+ Phải xử lý mọi thay đổi thông báo trong mọi địa điểm

+ Khó kiểm soát tính toàn vẹn dữ liệu với nhiều bản sao dữ liệu được phân bố
khắp mọi nơi.
+ Đáp ứng chậm nhu cầu của các trạm trong trường hợp các phần mềm ứng dụng
không được phân bố phù hợp với việc sử dụng chung.
d) Các mức phân tán.
Mức tập trung.
Toàn bộ cơ sở dữ liệu được đặt ở một nơi và tất cả các yêu cầu của người dùng
đều được xử lý tại nơi lưu trữ CSDL.
Ưu điểm: Việc quản lý tương đối dễ dàng.
Nhược điểm: Máy lưu trữ cơ sở dữ liệu phải có cấu hình đủ mạnh.
Mức dữ liệu ở một nơi, xử lý ở nhiều nơi.
Giả sử một máy tính nào đó trong mạng phát ra yêu cầu về dữ liệu thì yêu cầu
đó được gửi về Server. Sau đó dữ liệu này được chuyển từ Server đến máy tính đó để
xử lý dữ liệu.
Ưu điểm: Đáp ứng dữ liệu nhanh, máy lưu trữ dữ liệu không cần phải có cấu
hình mạnh.
Nhược điểm: Tăng lưu lượng trên đường truyền dữ liệu.
Mức dữ liệu ở nhiều nơi và xử lý ở nhiều nơi.
Chia cơ sở dữ liệu DB ban đầu thành các đoạn dữ liệu con (DB
1
, DB
2
, …, DB
i
,
…, DB
n
) được lưu trữ ở các máy tính, tại các địa điểm khác nhau. Khi máy tính thứ i
có yêu cầu về dữ liệu thì quá trình diễn ra như sau:
Tìm kiếm xem các dữ liệu đang được lưu trữ trên máy nào.

- Xử lý dữ liệu ngay tại nơi tìm được.
- Sau khi xử lý xong sẽ chuyển kết quả xử lý đó về máy thứ i có yêu cầu
ban đầu.
Ưu điểm: Xử lý công việc nhanh.
Nhược điểm: Rất khó khăn cho việc quản trị dữ liệu.

HVTH: Trịnh Duy Sâm Trang: 12
Báo cáo chuyên đề: Cơ sở dữ liệu nâng cao
PHẦN II. THIẾT KẾ CƠ SỞ DỮ LIỆU PHÂN TÁN
1) Nguyên tắc chung:
- Quyết định bố trí dữ liệu và chương trình trên các vị trí của mạng máy tính
cũng như thiết kế bản thân mạng.
Trong Hệ QTCSDLPT, việc bố trí ứng dụng bao gồm:
- Bố trí phần mềm Hệ QTCSDLPT.
- Bố trí các ứng dụng chạy trên CSDL.
Các khía cạnh của bài toán
- Thiết kế từ trên xuống (Top- down)
- Thiết kế từ dưới lên (Buttom-up)
2) Kiến trúc cơ bản của một cơ sở dữ liệu phân tán
HVTH: Trịnh Duy Sâm Trang: 13
Sơ đồ toàn cục (Global Schema)
Sơ đồ phân mảnh (Fragmentation
Schema)
Sơ đồ định vị (Allocation Schema)
Các
sơ đồ
độc
lập vị
trí
Sơ đồ ánh xạ địa phương 1

( Local mapping Schema 1)
)
Sơ đồ ánh xạ địa phương n
( Local mapping Schema n)
)
Hệ quản trị CSDL tại vị trí 1
( DBMS 1)
)
Hệ quản trị CSDL tại vị trí n
( DBMS n)
)
CSDL địa
phương 1
(Local
Database 1)
CSDL địa
phương n
(Local
Database n)
Báo cáo chuyên đề: Cơ sở dữ liệu nâng cao
3) Kiến trúc tham khảo dành cho CSDL phân tán
a) Sơ đồ tổng thể (Globle Schema):
• Xác định tất cả các dữ liệu sẽ được lưu trữ trong cơ sở dữ liệu phân tán cũng như các
dữ liệu không được phân tán ở các trạm trong hệ thống.
• Sơ đồ tổng thể được định nghĩa theo cách như trong CSDL tập trung.
• Trong mô hình quan hệ, sơ đồ tổng thể bao gồm định nghĩa của tập các quan hệ tổng
thể (Globle relation) .
b) Sơ đồ phân mảnh (fragment schema):
- Mỗi quan hệ tổng thể có thể chia thành một vài phần không giao nhau gọi là mảnh
(fragment).

- Có nhiều cách khác nhau để thực hiện việc phân chia này
- Sơ đồ phân mảnh mô tả các ánh xạ giữa các quan hệ tổng thể và các mảnh được định nghĩa
trong sơ đồ phân mảnh (fragmentation Schema),
- Các mảnh được mô tả bằng tên của quan hệ tổng thể cùng với chỉ mục mảnh. Chẳng hạn, Ri
được hiểu là mảnh thứ i của quan hệ R.
=> Phân mảnh dữ liệu là phân sơ đồ tổng thể định vị dữ liệu.
c. Sơ đồ định vị (allocation schema):
- Các mảnh là các phần logic của một quan hệ tổng thể được định vị vật lý trên một hay nhiều
trạm.
- Sơ đồ định vị xác định đoạn dữ liệu nào được định vị tại trạm nào trên mạng. Một đoạn dữ
liệu có thể nằm trên nhiều trạm.
- Tất cả các đoạn được liên kết với cùng một quan hệ tổng thể R và được định vị tại cùng một
trạm j cấu thành ảnh vật lý quan hệ tổng thể R tại trạm j.
- Do đó ta có thể ánh xạ một-một giữa một ảnh vật lý và một cặp (quan hệ tổng thể, trạm).
- Các ảnh vật lý có thể chỉ ra bằng tên của một quan hệ tổng thể và một chỉ mục trạm.
- Ký hiệu Ri để chỉ đoạn thứ i của quan hệ tổng thể R
- Ký hiệu Rj để chỉ ảnh vật lý của quan hệ tổng thể R tại trạm j
- Tương tự như vậy, bản sao của đoạn i thuộc quan hệ R tại trạm j được ký hiệu là Rij
d. Sơ đồ ánh xạ địa phương (Local mapping schema):
-Thực hiện ánh xạ các ảnh vật lý lên các đối tượng được thực hiện bởi hệ quản trị cơ sở dữ
liệu địa phương.
-Tất cả các đoạn của một quan hệ tổng thể trên cùng một trạm tạo ra một ảnh vật lý
HVTH: Trịnh Duy Sâm Trang: 14
R
R
1
R
2
R
3

R
4
R
1
1
R
2
1
R
1
2
R
2
2
R
2
3
R
3
3
R
4
3
Các
đoạn
Quan hệ tổng
thể
Hình ảnh vật

R

1
(Trạm 1 )
R
2
(Trạm 2 )
R
3
(Trạm 3 )
Các đoạn và hình ảnh vật lý của một quan hệ
tổng thể
Báo cáo chuyên đề: Cơ sở dữ liệu nâng cao
Ba yếu tố được suy ra từ kiểu kiến trúc này là:
a. Tách rời khái niệm phân đoạn dữ liệu với khái niệm định vị dữ liệu.
-Phân đoạn dữ liệu, bao gồm những công việc mà người lập trình ứng dụng làm việc với
quan hệ tổng thể, phân chia quan hệ tổng thể thành các đoạn.
-Thông qua tính trong suốt phân đoạn (fragmentation transparency) người lập trình sẽ nhìn
thấy được những đoạn dữ liệu bị phân chia như thế nào.
-Định vị dữ liệu lại liên quan đến các công việc của người sử dụng và người lập trình ứng
dụng tại trên các đoạn dữ liệu được định vị tại các trạm.
-Thông qua tính trong suốt vị trí (location transparency) người lập trình sẽ biết được vị trí
của các đoạn dữ liệu trên các trạm.
b. Biết được dữ liệu dư thừa
• Người lập trình ứng dụng có thể biết được dư thừa dữ liệu ở các trạm.
• Trên hình vẽ trên, chúng ta thấy rằng hai ảnh vật lý R2 và R3 có trùng lặp dữ liệu. Do
đó các đoạn dữ liệu trùng nhau có thể tránh được khi xây dựng các khối ảnh vật lý.
c. Độc lập với các DBMS địa phương
Tính chất này còn được gọi là trong suốt ánh xạ địa phương (local mapping transparency),
cho phép chúng ta khảo sát các vấn đề về quản lý CSDL phân tán mà không cần phải hiểu rõ
mô hình dữ liệu của DBMS địa phương đang sử dụng.
Ba yếu tố này tương ứng với ba mức trong suốt tương ứng

4) Các đặc điểm chính của hệ phân tán : (Tính chia sẽ, tính mỡ, khả năng song song, khả năng
mở rộng, khả năng thứ lỗi, độ tin cậy và nhất quán, tính trong suốt)
a) Chia sẻ tài nguyên
• Được thực hiện qua mạng truyền thông.
• Mỗi tài nguyên cần phải được quản lý bởi một chương trình có giao diện truyền thông
• Các tài nguyên có thể được truy nhập, cập nhật một cách tin cậy và nhất quán.
Quản lý tài nguyên bao gồm:
• Lập kế hoạch dự phòng
• Đặt tên cho các lớp tài nguyên
• Cho phép tài nguyên được truy nhập từ nơi này đến nơi khác
• Ánh xạ tên tài nguyên vào địa chỉ truyền thông.
b) Tính mở
Tính mở của hệ thống phân tán là tính dễ dàng mở rộng phần cứng của nó. Một hệ thống
được gọi là có tính mở thì phải có các điều kiện sau:
-Hệ thống có thể tạo nên bởi nhiều loại phần cứng và phần mềm của nhiều nhà cung cấp khác
nhau.
- Có thể bổ sung vào các dịch vụ dùng chung tài nguyên mà không phá hỏng hay nhân đôi
các dịch vụ đang tồn tại.
- Tính mở được hoàn thiện bằng cách xác định hay phân định rõ các giao diện chính của một
hệ và làm cho nó tương thích với các nhà phát triển phần mềm.
- Tính mở của hệ phân tán dựa trên việc cung cấp cơ chế truyền thông giữa các tiến trình và
công khai các giao diện dùng để truy nhập các tài nguyên chung.
c) Khả năng song song
- Hệ phân tán hoạt động trên một mạng truyền thông có nhiều máy tính, mỗi máy có thể có
một hay nhiều CPU.
- Có thể thực hiện nhiều tiến trình trong cùng một thời điểm. Việc thực hiện tiến trình theo cơ
chế phân chia thời gian (một CPU) hay (nhiều CPU).
Khả năng làm việc song song trong hệ phân tán được thể hiện qua hai tình huống sau:
- Nhiều người sử dụng đồng thời đưa ra các lệnh hay các tương tác với các chương trình ứng
dụng.

- Nhiều tiến trình Server chạy đồng thời, mỗi tiến trình phải đáp ứng yêu cầu từ các Clients.
HVTH: Trịnh Duy Sâm Trang: 15
Báo cáo chuyên đề: Cơ sở dữ liệu nâng cao
d) Khả năng mở rộng
-Khả năng mở rộng của một hệ phân tán được đặc trưng bởi tính không thay đổi phần mềm
hệ thống và phần mềm ứng dụng khi hệ được mở rộng.
-Yêu cầu cho việc mở rộng không chỉ là mở rộng phần cứng, về mạng mà nó trải trên các
khía cạnh khi thiết kế hệ phân tán.
Ví dụ: tần suất sử dụng trên mạng đột ngột. Để tránh tình trạng tắc nghẽn xảy ra khi chỉ
có một Server và phải đáp ứng các yêu cầu truy nhập các file đó. Người ta nhân bản các file
trên một Server khác và hệ thống được thiết kế sao cho việc thêm Server được dễ dàng. Một
số giải pháp khác là sử dụng Cache và các bảng sao dữ liệu.
e) Khả năng thứ lỗi
Việc thiết kế khả năng thứ lỗi các hệ thống máy tính dựa trên hai giải pháp sau:
• Dùng khả năng thay thế để đảm bảo sự hoạt động liên tục và hiệu quả.
• Dùng các chương trình hồi phục dữ liệu khi xảy ra sự cố.
f) Đảm bảo tin cậy và nhất quán
Hệ thống yêu cầu độ tin cậy như:
. Bí mật của dữ liệu
. Các chức năng khôi phục hư hỏng phải đảm bảo
. Ngoài ra các yêu cầu của hệ thống về tính nhất quán cũng thể hiện ở chổ: không có mâu
thuẩn trong nội dung cơ sở dữ liệu
g) Tính trong suốt
Tính trong suốt của một hệ phân tán được hiểu như là việc che khuất đi các thành phần
riêng biệt của hệ đối với người sử dụng và những người lập trình ứng dụng.
Các loại trong suốt trong hệ phân tán:
- Trong suốt phân đoạn (fragmentation transparency) :
Khi dữ liệu đã được phân đoạn thì việc truy cập vào CSDL được thực hiện bình thường
như là chưa bị phân tán và không ảnh hưởng tới người sử dụng.
Ví dụ: Xét quan hệ tổng thể NCC (Id, Tên, Tuổi) và các phân đoạn được tách ra từ nó:

NCC1 (Id1, Tên, Tuổi)
NCC2 (Id2, Tên, Tuổi)
NCC3 (Id3, Tên, Tuổi)
Giả sử DDBMS cung cấp tính trong suốt về phân đoạn, khi đó ta có thể thấy tính trong
suốt này được thể hiện như sau:
Khi muốn tìm một người có Id=”Id1“ thì chỉ cần tìm trên quan hệ tổng thể NCC mà
không cần biết quan hệ NCC có phân tán hay không.
SELECT *
FROM NCC
WHERE Id=”Id1”
- Trong suốt về vị trí (location transparency)
HVTH: Trịnh Duy Sâm Trang: 16
DBMS
NCC
1
NCC
2
NCC
3
Vị trí
1
Vị trí
2
Vị trí
3
Trong suốt phân đoạn
Báo cáo chuyên đề: Cơ sở dữ liệu nâng cao
• Người sử dụng không cần biết về vị trí vật lý của dữ liệu mà có quyền truy cập đến cơ
sở dữ liệu tại bất cứ vị trí nào.
• Các thao tác để lấy hoặc cập nhật một dữ liệu từ xa được tự động thực hiện bởi hệ

thống tại điểm đưa ra yêu cầu.
• Tính trong suốt về vị trí rất hữu ích, nó cho phép người sử dụng bỏ qua các bản sao dữ
liệu đã tồn tại ở mỗi vị trí. Do đó có thể di chuyển một bản sao dữ liệu từ một vị trí
này đến một vị trí khác và cho phép tạo các bản sao mới mà không ảnh hưởng đến các
ứng dụng.
Ví dụ: Với quan hệ tổng thể R và các phân đoạn như đã nói ở trên nhưng giả sử rằng
DDBMS cung cấp trong suốt về vị trí nhưng không trong suốt phân đoạn.
Xét câu truy vấn tìm người có Id=”Id1” .
SELECT *
FROM NCC1
WHERE Id=”Id1”
IF NOT #FOUND THEN
SELECT *
FROM NCC2
WHERE Id=”Id1”
• Đầu tiên hệ thống sẽ thực hiện tìm kiếm ở phân đoạn NCC1 và nếu DBMS trả về biến
điều khiển #FOUND thì một câu lệnh truy vấn tương tự được thực hiện trên phân
đoạn NCC2 ,
• Ở đây quan hệ NCC2 được sao làm hai bản trên hai vị trí1 và vị trí2, ta chỉ cần tìm
thông tin trên quan hệ NCC2 mà không cần quan tâm nó ở vị trí nào.
- Trong suốt ánh xạ địa phương (local mapping transparency)
• Là một đặc tính quan trọng trong một hệ thống DBMS không đồng nhất.
• Ứng dụng tham chiếu đến các đối tượng có các tên độc lập từ các hệ thống cục bộ địa
phương.
• Ứng dụng được cài đặt trên một hệ thống không đồng nhất nhưng được sử dụng như
một hệ thống đồng nhất.
- Không trong suốt (no transparency)
5) Các bước thiết kế cơ sở dữ liệu phân tán :
HVTH: Trịnh Duy Sâm Trang: 17
DBMS

NCC
1
NCC
2
NCC
3
Vị trí
1
Vị trí
2
Vị trí
3
Sự trong suốt về vị trí
DBMS
NCC
1
NCC
2
Vị trí
1
Vị trí
2
Sự trong suốt ánh xạ địa phương
Báo cáo chuyên đề: Cơ sở dữ liệu nâng cao
Hiện nay chưa có một kỹ thuật cụ thể nào nói một cách chi tiết cách thiết kế một CSDL
phân tán. Tuy nhiên, một cách tổng quát chúng ta có thể thiết kế CSDL phân tán theo các
bước sau:
a. Thiết kế lược đồ quan hệ tổng thể :
• Thiết kế các quan hệ tổng thể
• Mô tả toàn bộ dữ liệu sẽ được dùng trong hệ thống

b. Thiết kế phân đoạn : Thực hiện chia nhỏ dữ liệu thành các phần.
c. Thiết kế định vị các đoạn:
• Là quá trình thực hiện ánh xạ các đoạn vào các trạm khác nhau
• Tạo các ảnh vật lý tại các trạm.
• Các đoạn dữ liệu được đưa vào các vị trí lưu trữ thích hợp với yêu cầu hoạt
động thực tế của hệ thống.
d. Thiết kế cơ sở dữ liệu vật l ý: Thiết kế dữ liệu vật lý cho các quan hệ tại các trạm .
6) Các phương pháp thiết kế CSDL phân tán :
Có 2 phương pháp cơ bản : Phương pháp tiếp cận từ trên xuống và Phương pháp tiếp cận
từ dưới lên.
a) Phương pháp thiết kế từ trên xuống :
• Các định nghĩa: định nghĩa môi trường hệ thống, dữ liệu và các tiến trình cho tất cả
những khả năng về dữ liệu của NSD
• Thiết kế view: Xây dựng khung nhìn dữ liệu cho NSD
• Thiết kế mức quan niệm: Là một tiến trình kiểm tra và xác định rõ hai nhóm quan hệ:
phân tích thực thể và phân tích chức năng.
+ Phân tích thực thể: Xác định các tập thực thể, các thuộc tính và các mối quan hệ giữa
chúng.
+ Phân tích chức năng: Xác định các chức năng của hệ thống và đưa ra các chức năng
cơ sở.
• Thiết kế phân tán: bao gồm hai phần:
+ Thiết kế phân đoạn
+ Thiết kế định vị
• Lược đồ quan niệm địa phương: Tạo ra các lược đồ mức quan niệm tại các địa
phương
• Thiết kế vật lý: Thực hiện ánh xạ lược đồ mức quan niệm tại các địa phương ra các
đơn vị lưu trữ vật lý
HVTH: Trịnh Duy Sâm Trang: 18
Thiết kế lược đồ quan hệ tổng thể
Thiết kế phân đoạn

Thiết kế định vị các đoạn
(Tạo các ảnh vật lý)
Thiết kế CSDL vật lý
Sơ đồ thiết kế tổng thể
Báo cáo chuyên đề: Cơ sở dữ liệu nâng cao
• Quan sát và kiểm tra: Kiểm tra các giai đoạn của quá trình thiết kế cơ sở dữ liệu.
b) Phương pháp thiết kế từ dưới lên :
Nhận xét
• Phương pháp thiết kế trên xuống thực sự có hiệu quả khi xây dựng một hệ thống mới.
• Trong thực tế, một số CSDL đã tồn tại trước được tổ chức trong môi trường tập trung
và CSDL phân tán được phát triển bằng cách liên kết chúng lại thành một CSDL mới
thống nhất (Các DBMS địa phương khác nhau đã được sử dụng)
Cách thiết kế
1. Chọn một mô hình dữ liệu chung để mô tả lược đồ tổng thể
2. Chuyển mỗi lược đồ địa phương theo mô hình dữ liệu chung đã chọn
3. Tích hợp các lược đồ địa phương vào lược đồ tổng thể
7) Các kiểu phân mảnh dữ liệu .
Việc chia một quan hệ thành nhiều quan hệ nhỏ hơn được gọi là phân mảnh quan hệ. Các
loại phân mảnh:
• Phân mảnh ngang (horizontal fragmentation)
+ Phân mảnh ngang nguyên thủy (primary horizontal frag.)
+ Phân mảnh ngang dẫn xuất (derived horizontal frag.)
• Phân mảnh dọc (vertical fragmentation).
• Phân mảnh hỗn hợp (hibrid frag.) tức là kết hợp cả phân mảnh ngang và phân mảnh
dọc.
a) Phân mảnh ngang
i. Phân mảnh ngang một quan hệ tổng thể n-bộ R là tách R thành các quan hệ
con n-bộ R
1
, R

2
, , R
k
sao cho quan hệ R có thể được khôi phục lại từ các
quan hệ con này bằng phép hợp: R = R
1
∪ R
2
∪ ∪ R
k
ii. Có hai loại phân mảnh ngang:
HVTH: Trịnh Duy Sâm Trang: 19
Báo cáo chuyên đề: Cơ sở dữ liệu nâng cao
- Phân mảnh ngang nguyên thủy (primary horizontal fragmentation): phân mảnh
ngang nguyên thủy của một quan hệ được thực hiện dựa trên các vị từ được định
nghĩa trên quan hệ đó.
- Phân mảnh ngang được suy (derived horizontal fragmentation): phân mảnh
ngang được suy của một quan hệ được thực hiện dựa trên các vị từ được định
nghĩa trên quan hệ khác.
b)Phân mảnh dọc
Đã được nghiên cứu trong ngữ cảnh tập trung
- Phương pháp luận thiết kế ( bài ôn về PTH, thiết kếCSDL)
- Gom cụm vật lý
- Khó hơn phân mảnh ngang vì có nhiều cách.
Hai tiếp cận:
- Nhóm
o Các thuộc tính tới phân mảnh
- Tách
o Quan hệ tới phân mảnh
Các mảnh chồng nhau Overlapping fragments

- Gom nhóm ( grouping )
- Các mảnh không chồng nhau
- Tách ( splitting )
Ta không xem xét các thuộc tính khóa được nhân bản là có chồng nhau.
Tiện lợi: Dễ ép thỏa các Phụ thuộc hàm (kiểm tra ràng buộc )
Yêu cầu thông tin của phân mảnh dọc
Các ái lực thuộc tính (Attribute affinities)
- Độ đo phản ánh các thuộc tính quan hệ gần nhau
- Nhận được từ dữ liệu sử dụng ban đầu
- Giá trị sử dụng thuộc tính (Attribute usage values)
- Cho tập các truy vấn Q = {q1, q2,…, qq} chạy trên quan hệ R[A1, A2,…, An],
use(qi,Aj) =
 1 nếu thuộc tính Aj được tham chiếu bới truy vấn qi
 0 ngược lại
use(qi,•) được định nghĩa tương ứng
- Ma trận use(A,Q) là ma trận gồm Q dòng các query và A cột các thuộc tính mỗi
phần tử trong ma trận chỉ mang giá trị 0 hoặc 1.
- VF – Độ đó ái lực aff(Ai,Aj)
Độ đo ái lực thuộc tính giữa 2 thuộc tính Ai và Aj của quan hệ R[A1, A2, …, An] ứng
với tập quan hệ Q = (q1, q2, …, qq) được định nghĩa như sau:
aff (Ai, Aj) = ∑
all queries that access A
(query access) i and Aj
query access ∑
all sites
access frequency of a query *
HVTH: Trịnh Duy Sâm Trang: 20
Access
execution
Báo cáo chuyên đề: Cơ sở dữ liệu nâng cao

Thuật toán năng lượng liên kết BEA:
Thuật toán năng lượng liên kết - Bond Energy Algorithm (BEA) được dùng để gom
cụm các thực thể. BEA tìm thứ tự các thực thể ( trong trường hợp này là các thuộc
tính) sao cho độ đo ái lực toàn cục sau là cực đại.
Nhập: Ma trận AA
Xuất: Ma trận ái lực gom cụm CA là một sắp xếp của các hoán vị AA
- Khởi tạo: Đặt và cố định một trong các cột của AA vào CA.
- Lặp: Đặt n-i cột còn lại vào i+1 vị trí còn lại trong ma trận CA. Đối với từng
cột, chọn vị trí đóng góp (contri bution) lớn nhất vào độ đo ái lực toàn cục.
- Sắp thứ tự dòng:Sắp xếp các dòng theo thứ tự cột.
Thuật toán phân mảnh dọc:
Cách chia tập các thuộc tính gom cụm {A1, A2, …,An} thành hai (hay nhiều
hơn) các tập {A1, A2, …,Ai} và {Ai, …, An} sao cho không có (hay có tối
thiểu) các ứng dụng truy cập cả hai (hay nhiều hơn một) của các tập hợp.
Định nghĩa
TQ = tập các ứng dụng chỉ truy cập TA
BQ = tập các ứng dụng chỉ truy cập BA
OQ = tập các ứng dụng chỉ truy cập vừa TA và BAvà
CTQ = tổng số các truy cập đến các thuộc tính bởi các ứng dụng chỉ truy cập
TA
CBQ = tổng số các truy cập đến thuộc tính bởi ứng dụng chỉ truy cập BA
COQ = tổng số các truy cập đến thuộc tính bởi ứng dụng truy cập cả TA và BA
Sau đó tìm điểm dọc theo đường chéo làm cực đại
CTQ*CBQ-COQ
2
HVTH: Trịnh Duy Sâm Trang: 21
Báo cáo chuyên đề: Cơ sở dữ liệu nâng cao
c) Phân mảnh hỗn hợp
- Kết hợp vừa phân mảnh ngang vừa phân mảnh dọc
Chú ý: Quá trình phân mảnh phải được gắn liền với vấn đề cấp phát dữ liệu và bài toán cụ

thể như thế nào.
Ví dụ: Xét cơ sở dữ liệu của một công ty máy tính được tổ chức như sau:
 NHANVIEN (MANV, TENNV, CHUCVU): quan hệ chứa dữ liệu về nhân
viên của công ty.
 TLUONG (CHUCVU, LUONG): quan hệ chứa dữ liệu quản lý các bậc lương
của nhân viên trong công ty.
 DUAN (MADA, TENDA, NGANSACH): quan hệ chứa dữ liệu về các dự án
mà công ty đang phát triển.
 HOSO (MANV, MADA, NHIEMVU, THOIGIAN): quan hệ chứa dữ liệu về
hồ sơ của nhân viên được phân công thực hiện dự án).
HVTH: Trịnh Duy Sâm Trang: 22
Báo cáo chuyên đề: Cơ sở dữ liệu nâng cao
8) Các yêu cầu về việc phân mảnh :
Việc phân mảnh một quan hệ tổng thể cũng phải tuân theo một số quy tắc để khi tái thiết
lại quan hệ cũ vẫn bảo đảm ngữ nghĩa của nó.
Một phương pháp thiết kế các phân mảnh đúng đắn phải thỏa mãn ba tính chất sau:
a. Tính đầy đủ (completeness)
Nếu một quan hệ R được phân rã thành các mảnh R1, R2, , Rk thì mỗi mục dữ liệu có
trong R phải có trong một hoặc nhiều mảnh Ri
b. Tính tái thiết được (reconstruction)
Nếu một quan hệ R được phân rã thành các mảnh R1, R2, , Rk thì phải tồn tại một toán
tử θ sao cho: R = θ Ri , ∀i.
Toán tử θ thay đổi tùy theo từng loại phân mảnh.
Trong thực tế khi các mảnh được phân mảnh ngang thì θ là phép hợp, phân mảnh dọc thì
θ là phép nối và phân mảnh hỗn hợp thì θ là phép nửa nối .
c. Tính tách biệt (disjointness):
Nếu một quan hệ R được phân mảnh ngang thành các quan hệ R1, R2, , Rk và mục dữ
liệu ti nằm trong mảnh Ri thì nó sẽ không nằm trong một mảnh Rk, k≠i.
Tiêu chuẩn này bảo đảm các mảnh ngang phải được tách rời nhau.
Nếu quan hệ được phân mảnh dọc thì thuộc tính chung phải được lặp lại trong mỗi mảnh.

Do đó, trong trường hợp phân mảnh dọc tính tách biệt chỉ được định nghĩa trên các
trường không phải là thuộc tính chung của quan hệ.
HVTH: Trịnh Duy Sâm Trang: 23
Báo cáo chuyên đề: Cơ sở dữ liệu nâng cao
PHẦN III. XÂY DỰNG PHẦN MỀM HỖ TRỢ
THIẾT KẾ PHÂN MẢNH DỌC
1) Giới thiệu:
- Phần mềm được xây dựng với mục đích hỗ trợ người dùng tính toán và thiết
kế cơ sở dữ liệu phân tán – phân mảnh dọc một cách tốt nhất
- Phần mềm được xây dựng trên môi trường Visual Studio 2008. Với ngôn
ngữ lập trình C#.
- Hiện thực các thuật toán BEA và thuật toán phân mảnh dọc
- Đoạn mã chương trình:
o Thuật toán BEA
public void BEA()
{ int kichthuoc = ls_A_not_key.Count();
thutu_thuoctinh = new List<int>();
int size = 0;
int vitri;
double max = 0;
double con;
thutu_thuoctinh.Add(0);
for (int i = 1; i < kichthuoc; i++)
{
size = thutu_thuoctinh.Count();
max = cont(-1, i,thutu_thuoctinh[0]);
vitri=0;
for (int ind = 0; ind < size; ind++)
{
if(ind+1 < size)

con=cont(thutu_thuoctinh[ind], i, thutu_thuoctinh[ind+1]);
else
con = cont(thutu_thuoctinh[ind],i,-1);
if (con >= max)
{ max = con; vitri = ind+1; }
}
if (vitri == size)
{
thutu_thuoctinh.Add(i);
Tao_Matran_CA(thutu_thuoctinh);
}
else
{
thutu_thuoctinh.Add(0);
for (int k = thutu_thuoctinh.Count()-1; k > vitri; k )
{
thutu_thuoctinh[k] = thutu_thuoctinh[k-1];
}
thutu_thuoctinh[vitri] = i;
Tao_Matran_CA(thutu_thuoctinh);
}
}
}
HVTH: Trịnh Duy Sâm Trang: 24

×