MỤC LỤC
DANH MỤC CÁC KÝ HIỆU, CÁC TỪ VIẾT TẮT
CÁC KÝ HIỆU
1. Các phép toán tập hợp
∪
∩
x
Phép hợp
Phép giao
Tích đề các
2. Các phép toán quan hệ
σ
Phép chọn
π
phép chiếu
Phép nối
Quản trị dữ liệu
TTDL
Truyền thông dữ liệu
TDDL
Từ điển dữ liệu
DANH MỤC CÁC BẢNG
Số hiệu bảng
Bảng 1.1.
Bảng 2.1.
Bảng 2.2.
Bảng 2.3.
Tên bảng
So sánh các tính chất đặc trưng của CSDL tập
trung và CSDL phân tán
Ký hiệu quy ước cho hệ thống mã
Dạng mã hóa sở ban ngành tương đương, huyện,
xã trực thuộc
Áp mã cho hệ thống cụ thể mã các sở, ngành
tương đương
Trang
9
34
tương đương hoặc huyện
Áp mã cụ thể cho phòng trực thuộc sở ban ngành
tương đương hoặc huyện
Dạng mã hóa chức danh cán bộ, công chức cấp xã
Áp mã cụ thể cho chức danh cán bộ, công chức
cấp xã
Dạng mã hóa nhân sự
Áp mã cho nhân sự cụ thể
Dạng mã hóa các quyền truy xuất ngang
Dạng mã hóa các quyền truy xuất dọc
Áp dụng bảng mã cụ thể cho quyền truy xuất dọc
các sở, ban ngành tương đương
Ma trận sử dụng thuộc tính
Ma trận thuộc tính hấp dẫn AA
Ma trận hấp dẫn tụ
So sánh kiểm soát toàn vẹn ngữ nghĩa tập trung và
phân tán
Bảng tương thích của các thể thức khóa
37
37
38
38
38
38
39
40
40
49
nhanh về nhân sự tại Quảng Bình
Kiến trúc tham chiếu của CSDL phân tán
Các phân mảnh và mô hình vật lý cho một quan hệ
toàn cục
Truy xuất từ xa thông qua các tác vụ cơ bản
Truy xuất từ xa thông qua chương trình phụ trợ
Trong suốt phân đoạn
Trong suốt định vị
Trong suốt ánh xạ địa phương
Phân mảnh hỗn hợp
Mô hình giao dịch
Cơ cấu tổ chức các cơ quan hành chính tỉnh Quảng
Bình
Trang
5
6
8
11
12
13
13
15
15
16
23
29
32
Hình 2.2.
Hình 3.1.
Hình 3.2.
Hình 3.3.
Hình 3.4.
a,b,c
Hình 3.5.
Lược đồ phân tầng tổng quát để xử lý truy vấn
phân tán
Biểu đồ phân cấp chức năng
Biểu đồ luồng dữ liệu mức ngữ cảnh
Biểu đồ luồng dữ liệu mức đỉnh
Các Biểu đồ luồng dữ liệu mức dưới đỉnh
Phân loại các thuật toán điều khiển tương tranh
57
68
68
69
69,70
78
Số hiệu
Hình
Hình 3.6.
Hình 3.7.
Hình 3.8.
Hình 3.9.
Hình 3.10.
81
82
82
Cập nhật các thông tin khác
93
Lựa chọn đơn vị để liệt kê nhân sự trực thuộc
Chức năng thuyên chuyển công tác
Đăng nhập hệ thống (a) và kết quả bảng dữ liệu
nhân sự (b) ở cụm server 3
Đăng nhập hệ thống (a) và kết quả bảng dữ liệu
nhân sự (b) ở cụm server 2
Đăng nhập hệ thống (a) và kết quả bảng dữ liệu
nhân sự (b) ở cụm server 1
94
95
87
89
91
93
96
96
97
7
chính nhà nước của tỉnh. Vì vậy, đề tài “Xây dựng cơ sở dữ liệu phân tán
phục vụ thông tin nhanh về nhân sự tại Quảng Bình” được lựa chọn là
hướng đi phù hợp với hệ thống quản lý đa tầng, phức tạp, phải xử lý theo
hướng phân tán mới giải quyết được yêu cầu bài toán; đồng thời hỗ trợ
thực hiện cải cách hành chính, hướng tới chính quyền điện tử là vấn đề tỉnh
Quảng Bình đang quan tâm ưu tiên thực hiện trong giai đoạn hiện nay.
2. Mục tiêu nghiên cứu
Nghiên cứu lý thuyết cơ sở dữ liệu phân tán để xây dựng cơ sở dữ liệu
phân tán giải quyết bài toán đã đặt ra. Tập trung vào hai nội dung chính: tin
học hóa trong công tác quản lý hành chính nhà nước và trợ giúp thông tin
nhanh về nhân sự. Ứng dụng có khả năng kết nối mạng giữa ba cấp: tỉnh,
huyện và xã; có khả năng mở rộng để kết nối với cơ sở dữ liệu Trung ương
trong tương lai.
3. Đối tượng và phạm vi nghiên cứu
3.1. Đối tượng nghiên cứu
- Lý thuyết hệ tin học phân tán; cơ sở dữ liệu phân tán.
- Các công cụ, công nghệ được sử dụng để xây dựng cơ sở dữ liệu phân
tán theo mô hình giải pháp đã lựu chọn.
- Hồ sơ cán bộ, công chức, viên chức tỉnh Quảng Bình.
3.2. Phạm vi nghiên cứu
- Quy trình quản lý hồ sơ cán bộ, công chức; các văn bản quy phạm pháp
luật về quản lý hồ sơ cán bộ, công chức hiện hành.
- Thiết kế, phân mảnh cơ sở dữ liệu và cấp phát các mảnh; điều khiển
đồng thời phân tán.
CHƯƠNG 1
TỔNG QUAN VỀ CƠ SỞ DỮ LIỆU PHÂN TÁN
Hệ cơ sở dữ liệu phân tán phục vụ thông tin nhanh về nhân sự tại Quảng
Bình là hệ thống hợp nhất quản lý từ cấp tỉnh đến tất cả các xã trực thuộc
huyện, do dó cơ sở dữ liệu phục vụ quản lý phải hợp nhất và là tài nguyên
dùng chung để khai thác hiệu quả về công tác quản lý nhân sự.
Hệ thống có sự phân cấp khác nhau nhằm mục đích quản lý, tra cứu,
thống kê và cập nhật thông tin một cách nhanh chóng, hiệu quả. Trên cơ sở
đó, hệ quản lý phân cấp thành 3 cụm Server khác nhau và phân tán trên phạm
vi địa lý khác nhau. Cụm thứ nhất quản lý nhân sự cấp sở, ban ngành tương
đương trực thuộc tỉnh. Cụm thứ hai quản lý nhân sự cấp huyện, ở đây chủ yếu
quản lý nhân sự các phòng trực thuộc huyện. Cụm thứ ba quản lý nhân sự cấp
xã, công tác quản lý tập trung là các cán bộ có chức danh thuộc xã.
Việc phân tán cơ sở dữ liệu và chương trình trên hệ thống 3 cụm Server
khác nhau theo Hình 1 buộc phải có sự phân tích, thiết kế và vận hành hệ đảm
bảo tính hoạt động ổn định và gắn bó trên hệ. Bên cạnh đó, công tác quản lý
các luồng dữ liệu khai thác dùng chung là yếu tố sống còn của hệ, như vậy ta
có thể phân chia hệ thành hai thành phần cơ bản là mạng máy tính và cơ sở dữ
liệu phân tán.
1.1. MẠNG MÁY TÍNH
- Là tập các máy tính tự vận hành, được kết nối lại và có khả năng trao
đổi thông tin giữa chúng.
- Các máy tính trên một mạng thường được gọi là các nút hay các trạm,
chúng tạo ra các phần cứng cơ bản của mạng và được kết nối lại với nhau bởi
một đường truyền.
10
Nguyên lý các hệ cơ
sở dữ liệu phân tán được
xây dựng dựa trên sự kết
hợp của hai hướng tiếp cận
đối với quá trình xử lý dữ
liệu đó là: lý thuyết hệ cơ
sở dữ liệu và công nghệ
mạng máy tính [4].
Một cơ sở dữ liệu
phân tán là một tập hợp
nhiều cơ sở dữ liệu có liên
đới logic và được phân bố
Hình 1.2. Môi trường hệ cơ sở dữ liệu phân tán
trên một mạng máy tính theo Hình 1.2.
Mỗi vị trí có quyền tự quản cơ sở dữ liệu cục bộ của mình và thực thi các
ứng dụng cục bộ. Mỗi vị trí cũng phải tham gia vào việc thực thi ít nhất một
ứng dụng toàn cục mà yêu cầu truy xuất dữ liệu tại nhiều vị trí qua mạng.
Định nghĩa này nhấn mạnh hai khía cạnh quan trọng của cơ sở dữ liệu
phân tán:
- Tính phân tán: Dữ liệu thực tế không cư trú ở cùng một vị trí;
- Sự tương quan logic: Các dữ liệu có một số tính chất ràng buộc lẫn nhau.
Đối với hệ thống phục vụ thông tin nhanh về nhân sự tại Quảng Bình có
các đặc điểm về xử lý tại các cụm Server:
Cụm Server cấp xã: nhập liệu cán bộ, xử lý thông tin về cá nhân, thống kê
chuyển một phần thông tin về cán bộ mới cập nhật lên cụm Server cấp huyện.
Cụm Server cấp huyện: nhập liệu cán bộ, xử lý thông tin về cá nhân, thống
Theo hình 1.3, người sử dụng tác động đến truyền thông dữ liệu để yêu
cầu nguồn thông tin mà mình mong muốn, các hoạt động bên trong hệ thống
người dùng không quan tâm đến hay cần biết hiện nguồn dữ liệu đang nằm ở
vị trí nào. Các kết nối để lựa chọn dữ liệu trên các cụm Server khác được thực
hiện dựa trên thành phần là cơ sở dữ liệu phân tán.
Hình 1.3. Các thành phần của cơ sở dữ liệu phân tán
thông tin nhanh về nhân sự tại Quảng Bình
1.2.3. Các điểm đặc trưng của cơ sở dữ liệu phân tán
Cơ sở dữ liệu phân tán không đơn giản là việc phân tán các cơ sở dữ liệu
tập trung, nó cho phép thiết kế các hệ thống có các tính chất khác với hệ
thống tập trung truyền thống. So sánh các tính chất đặc trưng của cơ sở dữ
14
liệu tập trung và cơ sở dữ liệu phân tán như sau:
Bảng 1.1. So sánh các tính chất đặc trưng của cơ sở dữ liệu tập trung
và cơ sở dữ liệu phân tán
Tính chất đặc
Cơ sở dữ liệu tập trung
trưng
Cơ sở dữ liệu phân tán
- Điều khiển tập trung trên - Cấu trúc điều khiển phân
chương trình ứng dụng không bị
- Ưu điểm: các chương trình ảnh huởng bởi sự di chuyển dữ
không bị ảnh hưởng bởi sự liệu từ vị trí này đến vị trí khác.
thay đổi tổ chức vật lý của
dữ liệu
- Giảm thiểu dư thừa dữ liệu
đảm bảo tính gắn bó.
Giảm thiểu dư thừa dữ liệu
Dư thừa dữ do:
liệu
- Tính gắn bó dữ liệu.
- Tiết kiệm dung lượng nhớ.
- Nhân bản dữ liệu đến các địa
điểm mà các ứng dụng cần đến,
giúp việc thực thi các ứng dụng
không dừng nếu có một địa
điểm bị hỏng. Tuy nhiên vấn đề
quản lý gắn bó dữ liệu sẽ phức
tạp hơn.
15
Tính chất đặc
trưng
thời
Việc chọn lựa cơ sở dữ liệu phân tán sẽ thích hợp đối với các ứng dụng
phát triển trong một hệ thống mạng diện rộng do cải tiến hiệu năng, giảm
tranh chấp và giảm chi phí truyền bằng cách phân mảnh và phân tán dữ liệu
hợp lý. Đối với trường hợp xây dựng hệ thống phục vụ thông tin nhanh về
nhân sự tại Quảng Bình, việc lựa chọn cơ sử dữ liệu phân mảnh dọc là bài
toán tối ưu cho ứng dụng quản lý, tra cứu và thống kê nhân sự tại tỉnh và đảm
bảo hiệu năng khai thác sử dụng và giảm chi phí truyền.
1.2.4. Kiến trúc tham chiếu của cơ sở dữ liệu phân tán
Kiến trúc tham chiếu không được cài đặt rõ ràng trên tất cả cơ sở dữ
liệu phân tán, tuy nhiên các mức của nó được khái quát chính xác, thích hợp
để mô tả tổ chức chung cho mọi hệ cơ sở dữ liệu phân tán.
16
Hình 1.4. Kiến trúc tham chiếu của cơ sở dữ liệu phân tán
- Lược đồ toàn cục: Mô tả tổng thể và thống nhất chung nhất của tất cả
dữ liệu của cơ sở dữ liệu phân tán độc lập với môi trường phân tán.
- Lược đồ phân mảnh: Mỗi quan hệ toàn cục có thể được chia thành các
thành phần không trùng nhau được gọi là các phân mảnh. Lược đồ phân mảnh
định nghĩa ánh xạ giữa các quan hệ toàn cục và các phân mảnh. Ánh xạ này là
một - nhiều: Một số mảnh tương ứng với một quan hệ toàn cục, nhưng chỉ
một quan hệ toàn cục tương ứng với một mảnh. Ký hiệu Ri là mảnh thứ i của
quan hệ toàn cục R.
- Lược đồ cấp phát: Các mảnh là các thành phần logic của các quan hệ
toàn cục, được lưu trữ vật lý tại một hay một số vị trí. Lược đồ cấp phát xác
17
lý, sau khi xử lý xong,
chương trình tiếp tục
gửi yêu cầu truy xuất
CSDL gửi DDBMS2 xử Hình 1.6. Truy xuất từ xa thông qua các tác vụ cơ bản
lý và gửi đến vị trí chứa dữ liệu đó. Thực hiện xong sẽ gửi kết quả trả về (theo
Hình 1.6).
b. Truy xuất từ xa
thông qua chương trình
phụ trợ
Một ứng dụng yêu
cầu
thực
hiện
một
chương trình phụ trợ.
Chương trình phụ trợ
này sẽ truy xuất CSDL
từ xa và trả lại kết quả
cho chương trình ứng
dụng đang yêu cầu. Tại
Hình 1.7. Truy xuất từ xa thông qua chương trình phụ trợ
19
Sở Nội vụ yêu cầu xem lý lích trích ngang của Chủ tịch Hội đồng nhân dân từ
dùng. Khi dữ liệu đã được
phân mảnh thì việc truy cập
vào cơ sở dữ liệu được thực
hiện như lúc chưa phân tán và
không ảnh hưởng tới người sử
dụng.
- Trong suốt định vị
(trong suốt tên): theo Hình 1.9
người dùng không nhận biết
được vị trí của đối tượng. Đối
Hình 1.8. Trong suốt phân đoạn
tượng được định vị và chỉ dẫn theo tên lôgic trong một hệ thống thống nhất.
Trong suốt di trú (còn được
gọi là độc lập định vị): là tính
chất bổ sung vào trong suốt
định vị theo nghĩa không
những đối tượng được chỉ dẫn
bằng tên lôgic mà đối tượng
còn được di chuyển tới định vị
vật lý khác mà không cần đổi
tên.
Hình 1.9. Trong suốt định vị
Tính trong suốt định vị 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ừ vị trí này đến vị trí khác và cho phép tạo ra bản sao mới mà
- Trong suốt lỗi: cung cấp khả năng thứ lỗi của hệ thống được hiểu là lỗi
trong hệ thống có thể được biến đổi thành sự giảm hiệu năng hệ thống một
cách mềm dẻo hơn chứ không phải chỉ là làm cực tiểu sự đổ vỡ và nguy hiểm
đối với người dùng.
- Trong suốt hiệu năng: cố gắng giành được tính gắn bó và khẳng định
(không cần thiết ngang bằng) mức độ hiệu năng thậm chí khi thay đổi cấu trúc
hệ thống hoặc phân bố tải. Hơn nữa, người dùng không phải chịu sự chậm trễ
hoặc thay đổi quá mức khi thao tác từ xa. Trong suốt hiệu năng còn được thể
22
hiện là hiệu năng hệ thống không bị giảm theo thời gian.
- Trong suốt kích thước: liên quan đến tính mềm dẻo và tiềm tàng. Nó
cho phép sự tăng trưởng của hệ thống được che khuất đối với người sử dụng.
Kích thước hệ thống không tạo ra tác động đối với nhận thức của người dùng.
1.4. PHÂN MẢNH VÀ CẤP PHÁT DỮ LIỆU
1.4.1. Phân mảnh dữ liệu
a. Lý do phân mảnh
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. 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ý.
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ị dữ liệu, sẽ cho phép thực hiện nhiều giao dịch đồng thời. Phân mảnh
các quan hệ cũng cho phép thực hiện song song một câu truy vấn bằng cách
chia nó thành một tập các câu truy vấn 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
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 tính trong phân mảnh dọc.
- 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 bảo toàn các phụ thuộc.
- 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 dj nằm trong một mảnh Rj 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ì
24
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ệ.
c. Mức độ phân mảnh
Phân mảnh cơ sở dữ liệu đến mức độ nào là đủ để không làm ảnh hưởng
đến hiệu năng của việc thực hiện truy vấn. Mức độ phân mảnh có thể là phân
mảnh một quan hệ chưa được phân mảnh, có thể phân mảnh các quan hệ đã
được phân mảnh. Có thể phân mảnh theo chiều dọc hoặc theo chiều ngang.
Một mức độ ứng phân mảnh thích hợp sao cho tránh được các hạn chế
khi phân mảnh chỉ được định nghĩa ứng với các ứng dụng sẽ chạy trên cơ sở
dữ liệu. Trong hệ thống phục vụ thông tin nhanh về nhân sự tại Quảng Bình,
việc phân mảnh dọc sẽ thực hiện phân mảnh trên cụm Server 1 và cụm Server
2; các mảnh được phân dựa trên chi phí cập nhật và tra cứu để tối ưu đối với
ứng dụng được triển khai và chi phí đường truyền cũng như truy vấn trong hệ.
d. Các phương pháp phân mảnh
đường nối theo phép toán chọn trên quan hệ chủ.
Mục tiêu của phân mảnh ngang dẫn xuất là phân chia các quan hệ thành
viên thành các mảnh của quan hệ chủ được định nghĩa trên các thuộc tính của
quan hệ thành viên. Vì vậy, liên kết giữa quan hệ chủ và quan hệ thành viên
được định nghĩa như là một nối bằng và nối bằng có thể được cài đặt nối nửa.
Cho một đường nối L, trong đó, Owner(L) = S và Member(L) = R. Phân
mảnh ngang dẫn xuất của R được định nghĩa như sau:
Ri = R
Si
1 ≤ i ≤ k, trong đó, k là số mảnh
, Fi là biểu thức định nghĩa mảnh ngang nguyên thuỷ Si.
Nhận xét :
- Phân mảnh dẫn xuất có thể xảy ra dây chuyền, trong đó một quan hệ
được phân mảnh như là hệ quả của một phân mảnh cho một quan hệ khác, và
đến lượt nó lại làm cho các quan hệ khác phải phân mảnh.
- Một quan hệ có thể có nhiều cách phân mảnh. Chọn một lược đồ phân
mảnh nào cho tối ưu phụ thuộc vào ứng dụng và cấp phát.
- Phân mảnh dọc