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

CƠ SỞ DỮ LIỆU PHÂN TÁN DISTRIBUTED DATABASES

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 (3.16 MB, 41 trang )

3/14/2014

THÔNG TIN VỀ HỌC PHẦN
Tên học phần: CSDL Phân tán- Distributed Database
Mã học phần: TIN4112 Số tín chỉ: 2 (30 tiết)
Yêu cầu của học phần: Bắt buộc

CƠ SỞ DỮ LIỆU PHÂN TÁN

Các học phần tiên quyết:

DISTRIBUTED DATABASES

Ngôn ngữ lập trình bậc cao
Nhập môn cơ sở dữ liệu
Thiết kế cơ sở dữ liệu.

PGS.TS. Nguyễn Mậu Hân

Mạng máy tính

Khoa CNTT-ĐHKH HUẾ
1

2

NỘI DUNG

THÔNG TIN VỀ HỌC PHẦN
Phân giờ tín chỉ đối với các hoạt động:
+ Nghe giảng lý thuyết: 20


+ Kiểm tra, làm bài tập trên lớp: 6 (=3)
+ Tự học và bài tập nhóm: 21 (=7)
Chính sách đối với học phần và yêu cầu của
Giảng viên:
Học viên bắt buộc phải tham gia các hoạt động sau:
Nghe giảng lý thuyết, Kiểm tra định kỳ và Thi cuối kỳ
Phương pháp, hình thức kiểm tra
Kiểm tra – Tiểu luận- Chuyên cần : 50 %
Thi cuối kỳ
: 50 %

Chương 1 TỔNG QUAN VỀ DDB
Chương 2 CÁC MỨC TRONG SUỐT TRONG DDB
Chương 3 THIẾT KẾ CSDL PHÂN TÁN
Chương 4 TỐI ƯU HÓA TRUY VẤN TRONG DDB

4

3

ĐỊA CHỈ LIÊN HỆ

TÀI LIỆU THAM KHẢO
[1] Andrew S. Tanenbaum and Maarten Van Steen, Distributed
Systems Principles and Paradigms, 2002 Pentice-Hall
[2] M.TAMER OZSU and PATRICK VALDURIEZ, Principles of
Distributed Database Systems, Prentice Hall, 2004.
[3] Weiyi Meng and Clement T.Yu, Principles of Database
Query Processing for Advanced Applications, Morgan
Kaufman Inc., 2003.

[4] William Buchanan, Distributed Systems and Networks, Mc
Graw-Hill Book International. 2002.
[5] Stefano Ceri and Giuseppe Pelagatti, Distributed
Databases Principles and Systems, Mc Graw-Hill Book
International
[6] Jeffrey D.Ullman (biên dịch: Trần Đức Quang), Nguyên lý
các hệ CSDL và cơ sở tri thức, tập 1&2. NXB Thống kê, 1998.
[7] Nguyễn Mậu Hân, Giáo trình Cơ sở dữ liệu phân tán, 2012

PGS.TS. NGUYỄN MẬU HÂN,
KHOA CÔNG NGHỆ THÔNG TIN
TRƯỜNG ĐẠI HỌC KHOA HỌC - ĐẠI HỌC HUẾ
77, NGUYEN HUỆ – HUẾ
ĐIỆN THOẠI:
CQ: 054 382 6767
DĐ: 090 559 1515
EMAIL:



1


3/14/2014

CHƯƠNG 1. TỔNG QUAN VỀ CSDL PHÂN TÁN

CHƯƠNG 1. TỔNG QUAN VỀ CSDL PHÂN TÁN

Tại sao phải phân tán?


NỘI DUNG
1.1 Sơ lược về mạng máy tính

• Nhu cầu dùng chung một dữ liệu hợp nhất

1.2 Các hình thức tổ chức hệ thống phân tán

• Các tổ chức kinh tế có nhiều trụ sở phân tán ở

1.3 Các đặc trưng của các hệ thống phân tán

nhiều vị trí địa lý khác nhau

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

• Giảm chi phí truyền thông trong công việc

1.5 Các loại truy xuất CSDL phân tán

• Quản lý các luồng dữ liệu và sử dụng chung dữ liệu,
chương trình của tổ chức
7

8

1.1 SƠ LƯỢC VỀ MẠNG MÁY TÍNH

CHƯƠNG 1. TỔNG QUAN VỀ CSDL PHÂN TÁN


Phân tán cái gì?

•Một mạng máy tính là một 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 với nhau
•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 (site), 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.
• Một mạng máy tính là một trường hợp đặc biệt của
hệ thống xử lý phân tán, trong đó các máy tính là các
thiết bị được kết nối vào kênh truyền dữ liệu.

• Phần cứng-Mạng máy tính
• Phần mềm
 Hệ quản trị CSDL
 Csdl phân tán
 Các ứng dụng

9

10

1.1 SƠ LƯỢC VỀ MẠNG MÁY TÍNH

1.1 SƠ LƯỢC VỀ MẠNG MÁY TÍNH

Những loại mạng máy tính cơ bản
Mạng hình sao (star)
•Thường được dùng trong các tổ chức có nhiều chi nhánh

nằm ở nhiều vùng khác nhau
• Máy tính trung tâm được đặt tại văn phòng chính hoặc tại
trung tâm vùng
• Nhược điểm:
- độ tin cậy thấp
- giao tiếp của hai máy tính phụ thuộc
vào máy tính trung tâm
- tải trọng quá cao trên máy tính
trung tâm

Mạng vòng (circle)
• Các máy tính được nối với nhau theo vòng khép kín
• Mỗi trạm đóng vai trò là một bộ chuyển tiếp
• Truyền dữ liệu quanh vòng thường theo một chiều
• Việc điều khiển truyền tin trên mạng xoay vòng thường được
thực hiện bằng thẻ điều khiển
• Nhược điểm:
-nếu đường nối chỉ bị cắt đứt thì có thể
làm ngừng toàn bộ hoạt động của mạng
-Lượng thông tin di chuyển trên
đường truyền lớn

Mạng hình sao

11

12

2



3/14/2014

1.1 SƠ LƯỢC VỀ MẠNG MÁY TÍNH

1.1 SƠ LƯỢC VỀ MẠNG MÁY TÍNH

Mạng bus:
• Có một kênh chung để chuyền dữ liệu, các máy tính và các
thiết bị đầu cuối sẽ được gắn vào đó.

Mạng hỗn hợp (hybrid):
•Các mạng truyền thông thường có các đường nối vô
định.
•Các đường nối không có tính hệ thống cũng không
tuân theo một khuôn mẫu nào.
•Có thể gặp một nút chỉ nối với một nút khác và cả
những nút nối với nhiều nút khác.
•Các nối kết giữa các máy tính trên mạng Internet
thuộc loại này.

Mạng bus

13

1.1 SƠ LƯỢC VỀ MẠNG MÁY TÍNH

14

1.1 SƠ LƯỢC VỀ MẠNG MÁY TÍNH


Mạng thảm (Mesh):
•Mỗi nút đều được nối kết với các nút còn lại.
•Có độ tin cậy cao hơn và khả năng hoạt động tốt
hơn những cấu trúc đã nói ở trên.
•Cấu trúc này có chi phí cao.

HUB

Hub

Hub

Bé chuyÓn
®æi c¸p
Mạng hỗn hợp

15

1.2 Các hình thức tổ chức hệ thống phân tán

16

1.2 Các hình thức tổ chức hệ thống phân tán
peer-to-peer (mô hình nhóm làm việc):
 Các máy tính cá nhân và máy trạm có thể được sử dụng
như một hệ thống độc lập trợ giúp các ứng dụng địa phương.

 peer-to-peer


 Mỗi thành viên trong mạng có vai trò ngang nhau, tự quản
lý tài nguyên của chính mình và chia sẻ tài nguyên cho các
máy tính khác trên mạng.

 File server

 Mỗi một máy tính trên mạng vừa đóng vai trò máy chủ
(Server), vừa đóng vai trò là máy khách (Client).

 Client/Server
17

Đây là mô hình mạng đơn giản, phù hợp với những hệ thống
mạng nhỏ không có yêu cầu cao về bảo mật.
18

3


3/14/2014

1.2 Các hình thức tổ chức hệ thống phân tán

1.2 Các hình thức tổ chức hệ thống phân tán

peer-to-peer (mô hình nhóm làm việc):

File server (máy dịch vụ file):
 File server Một số máy dịch vụ file được gán trực tiếp vào
mạng LAN

 File server là một thiết bị quản lý các hoạt động file và phục
vụ các máy tính cá nhân được kết nối trong mạng LAN
 Mỗi máy cá nhân được phân chia một dung lượng cố định
trên ổ cứng của File server, chương trình ở các máy tính cá
nhân có thể tham chiếu đến các file trên phần đĩa tương ứng
của nó bằng một đặc tả đường dẫn.
 Những hạn chế của File server
•Dữ liệu di chuyển trên mạng quá nhiều
•Việc kiểm soát dữ liệu là phi tập trung
•Các máy trạm phải đủ mạnh
19

20

1.2 Các hình thức tổ chức hệ thống phân tán

1.3 Cơ sở dữ liệu phân tán (Distributed Database)

Client/server (mô hình khách/chủ)

Định nghĩa:
CSDL phân tán 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 phân tán trên các vị trí
khác nhau của một mạng máy tính.
Có hai điểm quan trọng được nêu ra trong định nghĩa:
a. Phân tán:

Một số máy dịch vụ file được gán trực tiếp vào mạng LAN
 server có chức năng điều khiển, lưu trữ CSDL, xử lý các

truy vấn và quản lý việc khai thác tài nguyên trên mạng của
các máy tính khác.
 Thuật ngữ client được sử dụng để chỉ người khai thác tài
nguyên mạng

 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.
21

1.3 Cơ sở dữ liệu phân tán (Distributed Database)

 Đây là điểm phân biệt một cơ sở dữ liệu phân tán
22
với một cơ sở dữ liệu tập trung.

1.3 Cơ sở dữ liệu phân tán (Distributed Database)

b. 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.
 Điều này giúp chúng ta có thể phân biệt một cơ sở
dữ liệu phân tán với một tập hợp cơ sở dữ liệu tập
trung.
 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.
23


This illustration shows a homogeneous distributed database. The figure shows
three databases, HQ.ACME.COM, SALES.ACME.COM and MFG.ACME.COM.
Each database is connected to a number of client systems at Headquarters and
the Sales and Manufacturing divisions, respectively.

24

4


3/14/2014

1.3 Cơ sở dữ liệu phân tán (Distributed Database)

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

An Oracle Database Distributed Database System

Kết nối CSDL (Database Links)
database link là một kết nối vật
lý giữa hai server CSDL và cho
phép NSD truy cập dữ liệu như
là một CSDL logic.
There are two databases located on
separate servers: HQ and SALES.
The figure shows examples of direct
and indirect client connections.
Queries are made to the HQ database
directly, and queries are made
indirectly to the SALES database,

through the HQ database, which then
acts as a client. Communication
between the servers occurs over the
network using Oracle Net.

25

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

This illustration depicts a database link
between user Scott and a remote
database. The link passes through the
local database, and, because the link to
the remote database is stored on the local
database, a unidirectional link links the
remote database to the user.

26

Database Link

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

Database Links

Chú ý

• Database links có thể sử dụng ở hai dạng:
private hoặc public.
• Nếu là private thì chỉ có User tạo ra liên kết mới

có quyền truy cập dữ liệu
• Nếu là public, thì mọi User trong hệ thống có thể
truy cập dữ liệu

Ứng dụng địa phương (local application)
• Các ứng dụng mà không yêu cầu dữ liệu từ các
site khác.
Ứng dụng toàn cục (global application)
• Các ứng dụng mà có yêu cầu dữ liệu từ các site
khác.

Assignment: to learn more database link
See also: />27

1.3 Cơ sở dữ liệu phân tán (Distributed Database)
Ví dụ 1:
 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 (site) có một máy tính điều khiển một số
máy giao dịch đầu cuối (teller terminal) và cơ sở dữ liệu của
chi nhánh đó.
 Tại mỗi site được đặt một phần cơ sở dữ liệu 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 mạng phân tán có hai chức năng:
 Xử lý thông tin tại vị trí mà nó quản lý
 Tham gia vào việc xử lý các yêu cầu về thông tin cần truy
cập qua nhiều địa điểm. Chẳng hạn, việc lên danh sách
tất cả nhân viên của ngân hàng. 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.
29


28

1.3 Cơ sở dữ liệu phân tán (Distributed Database)

Database 2

Database 1

Server 1

T
T
T
T
T

Server 2

Terminal

T
T
T
T
T

Network

Server 3

Database 3

T
T
T
T
T

CSDL phân tán trên một mạng phân tán về địa lý

30

5


3/14/2014

1.3 Cơ sở dữ liệu phân tán (Distributed Database)

1.3 Cơ sở dữ liệu phân tán (Distributed Database)

Ví dụ 2:
Branch1

Xet một ngân hàng như ở ví dụ 1. Nhưng:

T
T
T
T


• Các máy tính với CSDL của chúng ở mỗi chi nhánh được
chuyển đến cùng một tòa nhà.

Database 2

Computer

Computer
2

Branch2
T
T
T
T

1

Telephone lines

• Các máy tính này được kết nối với nhau bởi một mạng

Database 1

Telephone lines

cục bộ với băng thông rộng.

Local Network


• Các máy giao dịch đầu cuối được kết nối với máy tính
tương ứng của chúng qua đường dây điện thoại
• Mỗi máy tính và CSDL của nó tạo nên một site của mạng

Computer
3

Branch3
T
T
T
T

cục bộ.

Database 3

Telephone lines
31

32

CSDL phân tán trên một mạng cục bộ

1.3 Cơ sở dữ liệu phân tán (Distributed Database)

1.3 Cơ sở dữ liệu phân tán (Distributed Database)

Ví dụ 3: Xét hệ thống ngân hàng như trên. Nhưng:


Branch1
T
T
T

• Dữ liệu của các chi nhánh được phân tán trên 3
back-end computers, các máy tính này sẽ thực
hiện chức năng quản trị CSDL

Database 1

Database 2

Database 2

Back end
Computer 1

Back end
Computer 2

Back end
Computer 3

• Các chương trình ứng dụng được thực hiện bởi một

Branch2
T
T

T

Local Network

máy tính khác (front-end computer), máy tính này
đóng vai trò giao diện và yêu cầu back-end

Application

computers thực hiện các lệnh của NSD.

Front-end Computer
Branch3

T T T

Hệ thống đa xử lý (multiprocessor system)

33

Các ứng dụng

1.4 Hệ quản trị cơ sở dữ liệu phân tán (DDBMSs)

.........

Program n

DataBase
Management System

Operation System

DataBase
Kiến trúc tổng quát của một hệ quản trị CSDL tập trung

35

Giao diện người dùng
Tầng giao diện

Quản lý khung nhìn
Phép tính quan hệ

Tầng điều khiển

Kiểm soát toàn vẹn ngữ nghĩa
Kiểm định cấp quyền
Phép tính quan hệ

Tầng biên dịch

Phân rã và tối ưu hóa truy vấn
Quản lý hoạch định truy xuất

Các kết quả

Communication
SubSystems

Các tầng chức năng của một Hệ QTCSDL quan hệ


a. Hệ quản trị cơ sở dữ liệu tập trung
Program 1

34

Đại số quan hệ

Tầng thực thi

Điều khiển thực thi hoạch định truy xuất
Thực thi phép toán đại số
Truy xuất/Cập nhật

Tầng truy xuất dữ liệu

Quản lý vùng đệm
Các phương pháp truy xuất
Truy xuất/Cập nhật

Tầng duy trì nhất quán

Điều khiển đồng thời
Ghi nhật ký
36

DataBase

6



3/14/2014

1.4 Hệ quản trị cơ sở dữ liệu phân tán

1.4 Hệ quản trị cơ sở dữ liệu phân tán

b. Hệ quản trị cơ sở dữ liệu phân tán (DDBMSs)
DDBMS có chức năng hỗ trợ việc tạo và bảo trì cơ
sở dữ liệu phân tán.
DDBMS có các thành phần tương tự như một hệ
quản trị cơ sở dữ liệu tập trung; các thành phần hỗ
trợ trong việc chuyển tải dữ liệu đến các trạm và
ngược lại.
Các thành phần chính của DDBMS:
Quản trị dữ liệu (Database management): DB
Truyền thông dữ liệu (Data Communication): DC
Từ điển dữ liệu (Data Dictionary): DD dùng để mô tả
thông tin về sự phân tán của dữ liệu trên mạng.
Cơ sở dữ liệu phân tán (Distributed Database): DDB

T

T
T

Local
database 1

DB


DC

DDB

DD

Site 1
Site 2

DD
Local
database 2

DB

T

DDB

DC

T

T

Các thành phần của một DDBMS thương mại

37


Application
Program

...

Client DBMS
Communication Software

SQL Query

Result
Relation

Operation
System

Operation
System

User
Interface

Result
Relation

User
Interface

Application
Program


38

1.3 Cơ sở dữ liệu phân tán (Distributed Database)

Client DBMS

DDBMS thuần nhất (Homogeneous DDBMS)

Communication Software

 DBMS địa phương giống nhau
SQL Query

Communication Software

DDBMS không thuần nhất (Heterogeneous DDBMS)

Sematic Data Controler

 DBMS địa phương có thể khác nhau

Query Optimizer

Transaction Manager

 DDBMS có chức năng chuyển đổi các mô hình

Recovery Manager


Kiến trúc tham
chiếu của một
DDBMS theo
mô hình
Client/Server

dữ liệu

Runtime Support Processor
Operation System

DataBase

39

40

41

42

7


3/14/2014

1.3 Cơ sở dữ liệu phân tán (Distributed Database)

1.3 Cơ sở dữ liệu phân tán (Distributed Database)


So sánh csdl phân tán và csdl tập trung
Nhận xét: CSDL phân tán không đơn giản là những
sự thực hiện phân tán của CSDL tập trung, bởi vì
chúng cho phép thiết kế các đặc trưng khác với
CSDL tập trung truyền thống.

a. Điều khiển tập trung
Trong CSDL tập trung:
 Mỗi ứng dụng có những files riêng
 Tính điều kkiển tập trung thể hiện trên toàn hệ
thống
Trong CSDL phân tán:
 Khái niệm về điều khiển tập trung ít được nhấn
mạnh hơn và phụ thuộc vào kiến trúc của CSDL
phân tán.
 CSDL phân tán được điều khiển với cấu trúc phân
lớp dựa vào một hệ quản trị CSDL toàn cục.
 Hệ quản trị CSDL địa phương có trách nhiệm quản
trị CSDL địa phương riêng.
44

Các đặc điểm tiêu biểu của CSDL truyền thống:
• điều khiển tập trung
• độc lập dữ liệu
• giảm dư thừa
• biệt lập và bảo mật dữ liệu.
43

1.3 Cơ sở dữ liệu phân tán (Distributed Database)


1.3 Cơ sở dữ liệu phân tán (Distributed Database)

b. Độc lập dữ liệu
Trong CSDL tập trung:
 Chương trình không bị ảnh hưởng bởi sự thay đổi
trong cấu trúc vật lý của dữ liệu.
Trong CSDL phân tán:
 Tính độc lập dữ liệu cũng quan trọng giống như
trong CSDL truyền thống.
 Một khía cạnh mới được thêm vào trong ý niệm
của độc lập dữ liệu là trong suốt phân tán.
 Các chương trình ứng dụng có thể sử dụng CSDL
như là nó không được tổ chức phân tán.
 Sự chính xác của chương trình không bị ảnh
hưởng bởi việc dịch chuyển dữ liệu từ trạm này
45
đến trạm khác.

c. Giảm dư thừa dữ liệu
Trong CSDL tập trung:
 Chuẩn hóa dữ liệu
 Sự không tương thích giữa nhiều bản sao của
cùng một tập dữ liệu.
 Tiết kiệm không gian lưu trữ bằng cách loại bỏ các
dư thừa.
 Việc giảm dư thừa dữ liệu có thể đạt được bằng
cách chia sẻ dữ liệu, cho phép nhiều ứng dụng truy
cập cùng các bản tin và bản ghi.
46


1.3 Cơ sở dữ liệu phân tán (Distributed Database)

1.3 Cơ sở dữ liệu phân tán (Distributed Database)

c. Giảm dư thừa dữ liệu

d. Biệt lập và bảo mật stop here
Trong CSDL tập trung:
 Hệ quản trị CSDL bảo đảm chỉ truy cập đến dữ liệu đã
được uỷ quyền.
Trong CSDL phân tán:
 Hệ quản trị CSDL địa phương phải bảo đảm các vấn đề về
Biệt lập và bảo mật như CSDL tập trung.
 Tuy nhiên, hai khía cạnh đặc biệt sau đây của CSDL phân
tán cần phải được xem xét:
• Trong CSDL phân tán với một mức độ tự trị rất cao của
các địa phương, người chủ dữ liệu địa phương cảm giác
được bảo vệ tốt hơn vì họ có thể tự chủ thực hiện bảo
vệ thay vì phụ thuộc vào người quản trị CSDL trung tâm.
• Bảo mật là bản chất của hệ phân tán nói chung, vì các
mạng truyền thông diện rộng cho phép nhiều người cập
48
nhật và khai thác dữ liệu.

Trong CSDL phân tán:
 việc giảm dư thừa phức tạp hơn
 Hoạt động của các trình ứng dụng có thể bị tăng
lên khi dữ liệu được sao lại tất cả các vị trí, nơi
trình ứng dụng cần nó.
 Tính thường trực của hệ thống sẽ tăng lên, bởi vì

khi có lổi xẩy ra ở một trạm nào đó sẽ không dừng
việc thực hiện các ứng dụng của trạm khác nếu dữ
liệu đã được sao chép lại.
47

8


3/14/2014

1.3 Cơ sở dữ liệu phân tán (Distributed Database)

1.3 Cơ sở dữ liệu phân tán (Distributed Database)

1.3.4 Ưu và nhược điểm của hệ phân tán
Ư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.
• 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.

1.3.4 Ưu và nhược điểm của hệ phân tán
Nhược điểm
• Phần mềm đắt và phức tạp
• Phải xử lý các 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.

49

1.5 Các loại truy xuất CSDL phân tán

1.5 Các loại truy xuất CSDL phân tán

1.5.1 Truy xuất từ xa thông qua các tác vụ cơ bản:
Ứng dụng phát ra một yêu cầu truy xuất CSDL ở một vị trí
nào đó.
Yêu cầu này sẽ được hệ quản trị CSDL phân tán gởi đến vị
trí chứa dữ liệu đó. Thực hiện xong sẽ gửi kết quả về.
Trình
ứng
dụng

50

1.5.2 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ợ ở
vị trí từ xa.
Chương trình phụ trợ này sẽ truy xuất CSDL từ xa và trả lại
kết quả cho ứng dụng đang yêu cầu.

Các tác vụ cơ bản
truy xuất CSDL


DBMS1

Trình
ứng
dụng

Cơ sở
dữ liệu 1

Yêu cầu thực hiện
chương trình phụ trợ

Cơ sở
dữ liệu 1

DBMS1

Site 1

Site 1

Site 2

Site 2
Kết quả toàn cục

Cơ sở
dữ liệu 2


DBMS2

DBMS2

Các tác vụ truy xuất
CSDL và kết quả

Chương
trình phụ trợ

Kết quả gửi về

Cơ sở
dữ liệu 2

51

52

Các lĩnh vực cần quan tâm

ASSIGNMENT

1. Distributed Database Design

1. Distributed Database Systems: Oracle8i

2. Distributed Query Processing

/>a67784/toc.htm


2. Distributed Database Systems: DB2

3. Distributed Transaction Management

/>
4. Distributed Concurrency Control
5. Distributed Deadlock Management
6. Reliability of Distributed DBMS
7. Operating System Support
8. Heterogeneous Database
53

54

9


3/14/2014

Câu hỏi cuối chương

CHƯƠNG 2.

1. Ưu và nhược điểm của các lại mạng máy tính.

CÁC MỨC TRONG SUỐT TRONG CSDL PHÂN TÁN

NỘI DUNG


2. Định nghĩa cơ sở dữ liệu phân tán. Hệ quản trị
CSDL phân tán. Các thành phần yêu cầu trong
một DDBMSs thương mại. Cho ví dụ về một
CSDL phân tán .

2.1 Kiến trúc cơ bản của một CSDL phân tán

3. So sánh csdl phân tán và csdl tập trung

2.4 Tổ chức hệ thống phân tán

2.2 Các đặc điểm chính của hệ phân tán
2.3 Trong suốt phân tán

4. Ưu và nhược điểm của hệ phân tán

MỤC ĐÍCH

5. Các truy xuất từ xa trong hệ thống phân tán

Cung cấp cho người sử dụng thấy được các
mức trong suốt khác nhau của một DDBMS.

6. Kết nối cơ sở dữ liệu trong hệ phân tán
55

2.1 KIẾN TRÚC CƠ BẢN CỦA CSDL PHÂN TÁN

56


2.1 Kiến trúc cơ bản của một cơ sở dữ liệu phân tán

Sơ đồ tổng thể
(Global Schema)

Các

đồ
độc
lập
vị
trí

Sơ đồ phân mảnh
(Fragmentation Schema)
Sơ đồ định vị
(Allocation Schema)

Sơ đồ ánh xạ địa phương 1
(Local mapping Schema 1)

Hệ quản trị CSDL tại vị trí 1
(DBMS 1)

CSDL địa
phương 1
(Local
Database 1)

a. Sơ đồ tổng thể (Global 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.

Sơ đồ ánh xạ địa phương n
(Local mapping Schema n)

Hệ quản trị CSDL tại vị trí n
(DBMS n)

 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ể (Global
relation) .

CSDL địa
phương n
(Local
Database n)

Kiến trúc tham khảo dùng cho CSDL phân tán

57

2.1 Kiến trúc cơ bản của một cơ sở dữ liệu phân tán

58

2.1 Kiến trúc cơ bản của một cơ sở dữ liệu phân tán


b. Sơ đồ phân đoạn (fragment schema):

c. Sơ đồ định vị (allocation schema):

 Mỗi quan hệ tổng thể có thể chia thành một vài phần không

 Các đoạn 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.

giao nhau gọi là phân đoạn (fragment).
 Có nhiều cách khác nhau để thực hiện việc phân chia này
 Sơ đồ phân đoạn mô tả các ánh xạ giữa các quan hệ tổng
thể và các đoạn được định nghĩa trong sơ đồ phân đoạn
(fragmentation Schema),
 Các đoạn được mô tả bằng tên của quan hệ tổng thể cùng
với chỉ mục đoạn. Chẳng hạn, Ri được hiểu là đoạn thứ i của
quan hệ R.
59

 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.
 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
60
hệ tổng thể và một chỉ mục trạm.


10


3/14/2014

2.1 Kiến trúc cơ bản của một cơ sở dữ liệu phân tán

2.1 Kiến trúc cơ bản của một cơ sở dữ liệu phân tán

• 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ý
61

R11

R
R1

R2


R21

R12
R22

R1
(Trạm 1 )

R2
(Trạm 2 )

R3
R23
R4
R33

R3
(Trạm 3 )

R43
Quan hệ tổng thể

Các đoạn

Hình ảnh vật lý
62

Các đoạn và hình ảnh vật lý của một quan hệ tổng thể


2.1 Kiến trúc cơ bản của một cơ sở dữ liệu phân tán

2.1 Kiến trúc cơ bản của một cơ sở dữ liệu phân tán

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.
b. Biết được dữ liệu dư thừa
c. Độc lập với các DBMS địa phương
Ba yếu tố này tương ứng với ba mức trong suốt tương
ứng

63

2.1 Kiến trúc cơ bản của một cơ sở dữ liệu phân tán

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 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.


64

2.2 CÁC ĐẶC ĐIỂM CHÍNH CỦA HỆ PHÂN TÁN

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ý R 2 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ý.

2.2.1 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.

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.
65

66

11


3/14/2014

2.2 CÁC ĐẶC ĐIỂM CHÍNH CỦA HỆ PHÂN TÁN
2.2.2 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.

2.2 CÁC ĐẶC ĐIỂM CHÍNH CỦA HỆ PHÂN TÁN
2.2.3 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.
67

2.2 CÁC ĐẶC ĐIỂM CHÍNH CỦA HỆ PHÂN TÁN

68

2.2 CÁC ĐẶC ĐIỂM CHÍNH CỦA HỆ PHÂN TÁN

2.2.4 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.


2.2.5 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ố.

69

2.2 CÁC ĐẶC ĐIỂM CHÍNH CỦA HỆ PHÂN TÁN

70

2.2 CÁC ĐẶC ĐIỂM CHÍNH CỦA HỆ PHÂN TÁN
2.2.7 Tính trong suốt

2.2.6 Đảm bảo tin cậy và nhất quán

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

Hệ thống yêu cầu độ tin cậy như:

sử dụng và những người lập trình ứng dụng.

. Bí mật của dữ liệu

Các loại trong suốt trong hệ phân tán:


. Các chức năng khôi phục hư hỏng phải đảm bảo

a.Trong suốt phân đoạn (fragmentation transparency)

. Ngoài ra các yêu cầu của hệ thống về tính nhất quán

b.Trong suốt về vị trí (location transparency)

cũng thể hiện ở chổ: không có mâu thuẩn trong nội dung

c.Trong suốt ánh xạ địa phương (local mapping transparency)

cơ sở dữ liệu

d. Không trong suốt (no transparency)
71

72

12


3/14/2014

2.3 TRONG SUỐT PHÂN TÁN

2.3 TRONG SUỐT PHÂN TÁN

a. 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 (Id, Tên, Tuổi)
NCC2 (Id, Tên, Tuổi)
NCC3 (Id, 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
WHERE

*
NCC
Id=”Id1”
NCC1

Vị trí1
DDBMS
NCC2

Vị trí2


NCC3

Vị trí3
Trong suốt phân đoạn

73

74

2.3 TRONG SUỐT PHÂN TÁN

2.3 TRONG SUỐT PHÂN TÁN

b.Tính trong suốt về vị trí (location transparency):

Ví dụ: Với quan hệ tổng thể R và các phân đoạn như đã

• Người sử dụng không cần biết về vị trí vật lý của dữ liệu

nói ở trên nhưng giả sử rằng DDBMS cung cấp trong suốt

mà có quyền truy cập đến cơ sở dữ liệu tại bất cứ vị trí nào.

về vị trí nhưng không cung cấp trong suốt về phân đoạn.

• Các thao tác để lấy hoặc cập nhật một dữ liệu từ xa được

Xét câu truy vấn tìm người có Id=”Id1”.

tự động thực hiện bởi hệ thống tại điểm đưa ra yêu cầu.


SELECT

*

• Tính trong suốt về vị trí rất hữu ích, nó cho phép người

FROM

NCC1

sử dụng bỏ qua các bản sao dữ liệu đã tồn tại ở mỗi vị trí.

WHERE

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.

Id=”Id1”

IF NOT #FOUND THEN
SELECT

*

FROM

NCC2


WHERE

Id=”Id1”

75

76

2.3 TRONG SUỐT PHÂN TÁN

2.3 TRONG SUỐT PHÂN TÁN
•Đầu tiên hệ thống sẽ thực hiện tìm kiếm ở phân đoạn NCC 1
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 NCC 2
,...
•Ở đây quan hệ NCC2 được sao làm hai bản trên hai vị trí2
và vị trí3, ta chỉ cần tìm thông tin trên quan hệ NCC 2 mà
không cần quan tâm nó ở vị trí nào.

c. 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.

DBMS

NCC1


Vị trí 1
DBMS

NCC1
NCC2

Vị trí 2

NCC2

Vị trí 3

NCC2

Vị trí 1

Vị trí 2

Sự trong suốt về vị trí
77

78

Sự trong suốt ánh xạ địa phương

13


3/14/2014


2.3 TRONG SUỐT PHÂN TÁN
Câu hỏi cuối chương
1.Kiến trúc cơ bản của một cơ sở dữ liệu phân tán
2.Giải thích và cho ví dụ về các loại trong suốt phân tán

CHƯƠNG 3

THIẾT KẾ CSDL PHÂN TÁN

PGS.TS. Nguyễn Mậu Hân
Khoa CNTT-ĐHKH HUẾ
79

CHƯƠNG 3: THIẾT KẾ CSDL PHÂN TÁN

CHƯƠNG 3: THIẾT KẾ CSDL PHÂN TÁN

NỘI DUNG

Yêu cầu:
• Phải qua bước phân tích trước khi thiết kế. Các bước
này phải độc lập với mọi giải pháp cài đặt
• Chọn những vị trí để cài đặt dữ liệu và các chương
trình trên mạng máy tính.
• Đối với DBMS phân tán, việc phân tán các ứng dụng
đòi hỏi hai điều:
1. Phân tán DBMS
2. Phân tán các chương trình ứng dụng chạy trên
DBMS đó.


3.1 Nội dung thiết kế các hệ thống phân tán
3.2 Các chiến lược phân tán dữ liệu
3.3 Phương pháp thiết kế CSDL phân tán
3.4 Phân mảnh dữ liệu
3.5 Cấp phát tài nguyên trong hệ phân tán

MỤC ĐÍCH
Cung cấp cho người lập trình ứng dụng các phương
pháp thiết kế một cơ sở dữ liệu phân tán
81

82

83

84

3.1 Nội dung thiết kế một hệ thống phân tán

Nhận xét:
• Có nhiều điểm tương đồng với việc thiết kế hệ
thống tập trung.
• Điều khác nhau cơ bản là hệ thống được phân
bố trên một số địa điểm khác nhau
• Tính khả thi, chu kỳ sống, tính mở, tính sẳn
sàng,...
• Thiết kế phần cứng: máy trạm, máy chủ, mạng
,...
Cụ thể?


14


3/14/2014

3.1 Nội dung thiết kế một hệ thống phân tán

3.1 Nội dung thiết kế một hệ thống phân tán

3.1.1 Các công việc cần phải làm để thiết kế HT
phân tán:
• Xác định kiến trúc mô hình phân tán tổng thể
• Định vị các địa phương cần phân tán, loại hình
phân tán sử dụng cho mỗi địa phương (toàn bộ,
bản sao, lai,...).
• Tiến hành cân đối các yếu tố được phân tán bao
gồm các phần tử dữ liệu và các hoạt động xử lý
trên mỗi trạm.
• Thiết kế cơ sở dữ liệu phân tán.
• Thiết kế các chương trình ứng dụng.

3.1.2 Các sản phẩm yêu cầu sau khi PTTK
1. Mô tả các trạm
. Thông tin địa lý
. Thiết bị vật lý
. Thông tin hạ tầng
. Đặc trưng về con người (trình độ, kỹ năng,,...)
2. Mô tả về sử dụng dữ liệu cho mỗi trạm
. Các phần tử dữ liệu sử dụng từ hệ thống

. Các phần tử dữ liệu cần phải tạo ra
. Các phần tử dữ liệu cập nhật
. Các phần tử dữ liệu xóa

85

3.1 Nội dung thiết kế một hệ thống phân tán

86

3.2 Các chiến lược phân tán dữ liệu

3. Mô tả quá trình nghiệp vụ cho mỗi trạm
. Danh sách các xử lý (sơ đồ chức năng) ở các trạm
. Mô tả các xử lý
4. Các thỏa thuận về phương án kiến trúc hệ thống
cho mỗi trạm, cho nhu cầu về dữ liệu và xử lý của
trạm đó
. Topô mạng
. Kiến trúc mạng, Hệ điều hành
. cấu hình phân tán

Có 4 chiến lược phân tán dữ liệu:
 Tập trung dữ liệu
 Chia nhỏ dữ liệu (phân hoạch dữ liệu)
 Sao lặp dữ liệu (nhân bản dữ liệu)
 Phương thức lai

Chú ý: Việc định vị và phân tán dữ liệu ở các nút trong một
mạng máy tính sẽ quyết định tính hiệu quả và đúng đắn của

hệ thống phân tán.
87

3.2 Các chiến lược phân tán dữ liệu
3.2.1 Tập trung dữ liệu:
Tất cả các dữ liệu được tập trung một chổ. Cách này đơn
giản nhưng có 3 nhược điểm:
• Dữ liệu không sẵn sàng cho người sử dụng truy nhập từ
xa
• Chi phí truyền thông lớn, thường làm cực đại việc truy
nhập dữ liệu tới nơi tập trung.
• Toàn bộ hệ thống ngừng khi cơ sở dữ liệu bị sự cố
3.2.2 Chia nhỏ dữ liệu:
• Cơ sở dữ liệu được chia thành các phần nhỏ liên kết nhau
(không trùng lặp).
• Mỗi phần dữ liệu được đưa đến các trạm một cách thích
hợp để sử dụng.
89

88

3.2 Các chiến lược phân tán dữ liệu
3.2.3 Sao lặp dữ liệu:
• CSDL được nhân thành nhiều bản từng phần hoặc đầy
đủ và được đặt ở nhiều trạm trên mạng.
• Nếu bản sao của CSDL được lưu giữ tại mọi trạm của hệ
thống ta có trường hợp sao lặp đầy đủ.
• Hiện nay có nhiều kỹ thuật mới cho phép tạo bản sao
không đầy đủ phù hợp với yêu cầu dữ liệu ở mỗi trạm và
một bản đầy đủ được quản lý ở server.

• Sau một khoảng thời gian nhất định các bản sao được
làm đồng bộ với bản chính bằng một ứng dụng nào đó.
90

15


3/14/2014

3.2 Các chiến lược phân tán dữ liệu

3.2 Các chiến lược phân tán dữ liệu

3.2.4 Phương thức lai:

So sánh các lựa chọn nhân bản dữ liệu

• Cơ sở dữ liệu được phân thành nhiều phần: quan

 Khi dữ liệu được cấp phát, nó có thể được nhân bản một
phần, nhân bản hoàn toàn hoặc không nhân bản

trọng và không quan trọng.

 Phương pháp nhân bản bảo đảm được độ tin cậy và hiệu
quả đối với các truy vấn chỉ đọc. Bởi vì nếu có nhiều bản
sao của một mục dữ liệu thì chúng ta có nhiều cơ hội truy
xuất được dữ liệu đó ngay cả khi hệ thống xảy ra sự cố.

• Phần ít quan trọng được lưu giữ một nơi

• Phần quan trọng được lưu trữ ở nhiều nơi khác.

 Các truy vấn chỉ đọc có thể thực hiện song song bởi vì các
bản sao có mặt ở nhiều vị trí.
 Ngược lại, câu truy vấn cập nhật có thể gây nhiều rắc rối vì
hệ thống phải bảo đảm các bản sao phải được cập nhật
chính xác.
91

3.2 Các chiến lược phân tán dữ liệu

3.3 PHƯƠNG PHÁP THIẾT KẾ CSDL PHÂN TÁN

Một CSDL không nhân bản (thường gọi là CSDL
phân họach) có chứa các mảnh dữ liệu không
trùng lặp nằm tại nhiều vị trí khác nhau
Nhân bản hoàn Nhân bản
Phân hoạch
toàn
một phần
Xử lý vấn tin
Dễ
Cùng mức độ khó
Dễ hoặc không
Quản lý thư mục
Cùng mức độ khó
tồn tại
Điều khiển đồng
Vừa phải
Khó

Dễ
thời
Độ tin cậy
Rất cao
Cao
Thấp
Có thể áp
Tính thực tế
Có thể áp dụng Thực tế
dụng
So sánh các lựa chọn nhân bản

92

93

3.3 PHƯƠNG PHÁP THIẾT KẾ CSDL PHÂN TÁN

3.3.1 Sơ đồ thiết kế
tổng thể cơ sở dữ
liệu phân tán
Hiện nay chưa có
một kỹ thuật cụ thể
nào nói một cách chi
tiết việc 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:

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ể
94

3.3 PHƯƠNG PHÁP THIẾT KẾ CSDL PHÂN TÁN

1. 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
2. Thiết kế phân đoạn: thực hiện chia nhỏ dữ liệu thành
các phần.
3. 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.
4. 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
95


3.3.2 Các phương pháp thiết kế CSDL phân tán
Có 2 phương pháp thiết kế CSDL phân tán
• Phương pháp tiếp cận từ trên xuống (Top-Donw).
• Phương pháp tiếp cận từ dưới lên (Bottom Up).

96

16


3/14/2014

3.3 PHƯƠNG PHÁP THIẾT KẾ CSDL PHÂN TÁN

3.3 PHƯƠNG PHÁP THIẾT KẾ CSDL PHÂN TÁN

a. Phương pháp thiết kế từ trên xuống

• Thiết kế view: xây dựng khung nhìn dữ liệu cho
người sử dụng ở các trạm.

• Thiết kế từ tổng thể đến riêng biệt
• Phân rã một hệ thống lớn thành các hệ thống con
• Phân tích các yêu cầu nhằm định nghĩa môi
trường hệ thống
• Thu thập các yêu cầu về dữ liệu và nhu cầu xử lý
của các trạm có sử dụng CSDL.

• 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ở.

97

3.3 PHƯƠNG PHÁP THIẾT KẾ CSDL PHÂN TÁN

98

3.3 PHƯƠNG PHÁP THIẾT KẾ CSDL PHÂN TÁN

• 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ị
• Thiết kế 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ý
• 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

99

3.3 PHƯƠNG PHÁP THIẾT KẾ CSDL PHÂN TÁN
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ể 101

100

3.4 PHÂN MẢNH DỮ LIỆU
0. Nhắc lại các phép toán đại số quan hệ và ngôn ngữ SQL
1. Tại sao cần phải phân mảnh?
2. Làm thế nào để thực hiện phân mảnh?
3. Phân mảnh nên thực hiện đến mức độ nào?
4. Có cách gì kiểm tra tính đúng đắn của việc phân mảnh?
5. Việc cấp phát các mảnh dữ liệu như thế nào?
6. Những thông tin nào sẽ cần thiết cho việc phân mảnh và
cấp phát?
102

17



3/14/2014

I. ĐẠI SỐ QUAN HỆ

I. ĐẠI SỐ QUAN HỆ

I. CÁC PHÉP TOÁN TẬP HỢP

2. Phép giao (Intersection):

1. Phép hợp (Union):
Hợp của hai quan hệ r & s có cùng một lược đồ, ký hiệu
rs, được xác định như sau:
r  s = {t | t  r  t  s}

Giao của hai quan hệ r và s có cùng một lược
đồ, ký hiệu r  s, được xác định như sau:
r  s = {t | t  r  t  s}
Ví dụ:

Ví dụ:
r

rs

s

MASV


MAMH

DIEMTHI

MASV

MAMH

DIEMTHI

9001

CSDL

5

9002

CTDL

2

9002

CTDL

2

9001


TTNT

5

9003

MANG

8

9003

MANG

6

MAMH

DIEMTHI

MASV

MAMH

DIEMTHI

2

9001


CSDL

5

9002

CTDL

2

TTNT

5

9002

CTDL

2

9001

TTNT

5

MANG

6


9003

MANG

8

9003

MANG

6

MAMH

DIEMTHI

9001

CTDL

9002
9003
9001

TTNT

5

9003


MANG

6

I. ĐẠI SỐ QUAN HỆ

Ví dụ:
s

t = r-s

MASV

MAMH

DIEMTHI

MASV

MAMH

DIEMTHI

MASV

MAMH

DIEMTHI

9001


CSDL

5

9002

CTDL

2

9001

CSDL

5

9003

CTDL
MANG

2
8

9001
9003

TTNT


5

MANG

9002

CTDL

2

t=rxs

Ví dụ:

9003

MANG

8

6

MASV
9001

s

MASV

MAMH


DIEMTHI

MAMH

TENMH

9001

CSDL

5

CSDL

CO SO DU LIEU

CSDL

5

FOX

FOXPRO

MAMH

DIEMTHI

MAMH


TENMH

9001

CO SO DU LIEU

9002

CTDL

2

CSDL

CO SO DU LIEU

FOXPRO

9002

CTDL

2

FOX

FOXPRO

9003


MANG

8

CSDL

CO SO DU LIEU

9003

MANG

8

FOX

FOXPRO

CSDL

5

CSDL

9002

CTDL

2


FOX

9003

MANG

8

I. ĐẠI SỐ QUAN HỆ

I. ĐẠI SỐ QUAN HỆ

5. Phép chiếu (Projection):

6. Phép chọn (Selection):

Cho quan hệ r trên lược đồ quan hệ R= <UR,SC>,
và X  UR, phép chiếu trên tập X của quan hệ r, ký
hiệu: X(r), được định nghĩa:
X(r) = {t[X] | t  r}
Ở đây, t[X] để chỉ một bộ t chỉ chứa các thành phần
có trong X.
r

DIEMTHI

Cho r và s là các quan hệ xác định lần lượt trên
tập các thuộc tính {A1, A2, …, An} và {B1, B2, …, Bm}.
Tích Descartes của r và s, ký hiệu: r  s, là tập các bộ

có (m+n) thành phần sao cho n thành phần đầu là một
bộ thuộc r và m thành phần sau là một bộ thuộc s.
Hay:
r  s = {(t1,t2) | t1  r  t2  s}

r

Lưu ý: Phép giao có thể biểu diễn thông qua phép
hiệu: r  s = r - (r - s)

Ví dụ:

MAMH

4. Tích Descartes (Cartersian Product):

Hiệu của hai quan hệ r và s có cùng một lược
đồ, ký hiệu r - s, được xác định như sau:
r - s = {t | t  r  t  s}

9002

MASV

I. ĐẠI SỐ QUAN HỆ

3. Phép hiệu (Difference):

r


rs

s

r
MASV

MASV

Cho quan hệ r và f là một biểu thức logic mà mỗi bộ
trên r có thể thoả mãn hoặc không. Khi đó, phép chọn trên
r các bộ thoả mãn f, ký hiệu f(r), được xác định như sau:
f(r) = {t | f(t) là đúng }
Ví dụ:

r

f(r) = r:DIEMTHI >= 5

.{MAMH} (r)

MASV

MAMH

DIEMTHI

9001

CSDL


5

9002

CTDL

2

9003

MANG

8

MASV

MAMH

DIEMTHI

MAMH

9001

CSDL

5

CSDL


9002

CTDL

2

CTDL

9003

MANG

8

MANG

MASV

MAMH

DIEMTHI

9001

CSDL

5

9003


MANG

8

18


3/14/2014

I. ĐẠI SỐ QUAN HỆ

I. ĐẠI SỐ QUAN HỆ
Phép nối tự nhiên:

7. Phép nối (Kết nối – join):
Xét hai quan hệ r và s. Gọi f là một biểu thức logic
mà mỗi bộ thuộc tích Descartes r  s có thể thoả mãn
hoặc không. Khi đó, phép nối r và s theo điều kiện f,
được ký hiệu: r
s ,được xác định như sau:
f

Nếu r và s có các thuộc tính chung và f là một biểu thức
logic để chỉ mỗi cặp thuộc tính chung này đều có giá trị
bằng nhau, thì ta gọi phép nối này là phép nối tự nhiên và
ký hiệu là: r
s
Ví dụ:
r


r

Ví dụ:
r

f

s= f (r  s)
s

r

s

DIEMTHI>=DIEMHK

MASV

MAMH

DIEMTHI

MAMH

DIEMHK

MASV

MAMH


DIEMTHI

9001

CSDL

6

CTDL

7

9001

CSDL

9002

CTDL

7

TTNT

6

9002

CTDL


9003

MANG

4

MANG

8

9002

CTDL

MAMH2

DIEMHK

6

TTNT

6

7

CTDL

7


7

TTNT

6

MASV

MAMH

DIEMTHI

9001

CSDL

5

9002

CTDL

7

9003

MANG

8

MAMH

DIEMTHI

Tên MH

Tên MH

9002

CTDL

7

Cấu trúc DL

CTDL

Cấu trúc DL

9003

MANG

8

Mạng máy tinh

TTNT


Trí tuệ nhân tạo

MANG

Mạng máy tinh

MAMH

I. ĐẠI SỐ QUAN HỆ

I. ĐẠI SỐ QUAN HỆ

8. Phép chia (Division):

Gọi r là quan hệ trên tập thuộc tính {A1, A2, …, An}
s là quan hệ trên tập thuộc tính {Ap+1, Ap+2, …, An},
với p > 0.
Khi đó:
r  s = {(a1, a2, …, ap) | (ap+1, ap+2, …, an)  s; (a1,
a2, …, an)  r}

SN

MH

DIEMTHI

TUAN

03


CTDL

9

LAM

07

NNLT

8

TUAN

03

TTNT

5

QUY

08

TTNT

5

DIEMTHI


TENSV

SN

TTNT

5

TUAN

03

CTDL

9

MH

s = R( r

r

A
a
a
b
e
e
a


B
b
b
c
d
d
b

C
c
e
e
c
e
d

D
d
f
f
d
f
e

s=

rs=

C

c
e

D
d
f
A
a
e

B
b
d

SQL
Sơ lược về ngôn ngữ SQL (Structured query language)
• SQL trước kia được gọi là SEQUEL
• IBM phát triển ở San Jose,
• Là một ngôn ngữ phi thủ tục
• Mục đích để sử dụng trong CSDL thử nghiệm System R

Phép nửa nối:
s)

Câu lệnh SELECT

Ví dụ:
r
MASV


MAMH

DIEMTHI

9001

CSDL

5

9002

CTDL

7

9003

MANG

8

Cú pháp:
s

r
MASV

MAMH


DIEMTHI

Tên MH

Tên MH

9002

CTDL

7

Cấu trúc DL

CTDL

Cấu trúc DL

9003

MANG

8

Mạng máy tinh

TTNT

Trí tuệ nhân tạo


MANG

Mạng máy tinh

s
MAMH

Ví dụ:

rs

s

r

TENSV

I. ĐẠI SỐ QUAN HỆ

:

Nhận xét: Phép chia có thể được định nghĩa thông qua
phép toán khác. Với r, s lần lượt là quan hệ trên tập thuộc
tính Z, X (X  Z).
r  s = T1 – T2
(có tập thuộc tính: Y = Z – X)
= T1 - Y((s  T1) - r)
, với T1 = Y(r)

r=


Ví dụ:

s

r
MASV

s

SELECT
FROM
WHERE
Ý nghĩa:

R1.A1, R2.A2,. . ., Ri.Ai
R1, R2 ,. . . , Rk


 R1.A1, R2.A2,. . ., Ri.Ai ( (R1 ... Rk))

114

19


3/14/2014

3.4 PHÂN MẢNH DỮ LIỆU


3.4 PHÂN MẢNH DỮ LIỆU

Phân mảnh quan hệ là gì?
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ệ.



Nếu các ứng dụng có các khung nhìn được định nghĩa
trên một quan hệ cho trước nằm tại những vị trí khác thì
có hai cách chọn lựa đơn vị phân tán:

3.4.1 Các lý do phân mảnh
• Khung nhìn hoặc đơn vị truy xuất của các ứng dụng không
phải là toàn bộ quan hệ mà thường là một phần quan hệ.
• 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 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 một câu vấn tin bằng cách chia nó ra thành một tập các
câu vấn tin con hoạt tác trên các mảnh.
115

+ hoặc là toàn bộ quan hệ
+ hoặc quan hệ được lưu ở một vị trí có chạy ứng
dụng.
Nhận xét: Chọn lựa thứ nhất gây ra một số lượng lớn các
truy xuất không cần thiết đến dữ liệu ở xa. Chọn lựa sau
sẽ gây ra nhiều vấn đề khi cập nhật và lãng phí không
gian lưu trữ.

116

3.4 PHÂN MẢNH DỮ LIỆU
Khuyết điểm của việc phân mảnh:
• Nếu ứng dụng có những yêu cầu ngăn cản việc phân rã
thành các mảnh để được sử dụng độc quyền, thì những
ứng dụng có các khung nhìn được định nghĩa trên nhiều
mảnh sẽ bị giảm hiệu suất hoạt động.
• Nếu một khung nhìn đòi hỏi thông tin ở nhiều mảnh thì
việc truy xuất dữ liệu để nối lại sẽ có chi phí cao.
• Kiểm soát ngữ nghĩa dữ liệu (semantic data control): Do
kết quả của phân mảnh, các thuộc tính tham gia vào một
phụ thuộc có thể bị phân rã vào các mảnh khác nhau và
được cấp phát cho những vị trí khác nhau. Trong trường
hợp này, một nhiệm vụ đơn giản như kiểm tra các phụ
thuộc cũng phải thực hiện truy tìm dữ liệu ở nhiều vị trí. 117

3.4 PHÂN MẢNH DỮ LIỆU
3.4.2.1 Phân mảnh ngang: 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ộ R1, R2, ..., Rk
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 = R1  R2  ...  Rk
Các loại phân mảnh ngang:
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 dẫn xuất (derived horizontal fragmentation):
phân mảnh ngang dẫn xuất 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.
Như vậy, trong phân mảnh ngang tập các vị từ đóng một vai trò

119
quan trọng.

3.4 PHÂN MẢNH DỮ LIỆU
Nhận xét: mục đích của phân mảnh dữ liệu là cấp phát dữ liệu
cho các sites. Do đó, 2 vấn đề phân mảnh và cấp phát dữ
liệu phải luôn đi đôi với nhau.
3.4.2 Các kiểu phân mảnh


Phân mảnh ngang (horizontal fragmentation)



Phân mảnh dọc (vertical fragmentation).



Phân mảnh hỗn hợp (hibrid fragmentation)
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.
118

3.4 PHÂN MẢNH DỮ LIỆU

3.4.2.2 Phân mảnh dọc:
Phân mảnh dọc một quan hệ tổng thể n-bộ R là tách
R thành các quan hệ con R1, R2, ..., Rk 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 nối:

R = R1 R2
..., Rk
3.4.2.3 Phân mảnh hỗn hợp:
là kết hợp cả phân mảnh ngang và phân mảnh dọc

120

20


3/14/2014

3.4 PHÂN MẢNH DỮ LIỆU

Cơ sở dữ liệu của một công ty máy tính
NHANVIEN (E)

Ví dụ: Xét cơ sở dữ liệu của một công ty phần mềm được tổ
chức như sau:


A1
A2
A3
A4
A5
A6
A7
A8


NHANVIEN (MANV, TENNV, CHUCVU): quan hệ này
chứa dữ liệu về nhân viên của công ty.



TLUONG (CHUCVU, LUONG): quan hệ này chứa dữ liệu
liên quan về lương và chức vụ của nhân viên.



HOSO (G)

MANV TENNV

CHUCVU

MANV MADA

Phân tích HT
Lập trình viên
Phân tích HT
Phân tích HT
Lập trình viên
Kỹ sư điện
Phân tích HT
Thiết kế DL

Nam
Trung
Đông

Bắc
Tây
Hùng
Dũng
Chiến

A1
A2
A2
A3
A3
A4
A5
A6
A7
A8

DUAN (MADA, TENDA, NGANSACH, ĐIACHI): quan hệ
này chứa dữ liệu về các dự án mà công ty đang thực hiện.



HOSO (MANV, MADA, NHIEMVU, THOIGIAN): quan hệ
này 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).
121

3.4 PHÂN MẢNH DỮ LIỆU

NGANSACH200000(DUAN);


DUAN2=NGANSACH>200000 (DUAN)

TENDA

NGANSACH

ĐIACHI

D1
D2
D3
D4

CSDL
CÀI ĐẶT
BẢO TRÌ
PHÁT TRIỂN

150000
135000
250000
310000

Huế
Hà nôi
Hà nội
HCMC

TENDA


NGANSACH

ĐIACHI

D1
D2
D3
D4

CSDL
CÀI ĐẶT
BẢO TRÌ
PHÁT TRIỂN

150000
135000
250000
310000

Huế
Hà nôi
Hà nội
HCMC

TENDA

NGANSACH

ĐIACHI


150000
135000

Huế
Hà nôi

DUAN1
CSDL
CÀI ĐẶT

CHUCVU

Kỹ sư điện
Phân tích HT
Lập trình viên
Thiết kế DL

LUONG

2000
2500
3200
4000

Ví dụ về phân mảnh dọc: xét phép toán đại số quan hệ:
DUAN3 = $1,$3(DUAN);

DUAN4=


$1,$2(DUAN);

MADA

TENDA

NGANSACH

ĐIACHI

D3
D4

BẢO TRÌ
PHÁT TRIỂN

250000
310000

Hà nội
HCMC

MADA

TENDA

NGANSACH

ĐIACHI


D1
D2
D3
D4

CSDL
CÀI ĐẶT
BẢO TRÌ
PHÁT TRIỂN

150000
135000
250000
310000

Huế
Hà nôi
Hà nội
HCMC

DUAN3

DUAN2

3.4 PHÂN MẢNH DỮ LIỆU

DUAN4

MADA


NGANSACH

MADA

TENDA

D1
D2
D3
D4

150000
135000
250000
310000

D1
D2
D3
D4

CSDL
CÀI ĐẶT
BẢO TRÌ
PHÁT TRIỂN

3.4 PHÂN MẢNH DỮ LIỆU

Ví dụ về phân mảnh hỗn hợp: xét phép toán đại số quan hệ:


3.4.3 Mức độ phân mảnh

DUAN5 =

 Việc phân mảnh CSDL đến một mức độ nào đó sẽ ảnh
hưởng đến hiệu quả của việc thực hiện các truy vấn.

 NGANSACH200000
DUAN =  NGANSACH>200000

$1,$3(DUAN);

$1,$2(DUAN);

6

 Nếu là phân mảnh dọc thì các mảnh dữ liệu nên ở dạng
chuẩn 3NF.

DUAN
MADA

TENDA

NGANSACH

ĐIACHI

D1
D2

D3
D4

CSDL
CÀI ĐẶT
BẢO TRÌ
PHÁT TRIỂN

150000
135000
250000
310000

Huế
Hà nôi
Hà nội
HCMC

 Nếu phân mảnh quá mịn hoặc quá thô sẽ gây ra các “tác
dụng phụ” không mong muốn.
 Vấn đề là tìm một phương pháp phân mảnh thích hợp:
 Tùy thuộc vào bài toán

DUAN6

DUAN5

122

DUAN


MADA

D1
D2

12
34
6
12
10
6
20
36
48
15

TLUONG (S)

MADA

DUAN

MADA

THOIGIAN

3.4 PHÂN MẢNH DỮ LIỆU

Ví dụ về phân mảnh ngang: xét phép toán đại số quan hệ:

DUAN1=

DUAN (J)

NHIEMVU

Quản lý
Phân tích
Phân tích
Kỹ thuật
Lập trình
Quản lý
Quản lý
Kỹ thuật
Quản lý
Lập trình

D1
D1
D2
D3
D4
D2
D2
D4
D3
D3

MADA


NGANSACH

MADA

TENDA

D1
D2

150000
135000

D3
D4

BẢO TRÌ
PHÁT TRIỂN

 Nắm được các tham số đặc trưng của ứng dụng. Từ các
tham số này sẽ xác định được từng mảnh cần tạo ra.
 Có thể dùng phương pháp “tụ lực” – Affinity của các thuộc
126
tính (xét ở phần sau) để thực hiện phân mảnh

21


3/14/2014

3.4 PHÂN MẢNH DỮ LIỆU


3.4 PHÂN MẢNH DỮ LIỆU

3.4.4 Các yêu cầu của 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 nhất định để 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)
b. Tính tái thiết được (reconstruction)
c. Tính tách biệt (disjointness):
127

3.4 PHÂN MẢNH DỮ LIỆU

129

3.4 PHÂN MẢNH DỮ LIỆU

Ví dụ về phân mảnh ngang: xét phép toán đại số quan hệ:
DUAN1=

NGANSACH200000(DUAN);

DUAN2=NGANSACH>200000 (DUAN)
DUAN
MADA

TENDA


NGANSACH

ĐIACHI

D1
D2
D3
D4

CSDL
CÀI ĐẶT
BẢO TRÌ
PHÁT TRIỂN

150000
135000
250000
310000

Huế
Hà nôi
Hà nội
HCMC

MADA

TENDA

NGANSACH


ĐIACHI

D3
D4

BẢO TRÌ
PHÁT TRIỂN

250000
310000

Hà nội
HCMC

TENDA

NGANSACH

ĐIACHI

150000
135000

Huế
Hà nôi

Dễ thấy các mảnh thỏa
mãn các tính chất:
•Tái thiết được

•Đầy đủ
•Tách biệt
DUAN1  DUAN
DUAN2  DUAN
DUAN = DUAN1 DUAN2

DUAN1

DUAN2
MADA

D1
D2

CSDL
CÀI ĐẶT

3.4 PHÂN MẢNH DỮ LIỆU

Ví dụ về phân mảnh dọc: xét phép toán đại số quan hệ:
DUAN4=

$1,$2(DUAN);

DUAN
MADA

TENDA

NGANSACH


ĐIACHI

D1
D2
D3
D4

CSDL
CÀI ĐẶT
BẢO TRÌ
PHÁT TRIỂN

150000
135000
250000
310000

Huế
Hà nôi
Hà nội
HCMC

DUAN3

b. Tính tái thiết được:
• 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
128
nối .

3.4 PHÂN MẢNH DỮ LIỆU

c. Tính tách biệt:
• 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ệ.

DUAN3 = $1,$3,$4(DUAN);

a. Tính đầy đủ:
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 ít nhất một mảnh Ri nào đó.

Ví dụ về phân mảnh hỗn hợp: xét phép toán đại số quan hệ:
DUAN5 =

DUAN6=

 NGANSACH200000
 NGANSACH>200000

DUAN5

DUAN4

MADA

NGANSACH

ĐIACHI

MADA

TENDA

D1
D2
D3
D4

150000
135000
250000
310000

Huế

Hà nôi
Hà nội
HCMC

D1
D2
D3
D4

CSDL
CÀI ĐẶT
BẢO TRÌ
PHÁT TRIỂN

Dễ thấy các mảnh thỏa mãn tính tái thiết được và đầy đủ
DUAN3  DUAN
DUAN4  DUAN
DUAN = DUAN3
DUAN4

$1,$3(DUAN);

$1,$2(DUAN);

DUAN6

MADA

NGANSACH


ĐIACHI

MADA

TENDA

D1
D2

150000
135000

Huế
Hà nôi

D3
D4

BẢO TRÌ
PHÁT TRIỂN

DUAN
MADAmảnh
TENDA
NGANSACH
Dễ kiểm tra rằng
thỏa mãn
tính tái ĐIACHI
thiết được và đầy đủ
D1

CSDL
150000
Huế
DUAN5  DUAN
D2
CÀI ĐẶT
135000
Hà nôi
DUAN6  DUAN
D3
BẢO TRÌ
250000
Hà nội
D4
PHÁTDUAN
TRIỂN
310000
HCMC DUAN )
DUAN = (DUAN
5 )  (DUAN
6

22


3/14/2014

Câu hỏi cuối chương

1. Các vấn đề cần phải làm để thiết kế một HT phân

tán
2. Các sản phẩm yêu cầu sau khi phân tích thiết kế
một HT phân tán
3. Các chiến lược phân tán dữ liệu
4. Nội dung của phương pháp thiết kế từ trên xuống
5. Các kiểu phân mảnh và các yêu cầu của việc phân
mảnh. Cho ví dụ.
6. Bài toán cấp phát

MỘT VÍ DỤ VỀ THIẾT KẾ CSDL PHÂN TÁN

Hệ thống thông tin
quản lý hành khách của
Pacific Airline

133

I. Phát biểu bài toán-Nghiên cứu hiện trạng
 Hệ thống bán vé máy bay để phục vụ cho việc đi lại
của hành khách trong và ngoài nước. Để hệ thống
hoạt động tốt thì không chỉ đầu tư về nguồn nhân
lực mà còn đầu tư về hệ thống mạng và phần mềm
chuyên dùng để phục vụ nhu cầu của khai thác
thông tin của hành khách.
 Hệ thống bán vé máy bay của hãng hàng không
Pacific Airlines giúp cho hành khách theo dõi các
chuyến bay, mua vé một cách nhanh chóng và thuận
lợi..

I. Phát biểu bài toán

 Việc thanh toán chỉ diễn ra sau khi khách đã nhận được vé.
Khách có thể thanh toán theo hai hình thức tiền mặt hoặc
thẻ tín dụng (VISA CARD, MASTER CARD,...).
 Khách hàng phải cung cấp các thông tin cá nhân sau:
+ Số CMND, Họ tên, Địa chỉ, SĐT, Nghề nghiệp (nếu là khách
nước ngoài thì thêm các thông tin: Số hộ chiếu, quốc tịch)
Thông tin chuyến bay khách muốn đi bao gồm :
+ Nơi đi, + Nơi đến, + Thời gian đi
Thông tin về vé khách muốn đi bao gồm :
+ Loại vé (Not Transferable, Transferable)
+ Thời hạn (15 ngày, 1 tháng, 3 tháng, 6 tháng, 1 năm)
+ Hạng (Business Class, Economy Class)
 Sau khi nhận được vé, khách sẽ được nhân viên thông báo
mã số đặt chỗ và các thông tin khác về chuyến bay.

I. Phát biểu bài toán
 Để có thông tin về một chuyến bay hành khách sẽ liên lạc với
đại lý bán vé qua điện thoại hoặc qua việc xem xét thông tin
trên Website của hảng.
 Muốn mua vé, hành khách có 3 lựa chọn: qua điện thoại, qua
Website hoặc trực tiếp đến đại lý bán vé.
- Nếu qua điện thoại, khách sẽ đưa các thông tin của bản
thân cùng thông tin của chuyến bay muốn đi để nhân viên
bán vé biết. Sau đó nhân viên bán vé sẽ hẹn thời gian để đến
lấy vé.
- Nếu qua Website, khách chỉ việc điền các thông tin cần thiết
vào trang Đăng ký. Sau đó khách ra đại lý để nhận vé.
- Nếu đến trực tiếp thì ngoài việc đưa ra các thông tin chi tiết,
khách sẽ được nhận các thông tin ngay lập tức về tình trạng
chuyến bay và nhận vé.


I. Phát biểu bài toán
 Công việc chính của việc xây dựng hệ thống thông
tin quản lý hành khách của hãng hàng không Pacific
Airline là phải xác định được yêu cầu, nhiệm vụ
trọng tâm của hệ thống thông tin đang xét, xác định
kiến trúc của hệ thống thông tin và chức năng cơ
bản của hệ thống.
 Không giống như các hãng hàng không khác, Pacific
Airline là hãng hàng không có khả năng bao phủ lớn,
thuận tiện cho mọi hành khách có nhu cầu đi lại rộng
trong khu vực và trên toàn thế giới.

23


3/14/2014

I. Phát biểu bài toán
Cấu trúc của một vé máy bay có dạng

II. Phân tích hệ thống
 Các chức năng cơ bản của hệ thống thông tin quản
lý hành khách của Pacific Airlines gồm:
Quản lý chuyến bay: gồm các chức năng như quản
lý tuyến bay, quản lý lịch bay, quản lý đơn giá vé,…
Quản lý vé: gồm các chức năng như quản lý số vé
trong mỗi chuyến bay, thống kê vé đã bán và còn
thừa trong mỗi chuyến bay, thống kê vé bán ra và
còn trong ngày, tháng, năm.

Quản lý đại lý: gồm các chức năng như quản lý
thông tin đại lý, quản lý bán vé,…
Quản lý hành khách: gồm các chức năng như quản
lý thông tin hành khách, quản lý thông tin mua vé,…

II. Phân tích hệ thống
2. Thành phần thông tin (mức xử lý, trung
chuyển thông tin)
Đây là thành phần thực hiện việc xử lý, hỗ trợ ra
quyết định của ban lãnh đạo công ty.
Thành phần này bao gồm:
Bộ phận xây dựng hành trình chuyến bay
Bộ phận quản lý các đại lý
Bộ phận quản lý vé
Bộ phận quản lý và chăm sóc hành khách
Các phòng ban chức năng trong công ty, …..

I. Phát biểu bài toán
Thẻ lên máy bay của hành khách có dạng:

II. Phân tích hệ thống
Hệ thống thông tin phục vụ cho việc bán vé máy bay
của Pacific Airlines có thể chia làm 3 thành phần sau:
1. Thành phần quyết định
Đây là mức xử lý thông tin đầu tiên của hệ thống,
mức này do ban lãnh đạo hoặc người được ủy quyền
quyết định. Thông tin đầu vào của hệ thống là việc
xây dựng các hành trình chuyến bay, các mức đơn
giá cho từng hạng vé của mỗi tuyến bay và các thông
tin từ bên ngoài như ban quản lý hàng không, các

ban ngành, cơ quan, hành khách,…. Kết quả cuối
cùng (đầu ra) của hệ thống là quyết định là các chỉ
thị, quyết định chỉ đạo hoạt động của hệ thống bán
vé máy bay.

II. Phân tích hệ thống
3. Thành phần tác nghiệp (mức thực hiện)
Đây là mức thấp nhất của hệ thống thông tin, bảo
đảm các hoạt động cơ sở của công ty. Bao gồm: các
đại lý bán vé, phòng chăm sóc hành khách,…
Thành phần tác nghiệp chịu sự điều khiển của thành
phần quyết định thông qua thành phần thông tin.
Thông tin đầu vào của hệ thống tác nghiệp là các
thông tin của hệ thống quyết định qua thành phần
thông tin
Thông tin đầu ra của hệ thống là báo cáo thống kê
vé bán được, vé không bán được, thống kê các
hành khách mua vé.

24


3/14/2014

II. Phân tích chức năng
Về cơ bản, hệ thống bán vé máy bay của Pacific
Airlines gồm các phân hệ chính sau:
1. Phân hệ quản lý chuyến bay
Công việc quan trọng nhất của quản lý chuyến bay
là xây dựng được hành trình chuyến bay: nơi đi, nơi

đến, thời gian đi, thời gian đến, từ đó xây dựng đơn
giá cho tuyến bay ứng với từng loại máy bay và từng
hạng vé.

II. Phân tích chức năng
4. Phân hệ quản lý hành khách
Đây là đối tượng chính sử dụng hệ thống để hệ
thống hoạt động lâu dài là đối tượng đem lại lợi
nhuận cho tổ chức.
Công việc chính là thêm thông tin hành khách vào
hệ thống, sửa đổi thông tin hành khách, quản lý các
yêu cầu của hành khách,…

II. Phân tích chức năng
2. Phân hệ quản lý vé
Công việc quản lý vé gồm số vé của mỗi chuyến bay, quản lý
số vé bán ra, số vé còn, tạo báo cáo tổng hợp cho từng ngày,
tháng, tuần năm,…
Quản lý vé có ý nghĩa rất lớn đối với việc doanh thu của tổ
chức và thúc đẩy tổ chức phát triển. Từ đó tìm mọi biện pháp
để tư vấn cho bộ phân quản lý chuyến bay đưa ra giá vé hợp
lý, và khuyến mãi thu hút hành khách mua vé.
3. Phân hệ quản lý đại lý
Đây là công việc quản lý việc mở các đại lý nhằm mục đích
đưa vé đến nơi gần nhất tạo điều kiện thuận lợi cho hành
khách mua vé.
Công việc chính là thêm mới các đại lý vào hệ thống, thống
kê các đại lý, thay đổi thông tin đại lý,…

III. Thiết kế cơ sở dữ liệu

1. Mô hình quan niệm về dữ liệu
Cần phải tổ chức các thực thể và tiến hành chuẩn hóa chúng
về dạng chuẩn 3NF hoặc BCNF được các thực thể sau:
1. Tập thực thể SAN_BAY dùng để lưu trữ các thông tin về các
sân bay:
MA_SB:
Mã sân bay
TEN_SB:
Tên sân bay
2. Tập thực thể MAY_BAY dùng để lưu trữ các thông tin về các
loại máy bay:
MA_MB:
Mã máy bay
TEN_MB:
Tên máy bay
SO_GHE:
Số ghế của máy bay.

III. Thiết kế cơ sở dữ liệu
1. Mô hình quan niệm về dữ liệu
3. Tập thực thể GHE dùng để lưu trữ các thông tin về số ghế
của máy bay:
STT
MA_MB:
Stt và Mã máy bay là khóa chính
KY_HIEU_GHE: Ký hiệu ghế.
4. Tập thực thể TUYEN_BAY dùng để lưu trữ các thông tin các
tuyến bay có trong hệ thống
MA_TB:
Mã tuyến bay là khóa của thực thể

MA_SB_DI:
Mã sân bay đi
MA_SB_DEN:
Mã sân bay đến

III. Thiết kế cơ sở dữ liệu
1. Mô hình quan niệm về dữ liệu
5. Tập thực thể CHUYEN_BAY dùng để lưu trữ các thông về các
CB chuyến bay
MA_CB:
Mã chuyến bay là khóa chính của thực thể
SO_HIEU_CB: Số hiệu chuyến bay
THU:
Thứ
GIO_BAY:
Giờ bay
GIO_DEN:
Giờ đến
6. Tập thực thể HANG_VE dùng để lưu trữ các thông tin về các
hạng vé
MA_HV:
Mã hạng vé là khóa của thực thể
TEN_HV:
Tên hạng vé

25


×