Đạ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
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ơ
Đ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.
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à)
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ơ
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
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 :
+ 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.
( 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).
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
lý
R
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.
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ệ
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
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
- 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
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.
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