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

giao trinh CSDL nang cao

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 (4.82 MB, 53 trang )

NỘI DUNG

Chương 1 CÁC MÔ HÌNH DỮ LIỆU THÔNG DỤNG

CƠ SỞ DỮ LIỆU NÂNG CAO
ADVANCED DATABASE SYSTEMS

Chương 2 CƠ SỞ DỮ LIỆU PHÂN TÁN
Chương 3 CÁC MỨC TRONG SUỐT TRONG DDB
Chương 4 THIẾT KẾ CSDL PHÂN TÁN
Chương 5 TỐI ƯU HÓA TRUY VẤN TRONG DDB

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

NỘI DUNG THỰC HÀNH:
TÌM HIỂU VỀ: DB2, SQL SERVER, ORACLE
2

ĐỊ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, 20083

PGS.TS. NGUYỄN MẬU HÂN
BỘ MÔN CÔNG NGHỆ PHẦN MỀM
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:



4

1.1 Mô hình thực thể mối quan hệ (ER)

Chƣơng1:
CÁC MÔ HÌNH DỮ LIỆU THÔNG DỤNG

PGS.TS. NGUYỄN MẬU HÂN
KHOA CNTT-ĐHKH HUE
5


 Được đề xuất bởi P.Chen (1976)
 là một mô hình khái niệm dựa vào việc nhận thức
thế giới thực thông qua tập các đối tượng được
gọi là các thực thể & các mối quan hệ giữa các đối
tượng này.
 Các thành phần cơ bản
 Tập thực thể: (tên tập thực thể, thuộc tính)
 Các mối quan hệ:
• đơn nguyên: 1 chiều
• nhị nguyên: 2 chiều (1-1, 1-n, n-n, isa)
• đa nguyên: có số chiều >2
6

1


1.2 Mô hình dữ liệu quan hệ (Relation Model)

1.3 Mô hình dữ liệu HĐT (Object-Oriented Model)
1. Giới thiệu chung

 Được đề xuất bởi E.F.Codd (1970)
 Các thành phần cơ bản:
 Quan hệ (relation)
 Lược đồ quan hệ (Relational Schema)
 Khóa
 Phụ thuộc hàm
 ...

Phát triển vào cuối những năm 1980

Các khái niệm CSDL hướng đối tượng đã hình
thành 1 cách tự nhiên.
 hình thành đồng thời các khái niệm của người lập
trình hướng đối tượng

 Chuyển đổi mô hình ER sang mô hình quan hệ
 Đại số quan hệ
7

1.3 Mô hình hƣớng đối tƣợng

8

1.3 Mô hình hƣớng đối tƣợng

2. Lớp, đối tƣợng và định danh đối tƣợng
Lớp được hiểu như là một tập các thực thể, hay
các đối tượng có cùng các đặc tính và hành vi giống
nhau.
Các đặc tính này được mô tả như các thuộc tính
bên trong 1 lớp đối tượng. Các hành vi  các phương
thức (methods) được thực hiện trên mỗi đối tượng
của lớp đó.
Mỗi đối tượng trong 1 lớp được xác định thông qua
tên của đối tượng.
Người ta sử dụng thuộc tính định danh OID (Object
Identifier) để xác định tên duy nhất cho các đối tượng
trong mỗi lớp.

3. Thuộc tính và phƣơng thức

Việc khai báo các thuộc tính thể hiện cấu trúc của
lớp được khai báo.
Mỗi thuộc tính có thể là thuộc tính đơn trị hoặc
thuộc tính đa trị (sử dụng từ khoá “set” để khai bào).
Một thuộc tính có thể là 1 thuộc tính phức hợp: là
thuộc tính được xác định từ tập các thuộc tính khác
(sử dụng từ khoá “tuple” để khai báo).
9

1.3 Mô hình hƣớng đối tƣợng

10

1.3 MÔ HÌNH HƢỚNG ĐỐI TƢỢNG

3. Thuộc tính và phƣơng thức
Việc khai báo các phương thức của mỗi đối tượng
trong 1 lớp nhằm phản ánh các hành vi được thực
hiện trên mỗi đối tượng thuộc lớp đó.
Mẫu đặc tả cho 1 lớp có thể được xác định như sau:
Class <tên lớp>
properties
{khai báo các thuộc tính}
Operations
{khai báo các phương thức}
end <tên lớp>.

Ví dụ

Id_SV

SV

HT
NS

Hoctai

(1,n)

LOP
Siso

ST

TDNN
NN

11

(1,1)

Id_Lop

Ten

CB

 Mô hình hướng đối tượng:
class SV
properties

Id_SV :string;
HT : string;
NS : Date;
ST : set(string);
TDNN: set( tuple( NN : string; CB : char(1)));
Hoctai: LOP; { mang giá trị OID của class LOP}
operations
……….
end SV;

12

2


1.3 MÔ HÌNH HƢỚNG ĐỐI TƢỢNG

1.3 MÔ HÌNH HƢỚNG ĐỐI TƢỢNG

Ví dụ

Ví dụ
LOP

class LOP
properties
Id_Lop : string;
Ten: string;
Siso: integer;
Hoctai: set(SV); { tập các OID của các SV Hoctai LOP}

operations
………….
end LOP;

OID
Lop001
Lop002

Id_Lop Ten
A
TinK25A
B
TinK25B

Siso
70
80

Hoctai
{SV1, SV2}
{SV2, SV4}

SV

OID
SV1
SV2
SV3
SV4


HT
X
Y
Z
T

NS
ST
1/1/85 {BB, BD, CN}
11/3/84 {BĐ}

TDNN (NN, CB)
{(Anh, C), (Nga, B)}

Hoctai
Lop001
Lop001
Lop002
Lop002

13

14

1.3 MÔ HÌNH HƢỚNG ĐỐI TƢỢNG

4. Phân cấp lớp và sự kế thừa
Các lớp trong mô hình hướng đối tượng có thể
được tổ chức theo một phân cấp lớp.
Ta nói rằng lớp C2 là lớp con của lớp C1, có nghĩa là


CHƢƠNG 2
CSDL TRONG MÔI TRƢỜNG PHÂN TÁN

tập các đặc tính (các thuộc tính & phương thức) của
lớp C1 là tập con của tập các đặc tính của lớp C2,
đồng thời tập các đối tượng của lớp C2 lại là tập con
của tập các đối tượng của lớp C1.

Nguyễn Mậu Hân
Khoa CNTT-ĐHKH HUẾ
15

2.1 GIỚI THIỆU VỀ CSDL PHÂN TÁN

16

2.1 GIỚI THIỆU VỀ CSDL PHÂN TÁN

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

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

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

• Phần cứng-Mạng máy tính
• Phần mềm

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


 Hệ quản trị CSDL

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

 Csdl phân tán

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

 Các ứng dụng

• 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
17

18

3


2.2 ĐỊNH NGHĨA CƠ SỞ DỮ LIỆU PHÂN TÁN

2.2 ĐỊNH NGHĨA CƠ SỞ DỮ LIỆU PHÂN TÁN

Đị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:


b. Tương quan logic:

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

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

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

2.2 ĐỊNH NGHĨA CƠ SỞ DỮ LIỆU PHÂN TÁN

20

2.2 ĐỊNH NGHĨA CƠ SỞ DỮ LIỆU PHÂN TÁN

21

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.

22

2.2 ĐỊNH NGHĨA 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.

23

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.

Database Link

24

4


2.2 ĐỊNH NGHĨA 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: />25

2.3 VÍ DỤ

26

2.3 VÍ DỤ

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

2.3 VÍ DỤ


Database 2

Database 1
T
T
T
T
T

Server 1

Server 2

Terminal

T
T
T
T
T

Network

T
T
T
T
T

Server 3

Database 3

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

28

2.3 VÍ DỤ

Ví dụ 2:
Branch1

Xet một ngân hàng như ở ví dụ 1. Nhưng:
• 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à.
• Các máy tính này được kết nối với nhau bởi một mạng cục bộ

T
T
T
T

Database 1

Database 2

Computer
1

Computer
2


Branch2
T
T
T
T

Telephone lines
Telephone lines

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

Computer
3

Branch3
T
T
T
T

bộ.

Telephone lines

29

Database 3

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

30

5


2.3 VÍ DỤ

2.3 VÍ DỤ

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
Front-end Computer

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

Branch3


T T T

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

31

Các ứng dụng

2.4 HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU PHÂN TÁN (DDBMS)

.........

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

33

2.4 HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU PHÂN TÁN

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

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


Kiểm soát toàn vẹn ngữ nghĩa

Tầng điều khiển

Kiểm định cấp quyền
Phép tính quan hệ

Phân rã và tối ưu hóa truy vấn

Tầng biên dịch

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

32

Đại số quan hệ

Điều khiển thực thi hoạch định truy xuất


Tầng thực thi

Thực thi phép toán đại số
Truy xuất/Cập nhật

Quản lý vùng đệm

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

Các phương pháp truy xuất
Truy xuất/Cập nhật

Điều khiển đồng thời

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

Ghi nhật ký
34

DataBase

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

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
36

6


Application
Program

...

Client DBMS
Communication Software

SQL Query

Result

Relation

Operation
System

Operation
System

User
Interface

User
Interface

Application
Program

2.4 HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU PHÂN TÁN

Client DBMS

DDBMS thuần nhất (Homogeneous DDBMS)

Communication Software

Result
Relation

 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


37

38

39

40

2.4 HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU PHÂN TÁN

2.4 HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU PHÂN TÁN

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

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

42

7


2.4 HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU PHÂN TÁN

2.4 CÁC HÌNH THỨC TỔ CHỨC HỆ THỐNG PHÂN TÁN

Ƣu và nhƣợc điểm của hệ phân tán
Nhược điểm

 peer-to-peer

• 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

 File server

• 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

 Client/Server


phần mềm ứng dụng không được phân bố phù hợp với việc
sử dụng chung.
43

2.4 CÁC HÌNH THỨC TỔ CHỨC HỆ THỐNG PHÂN TÁN

44

2.4 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ô hình nhóm làm việc):

 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.
 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).
Đâ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.
45

46

2.4 CÁC HÌNH THỨC TỔ CHỨC HỆ THỐNG PHÂN TÁN

2.4 CÁC HÌNH THỨC TỔ CHỨC HỆ THỐNG PHÂN TÁN


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

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

47

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

48

8



2.5 CÁC LOẠI TRUY XUẤT CSDL PHÂN TÁN

2.5 CÁC LOẠI TRUY XUẤT CSDL PHÂN TÁN

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

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

Trình
ứng
dụng

Trình
ứng
dụng

Cơ sở
dữ liệu 1


DBMS1

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
Cơ sở
dữ liệu 2

DBMS2
Kết quả gửi về

Kết quả toàn cục

DBMS2

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


Chƣơng
trình phụ trợ
49

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

Cơ sở
dữ liệu 2
50

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

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

Các

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

Sơ đồ phân mảnh
(Fragmentation 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

51

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

52

2.6 KIẾN TRÚC CƠ BẢN CỦA CSDL 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.
53

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

9


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

2.6 KIẾN TRÚC CƠ BẢN CỦA CSDL 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ị CSDL đị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ý
55

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

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ý

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

56

2.6 KIẾN TRÚC CƠ BẢN CỦA CSDL 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

57

2.6 KIẾN TRÚC CƠ BẢN CỦA CSDL 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, là 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 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.

58

2.7 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.7.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 là gì.
59

60

10


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

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

62

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

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

63

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

64

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

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

66

11



2.8 TRONG SUỐT PHÂN TÁN

2.8 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

NCC3

Vị trí2

Vị trí3

Trong suốt phân đoạn

67

68

2.8 TRONG SUỐT PHÂN TÁN

2.8 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”

69

70

2.8 TRONG SUỐT PHÂN TÁN

2.8 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í
71


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

72

12


2.8 TRONG SUỐT PHÂN TÁN

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

Ví dụ: Với ví dụ như trên nhưng giả sử rằng DBMS cung
cấp tính trong suốt ánh xạ địa phương.
SELECT
*
FROM
NCC1 AS Vịtrí 1
WHERE
Id=”Id1”
IF NOT #FOUND THEN
SELECT *
FROM
NCC2 AS Vịtrí 2
WHERE Id=”Id1”

1. Distributed Database Design
2. Distributed Query Processing
3. Distributed Transaction Management
4. Distributed Concurrency Control

5. Distributed Deadlock Management
6. Reliability of Distributed DBMS
7. Operating System Support
8. Heterogeneous Database
73

74

ASSIGNMENT

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

1. Distributed Database Systems: Oracle8i
/>a67784/toc.htm

1. Đị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. Distributed Database Systems: DB2

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

/>
3. Ưu và nhược điểm của hệ phân tán
4. Các truy xuất từ xa trong hệ thống phân tán
5. Kết nối cơ sở dữ liệu trong hệ phân tán
6. Kiến trúc cơ bản của một cơ sở dữ liệu phân tán
7. Giải thích và cho ví dụ về các loại trong suốt phân tán


75

76

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

NỘI DUNG
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

CHƢƠNG 3

3.3 Phƣơng pháp thiết kế CSDL phân tán

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
77

78

13


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


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

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 đó.
79

80

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

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

82

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

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


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

84

14


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

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


85

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

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

3.2.3 Sao lặp dữ liệu:

3.2.4 Phƣơng thức lai:

• CSDL được nhân thành nhiều bản từng phần hoặc đầy

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

đủ và được đặt ở nhiều trạm trên mạng.


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

• Nếu bản sao của CSDL được lưu giữ tại mọi trạm của hệ

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

thống ta có trường hợp sao lặp đầy đủ.

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

• 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 đó.
87

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

88

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

So sánh các lựa chọn nhân bản dữ liệu
 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
 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ố.
 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.
89

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

90

15


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:

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

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

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

92

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ế từ tổng thể đến riêng biệt

3.3.2 Các phƣơng pháp thiết kế CSDL phân tán

• Phân rã một hệ thống lớn thành các hệ thống con

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-Down).
• Phương pháp tiếp cận từ dưới lên (Bottom Up).

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

93

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

94

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

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

• 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

+ 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ở.
95

• 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

96

16


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


97

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

I. ĐẠI SỐ QUAN HỆ

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

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

0. Nhắc lại các phép toán đại số quan hệ và ngôn ngữ SQL

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}


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?

Ví dụ:

4. Có cách gì kiểm tra tính đúng đắn của việc phân mảnh?

r

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?

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

MASV

MAMH

DIEMTHI

9001

CTDL

2

9002

TTNT

5

9003

MANG

6


9001

TTNT

5

9003

MANG

6

99

I. ĐẠI SỐ QUAN HỆ

I. ĐẠI SỐ QUAN HỆ
3. Phép hiệu (Difference):

2. Phép giao (Intersection):
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}

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}

Ví dụ:


Ví dụ:

MASV

MAMH

DIEMTHI

MASV

MAMH

DIEMTHI

9001

CSDL

5

9002

CTDL

2

9002

CTDL


2

MASV
9002

MANG

8

r

rs

s

r

9003

100

9001

TTNT

5

9003


MANG

6

MAMH
CTDL

DIEMTHI
2

101

s

t = r-s

MASV

MAMH

DIEMTHI

MASV

MAMH

DIEMTHI

MASV


MAMH

DIEMTHI

9001

CSDL

5

9002

CTDL

2

9001

CSDL

5

9002

CTDL

2

9001


TTNT

5

9003

MANG

8

9003

MANG

8

9003

MANG

6

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

102

17



I. ĐẠI SỐ QUAN HỆ

I. ĐẠI SỐ QUAN HỆ
5. Phép chiếu (Projection):

4. Tích Descartes (Cartersian Product):

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}

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.
Ví dụ:

t=rxs

Ví dụ:
r

s


MAMH

DIEMTHI

MAMH

TENMH

9001

CSDL

5

CSDL

CO SO DU LIEU

MASV

MAMH

DIEMTHI

MAMH

TENMH

9001


CSDL

5

FOX

FOXPRO

9001

CSDL

5

CSDL

CO SO DU LIEU

9002

CTDL

2

CSDL

CO SO DU LIEU

9002


CTDL

2

FOX

FOXPRO

9002

CTDL

2

FOX

FOXPRO

9003

MANG

8

9003

MANG

8


CSDL

CO SO DU LIEU

9003

MANG

8

FOX

FOXPRO

103

MASV

MAMH

DIEMTHI

MAMH

9001

CSDL

5


CSDL

9002

CTDL

2

CTDL

9003

MANG

8

MANG

I. ĐẠI SỐ QUAN HỆ

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:

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 }
r

f

MAMH

DIEMTHI

9001

CSDL

5

9002

CTDL

2

9003

MANG

8

MASV

MAMH


r

Ví dụ:

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

MASV

104

I. ĐẠI SỐ QUAN HỆ

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

Ví dụ:

.{MAMH} (r)

r

MASV

r

DIEMTHI

f

s= f (r  s)

s

r

s

DIEMTHI>=DIEMHK

MASV

MAMH

DIEMTHI

MAMH

DIEMHK

MASV

MAMH

DIEMTHI

MAMH2

DIEMHK

9001


CSDL

5

9001

CSDL

6

CTDL

7

9001

CSDL

6

TTNT

6

9003

MANG

8


9002

CTDL

7

TTNT

6

9002

CTDL

7

CTDL

7

9003

MANG

4

MANG

8


9002

CTDL

7

TTNT

6

105

106

I. ĐẠI SỐ QUAN HỆ

I. ĐẠI SỐ QUAN HỆ

Phép nối tự nhiên:

8. Phép chia (Division):

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
MASV


MAMH

DIEMTHI

9001

CSDL

5

9002

CTDL

7

9003

MANG

8

s
MAMH

Tên MH

CTDL


Cấu trúc DL

TTNT

Trí tuệ nhân tạo

MANG

Mạng máy tinh

Ví dụ:

s

r

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}
rs

s

r

MASV


MAMH

DIEMTHI

Tên MH

TENSV

SN

MH

DIEMTHI

MH

DIEMTHI

TENSV

SN

9002

CTDL

7

Cấu trúc DL


TUAN

03

CTDL

9

TTNT

5

TUAN

03

Mạng máy tinh

LAM

07

NNLT

8

CTDL

9


TUAN

03

TTNT

5

QUY

08

TTNT

5

9003

MANG

8

107

108

18


I. ĐẠI SỐ QUAN HỆ


I. ĐẠI SỐ QUAN HỆ
Phép nửa nối:

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)

Ví dụ:
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=

C
c
e

rs=

D
d
f
A
a

e

B
b
d

s)
s

r

Ví dụ:

r=

s = R( r

r

MASV

MAMH

DIEMTHI

9001

CSDL

5


9002

CTDL

7

9003

MANG

8

MASV

MAMH

DIEMTHI

Tên MH

9002

CTDL

7

Cấu trúc DL

9003


MANG

8

Mạng máy tinh

109

I. NHẮC LẠI NGÔN NGỮ SQL

Tên MH

CTDL

Cấu trúc DL

MASV

MAMH

DIEMTHI

TTNT

Trí tuệ nhân tạo

9002

CTDL


7

MANG

Mạng máy tinh

9003

MANG

8

I. NHẮC LẠI NGÔN NGỮ SQL
CREATE TABLE

Tạo bảng

DROP TABLE

Xoa bảng

ALTER TABLE

Sửa đổi bảng

CREATE VIEW

Tạo khung nhìn


Truy xuất dữ liệu

ALTER VIEW

Sửa đổi khung nhìn

INSERT

Bổ sung dữ liệu

DROP VIEW

Xoá khung nhìn
Tạo chỉ mục

UPDATE

Cập nhật dữ liệu

CREATE INDEX
DROP INDEX

Xoá chỉ mục

Chức năng

Thao tác dữ liệu
SELECT

DELETE


Xoá dữ liệu

CREATE SCHEMA Tạo lược đồ cơ sở dữ liệu

TRUNCATE

Xoá toàn bộ dữ liệu trong bảng

DROP SCHEMA

Xoá lược đồ cơ sở dữ liệu

CREATE
PROCEDURE

Tạo thủ tục lưu trữ

111

I. NHẮC LẠI NGÔN NGỮ SQL

DROP PROCEDURE Xoá thủ tục lưu trữ
CREATE FUNCTION Tạo hàm (do người sử dụng định nghĩa)
Sửa đổi hàm

DROP FUNCTION

Xoá hàm


CREATE TRIGGER

Tạo trigger

ALTER TRIGGER

Sửa đổi trigger

DROP TRIGGER

Xoá trigger

112

I. NHẮC LẠI NGÔN NGỮ SQL
Điều khiển truy cập
GRANT
REVOKE
Quản lý giao tác
COMMIT
ROLLBACK

ALTER PROCEDURE Sửa đổi thủ tục lưư trữ

ALTER FUNCTION

110

Định nghĩa dữ liệu


SQL chuẩn bao gồm khoảng 40 câu lệnh. Bao gồm:

Câu lệnh

s

r

s
MAMH

113

Cấp phát quyền cho người sử dụng
Thu hồi quyền từ người sử dụng

Uỷ thác (kết thúc thành công) giao tác
Quay lui giao tác
SAVE TRANSACTION Đánh dấu một điểm trong giao tác
Lập trình
DECLARE
Khai báo biến hoặc định nghĩa con trỏ
OPEN
Mở một con trỏ để truy xuất kết quả truy vấn
FETCH
Đọc một dòng trong kết quả truy vấn
CLOSE
Đóng một con trỏ
EXECUTE
Thực thi một câu lệnh SQL

114

19


SQL

II. SQL SERVER

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

I. Giới thiệu về SQL Server
MS SQL Server là hệ quản trị CSDL theo mô
hình client/server, được thiết kế để tích hợp với hệ
điều hành Windows NT. Đây là một hệ quản trị
CSDL mạnh và có tính bảo mật cao.
Trong SQL Server, CSDL được tổ chức trên
các Server và người sử dụng thông qua hệ thống
mạng để truy xuất dữ liệu từ các client.

Câu lệnh SELECT
Cú pháp:
SELECT
FROM
WHERE
Ý nghĩa:


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


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

Windows NT
SQL Server

Client
Computer
Network

SQL Client
Application

115

116

II. SQL SERVER

II. SQL SERVER

II. Các đối tƣợng của SQL Server
Các đối tượng cơ bản trong SQL Server bao gồm:
1. Device: Là các file hệ thống được sử dụng để lưu
trữ CSDL, nhật ký giao tác (transaction log) và các
bản dự phòng (backup).

 Trước khi tạo CSDL, người quản trị phải tạo các
device để lưư trữ CSDL.
 Một device có thể chứa nhiều CSDL và một
CSDL cũng có thể được tổ chức trên nhiều device.
2. Các Login: Là những người được cấp quyền và
cho phép truy nhập vào SQL Server. Để có thể
truy nhập vào SQL Server, bạn phải là một login
của hệ thống.
117

II. SQL SERVER

3. Database:
 CSDL được tổ chức trên một hoặc nhiều device.
 Mỗi một CSDL thường gắn có một nhật ký giao
tác có chức năng ghi lại dấu của các giao tác đã
được thực hiện.
Trong mỗi CSDL có các đối tượng chính sau đây:
 Các bảng (table): dùng để chứa toàn bộ dữ liệu
tro ng cơ sở dữ liệu.
 Khung nhìn (view): Có cấu trúc như bảng nhưng
không thực sự chứa dữ liệu. Dữ liệu trong các
khung nhìn được định nghĩa thông qua các truy vấn.
118

II. SQL SERVER

 Thủ tục lưu trữ sẵn (stored procedure): là một tập các
câu lệnh được viết sẵn cung cấp cho người sử dụng
những khả năng mềm dẻo hơn trong việc thực thi các

giao tác trong CSDL.
 Các trigger: là các thủ tục lưu trữ sẵn, được tự động
kích hoạt mỗi khi có các tác động làm thay đổi dữ liệu
trong các bảng dữ liệu nhờ đó kiểm tra được tính toàn
vẹn dữ liệu.
 Các User: là các login được cấp quyền sử dụng
CSDL. SQL Server dựa trên các quyền được cấp phát
cho mỗi để kiểm tra tính hợp pháp của các giao tác do
user đó đưa ra.
119

III. Quản trị SQL Server
Quản trị SQL Server là một công việc liên quan đến:
 Việc cài đặt
 Quản lý các device
 Quản lý CSDL
 Bảo mật, nhân bản dữ liệu,...
1. Quản lý các device
 CSDL trong SQL Server được tổ chức trên các
device.
 Trước khi tạo bất kỳ một CSDL mới, ngưòi quản trị
hệ thống phải tạo các device để lưu trữ CSDL.
120

20


II. SQL SERVER

II. SQL SERVER


 Device được chia làm hai loại:
 Database Device: thực chất là các file được tổ chức
trên đĩa cứng và được dùng để tổ chức CSDL và
nhật ký giao tác.
 Dump device: được sử dụng để lưu trữ các bản dự
phòng của CSDLvà nhật ký giao tác.
Dump device có thể được tổ chức trên đĩa cứng.

121

II. SQL SERVER

2. Quản lý CSDL
 CSDL một trong những đối tượng của SQL Server
được sử dụng để tổ chức và quản lý dữ liệu.
 Mỗi một CSDL thường có một nhật ký giao tác
(transaction log) để lưu trữ lại các giao tác đã được
thực hiện trên CSDL đó.
 Người quản trị hệ thống mặc định là người có quyền
tạo ra các CSDL. Tuy nhiên, người quản trị hệ thống
có thể cấp quyền cho các user khác để tạo CSDL.
 Người tạo ra CSDL được gọi là người sở hữu CSDL
(DBO:database owner). DBO có thể cho phép hay cấm
những người sử dụng khác thực hiện các giao tác trên
122
CSDL của mình.

II. SQL SERVER


3. Sao lƣu dữ liệu
Sao lưu dữ liệu thường xuyên sẽ cho phép phục
hồi dữ liệu khi hệ thống bị hỏng hay mất mát dữ liệu.
SQL Server cho phép người sử dụng lập thời khoá
biểu để sao lưu dữ liệu một cách tự động.

5. Bảo mật hệ thống
Bảo mật trong SQL Server được chia làm các
mức như sau:

4. Nhân bản dữ liệu
Là công việc cho phép phân tán dữ liệu từ một
Site (Server) này đến các Site khác trên mạng.
Công việc này cho phép phân tán dữ liệu đến
nhiều nơi và nhờ đó có thể hỗ trợ cho việc truy xuất dữ
liệu ở các vị trí xa nhau được nhanh chóng và thuận
thiện hơn.
123

124

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

II. SQL SERVER

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

III. Lập trình tƣơng tác với SQL Server

SQL Server cung cấp những công cụ để người lập
trình viết các chương trình nhằm quản lý hệ thống
cũng như xuất nhập dữ liệu dễ dàng hơn.
Việc lập trình giao tiếp với SQL Server được chia
làm hai loại:
Lập trình quản lý các đối tượng phân tán (DMO):
Cho phép người lập trình viết các chương trình
nhằm quản lý các đối tượng trong SQL Server.
Lập trình DB cho phép người sử dụng viết các
chương trình nhằm truy nhập dữ liệu trong SQL
Server.
125

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

21


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



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

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:
+ 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ữ.
127

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

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)

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

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.


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

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

Như vậy, trong phân mảnh ngang tập các vị từ đóng một vai trò
130
quan trọng.

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

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:


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.



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.

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



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

131

132

22


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

A1
A2

A3
A4
A5
A6
A7
A8

Nam
Trung
Đông
Bắc
Tây
Hùng
Dũng
Chiến

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ệ:

HOSO (G)
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

A1
A2
A2
A3
A3
A4
A5
A6
A7
A8

NHIEMVU

DUAN1=

THOIGIAN

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

12
34
6
12
10
6
20
36
48
15

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

TENDA

NGANSACH

ĐIACHI


150000
135000

Huế
Hà nôi

DUAN1
MADA

DUAN (J)

D1
D2

TLUONG (S)

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

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

DUAN2


133

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

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

MADA

TENDA

NGANSACH

ĐIACHI

D3
D4

BẢO TRÌ
PHÁT TRIỂN

250000
310000

Hà nội
HCMC


134

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ệ:
DUAN3 = $1,$3(DUAN);

CSDL
CÀI ĐẶT

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

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

$1,$3(DUAN);

$1,$2(DUAN);

6

DUAN

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ỂN135

3.4 PHÂN MẢNH DỮ LIỆU
3.4.3 Mức độ phân mảnh
 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.
 Nếu là phân mảnh dọc thì các mảnh dữ liệu nên ở dạng
chuẩn 3NF.

 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:

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

DUAN6

DUAN5

MADA

NGANSACH

MADA

TENDA

D1
D2

150000
135000

D3
D4

BẢO TRÌ
PHÁT TRIỂN
136

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:

 Tùy thuộc vào bài toán

a. Tính đầy đủ (completeness)

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

b. Tính tái thiết được (reconstruction)

 Có thể dùng phương pháp “tụ lực” – Affinity của các thuộc
137
tính (xét ở phần sau) để thực hiện phân mảnh

c. Tính tách biệt (disjointness):
138

23


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

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

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 đó.
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
139
nối .

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

140

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=

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

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

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 DUAN1412

DUAN1

DUAN2
MADA

D1
D2


CSDL
CÀI ĐẶT

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

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

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

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

142

3.4.5 Các yêu cầu thông tin để phân mảnh

$1,$3(DUAN);

Các thông tin để thiết kế CSDL phân tán chia làm 4
loại:


$1,$2(DUAN);

6

$1,$2(DUAN);

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ệ:
DUAN5 =

DUAN4=

DUAN

a) Thông tin về CSDL: các quan hệ tổng thể và mối
quan hệ giữa chúng.

DUAN6

MADA

NGANSACH

ĐIACHI

MADA

TENDA


D1
D2

150000
135000

Huế
Hà nôi

D3
D4

BẢO TRÌ
PHÁT TRIỂN

b) Thông tin về các ứng dụng: các truy vấn trên các
quan hệ.

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

c) Thông tin về mạng: các sites
d) Thông tin về hệ thống máy tính: giao thức, tôpô
mạng
143

Trong đó: a) và b) là quan trọng

144

24



a. Thông tin về CSDL:

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

1. Yêu cầu thông tin về phân mảnh ngang
a. Thông tin về CSDL:
 Các quan hệ tổng thể
 Các mối quan hệ: các đường nối giữa 2 quan hệ
 Lực lượng của mỗi quan hệ: số bộ trong mỗi quan
hệ. Ký hiệu Card (R)=số bộ của quan hệ R

Ví dụ: Xét CSDL đã cho Hãy biểu diễn các đường nối giữa các
quan hệ. Chú ý rằng hướng của các đường nối cho biết mối
quan hệ 1-n.
Chẳng hạn, với mỗi chức vụ có nhiều nhân viên giữ chức vụ đó,
thì vẽ một đường nối từ quan hệ TLUONG(S) đến quan hệ
NHANVIEN(E). Đồng thời mối liên hệ nhiều-nhiều giữa
NHANVIEN(E) và DUAN(J) được biểu diễn bằng hai đường nối
đến quan hệ HOSO(G).
S
J
CHUCVU, LUONG

MANV, TENDA, NGANSACH

L1
L3


E
MANV, TENNV, CHUCVU
L2
145

a. Thông tin về CSDL:

MANV, MADA, NHIEMVU,THOIGIAN146

b. Thông tin về các ứng dụng

 Quan hệ nằm tại đuôi của đường nối được gọi là chủ nhân
(owner) hoặc quan hệ nguồn (source relation) của đường nối
 Quan hệ nằm tại đầu đường nối (đầu mũi tên) gọi là thành
viên (member) hoặc quan hệ đích (target relation).
Các hàm owner và nember từ tập các đường nối đến tập quan
hệ sẽ trả về là quan hệ thành viên hoặc quan hệ chủ nhân của
đường nối khi cho trước một đường nối giữa chúng.
Ví dụ: Cho đường nối L1
của hai quan hệ TLUONG(S)
và NHANVIEN(E).
Các hàm owner và member
có các giá trị sau:
owner (L1) = S
member (L1) = E

G

S
CHUCVU, LUONG

L1

E
MANV, TENNV, CHUCVU
147

Chú ý:
[Gio Wiederhold, 1982] Trong các câu truy vấn thì có
khoảng 20% các câu vấn tin ghi dữ liệu và 80% câu
vấn tin là đọc dữ liệu ”. Quy tắc “80/20” này có thể
được sử dụng như một hướng dẫn khi thực hiện các
phân tích.
Thông tin định tính của một ứng dụng (gồm tập các vị
từ) thường để hướng dẫn cho việc phân mảnh.
Thông tin định lượng của một ứng dụng (gồm lực
lượng của các quan hệ) chủ yếu được sử dụng trong
mô hình cấp phát.
 Việc xác định các vị từ, đặc biệt các vị từ hay sử
148
dụng, là quan trọng.

3.5 Cấp phát tài nguyên trong hệ phân tán

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

Một vài nhận xét
 Bài toán cấp phát tổng quát, ký hiệu DAP
(Database Allocation Problem), là một bài toán NPđầy đủ.
 Người ta sử dụng các thuật giải heuristic để tìm lời
giải gần tối ưu cho loại bài toán này.

 Hiện nay, chưa có một mô hình heuristic tổng quát
nào nhận một tập các mảnh và sinh ra một chiến
lược cấp phát gần tối ưu ứng với các ràng buộc
cho trước.
 Các mô hình đã được phát triển chỉ mới đưa ra một
số giả thiết đơn giản hóa và dễ áp dụng cho một số
cách đặt vấn đề cụ thể
149

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. Thuật toán phân mảnh ngang nguyên thủy:
COM_MIN, PHORIZONTAL
7. Bài toán cấp phát
150

25


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

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