Top Banner
1 CHƢƠNG 3 THIẾT KẾ CSDL PHÂN TÁN Nguyễn Mậu Hân Khoa CNTT-ĐHKH HUẾ 2 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 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 3 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 đó. CHƢƠNG 3: THIẾT KẾ CSDL PHÂN TÁN 4 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ể? 3.1 Nội dung thiết kế một hệ thống phân tán 5 6 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 Nội dung thiết kế một hệ thống phân tán
25

He phan tan_In chuong3

Jul 02, 2015

Download

Documents

thanhconghue
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: He phan tan_In chuong3

1

CHƢƠNG 3

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

Nguyễn Mậu Hân

Khoa CNTT-ĐHKH HUẾ

2

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

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 ĐÍCHCung 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

3

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

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

4

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

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

5 6

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 Nội dung thiết kế một hệ thống phân tán

Page 2: He phan tan_In chuong3

2

7

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.1 Nội dung thiết kế một hệ thống phân tán

8

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.

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

9

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

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

10

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.

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

11

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

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

12

3.2.4 Phƣơng thức lai:

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

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

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

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

Page 3: He phan tan_In chuong3

3

13

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.

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

14

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

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

Nhân bản hoàn

toàn

Nhân bản

một phầnPhân hoạch

Xử lý vấn tin Dễ Cùng mức độ khó

Quản lý thư mụcDễ hoặc không

tồn tạiCùng mức độ khó

Điều khiển đồng

thờiVừa phải Khó Dễ

Độ tin cậy Rất cao Cao Thấp

Tính thực tế Có thể áp dụng Thực tếCó thể áp

dụng

So sánh các lựa chọn nhân bản

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: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ể16

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

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

17

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

• Phương pháp tiếp cận từ dưới lên.

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

18

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

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

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

Page 4: He phan tan_In chuong3

4

19

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

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

20

• 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

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

21

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

22

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ể

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

23

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?

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

24

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

Câu lệnh SELECT

Cú pháp:

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

FROM R1, R2 ,. . . , Rk

WHERE

Ý nghĩa: ( (R1 ... Rk))

SQL

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

Page 5: He phan tan_In chuong3

5

25

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

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.

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

26

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

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

27

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

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

28

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.

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

29

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.

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ò

quan trọng. 30

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

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

Page 6: He phan tan_In chuong3

6

31

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.

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

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

32

NHANVIEN (E) HOSO (G)

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

MANV TENNV CHUCVU

A1

A2

A3

A4

A5

A6

A7

A8

Nam

Trung

Đông

Bắc

Tây

Hùng

Dũng

Chiến

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

MANV MADA NHIEMVU THOIGIAN

A1

A2

A2

A3

A3

A4

A5

A6

A7

A8

D1

D1

D2

D3

D4

D2

D2

D4

D3

D3

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

12

34

6

12

10

6

20

36

48

15

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 LUONG

Kỹ sư điện

Phân tích HT

Lập trình viên

Thiết kế DL

2000

2500

3200

4000

DUAN (J) TLUONG (S)

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

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

DUAN1

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

DUAN1= NGANSACH200000(DUAN);

DUAN2=NGANSACH>200000 (DUAN)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

CSDL

CÀI ĐẶT

150000

135000

Huế

Hà nôi

DUAN2

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

MADA NGANSACH

D1

D2

D3

D4

150000

135000

250000

310000

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

DUAN3

MADA TENDA

D1

D2

D3

D4

CSDL

CÀI ĐẶT

BẢO TRÌ

PHÁT TRIỂN

DUAN4

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

DUAN

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

MADA NGANSACH

D1

D2

150000

135000

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

DUAN5 = NGANSACH200000$1,$3(DUAN);

DUAN6= NGANSACH>200000$1,$2(DUAN);

DUAN5

MADA TENDA

D3

D4

BẢO TRÌ

PHÁT TRIỂN

DUAN6

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

DUAN

36

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:

Tùy thuộc vào bài toá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

tính (xét ở phần sau) để thực hiện phân mảnh

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

Page 7: He phan tan_In chuong3

7

37

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

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

38

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

nối .

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

39

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

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

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

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

DUAN1

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

DUAN1= NGANSACH200000(DUAN);

DUAN2=NGANSACH>200000 (DUAN)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

CSDL

CÀI ĐẶT

150000

135000

Huế

Hà nôi

DUAN2

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

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

MADA NGANSACH ĐIACHI

D1

D2

D3

D4

150000

135000

250000

310000

Huế

Hà nôi

Hà nội

HCMC

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

DUAN3 = $1,$3,$4(DUAN); DUAN4= $1,$2(DUAN);

DUAN3

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

MADA TENDA

D1

D2

D3

D4

CSDL

CÀI ĐẶT

BẢO TRÌ

PHÁT TRIỂN

DUAN4

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

DUAN

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

MADA NGANSACH ĐIACHI

D1

D2

150000

135000

Huế

Hà nôi

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

DUAN5 = NGANSACH200000$1,$3(DUAN);

DUAN6= NGANSACH>200000$1,$2(DUAN);

DUAN5

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

DUAN5 DUAN

DUAN6 DUAN

DUAN = (DUAN DUAN5 ) (DUAN DUAN6 )

MADA TENDA

D3

D4

BẢO TRÌ

PHÁT TRIỂN

DUAN6

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

DUAN

Page 8: He phan tan_In chuong3

8

43

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

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

loại:

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

quan hệ giữa chúng.

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

quan hệ.

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

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

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

44

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

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

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

45

NHANVIEN (E) HOSO (G)

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

MANV TENNV CHUCVU

A1

A2

A3

A4

A5

A6

A7

A8

Nam

Trung

Đông

Bắc

Tây

Hùng

Dũng

Chiến

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

MANV MADA NHIEMVU THOIGIAN

A1

A2

A2

A3

A3

A4

A5

A6

A7

A8

D1

D1

D2

D3

D4

D2

D2

D4

D3

D3

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

12

34

6

12

10

6

20

36

48

15

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 LUONG

Kỹ sư điện

Phân tích HT

Lập trình viên

Thiết kế DL

2000

2500

3200

4000

DUAN (J) TLUONG (S)

46

a. Thông tin về CSDL:

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

E

J

G

CHUCVU, LUONG

MANV, MADA, NHIEMVU,THOIGIAN

MANV, TENNV, CHUCVU

MANV, TENDA, NGANSACH

L1

L2

L3

a. Thông tin về CSDL:

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

S

E

CHUCVU, LUONG

MANV, TENNV, CHUCVU

L1

b. Thông tin về ứng dụngChú ý:

[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ử

dụng, là quan trọng.

Page 9: He phan tan_In chuong3

9

49

Cho lược đồ quan hệ R( A1,A2 …, An) trong đó Aj là

thuộc tính được định nghĩa trên một miền biến thiên Dj.

một vị từ đơn giản P được định nghĩa trên R có dạng:

P: Aj θ Value, θ {=, <, ≠, ≤, >, ≥}, Aj là một thuộc

tính của R và Value Dj.

Ký hiệu Pr tập tất cả các vị từ đơn giản được định

nghĩa trên quan hệ R.

Như vậy, cho trước LĐQH R, nếu các Dj là hữu hạn

thì ta có thể xác định tất cả các vị từ đơn giản trên R.

Trong thực tế các câu truy vấn thường chứa các vị từ

phức tạp. Hội của các vị từ đơn giản, ký hiệu M, được

gọi là vị từ hội sơ cấp.

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

50

Một số vị từ đơn giản được định nghĩa trên quan hệ

này: P1: CHUCVU=“Phân tích HT“

P2: CHUCVU=“Lập trình viên“

P3: LUONG < 3000

P4: LUONG 3000

Một số vị từ hội sơ cấp được định nghĩa trên quan hệ

này: m1: CHUCVU=“Phân tích HT“ LUONG < 3000

m2: (CHUCVU=“Phân tích HT“) LUONG 3000

Chú ý:

Không phải tất cả các vị từ hội sơ cấp đều có thể định

nghĩa được trên một quan hệ nào đó

Một số trong chúng vô nghĩa đối với ngữ nghĩa của

quan hệ

Ví dụ: Xét quan hệ TLUONG (CHUCVU, LUONG).

CHUCVU LUONG

Kỹ sư điện

Phân tích HT

Lập trình viên

Thiết kế DL

2000

2500

3200

4000

51

Những thông tin định tính về các ứng dụng:

1. Độ tuyển của hội sơ cấp (minterm selectivity): số

lượng các bộ của quan hệ được truy xuất bởi câu

truy vấn được đặc tả theo một vị từ hội sơ cấp đã

cho.

Ví dụ:

m1: CHUCVU=“Phân tích HT“ LUONG < 2000

Có độ tuyển của hội sơ cấp là 0 vì không có bộ nào

của quan hệ TLUONG được truy cập

m2: (CHUCVU=“Phân tích HT“) LUONG > 3000

Có độ tuyển của hội sơ cấp là 2 vì chỉ có hai bộ của

quan hệ TLUONG được truy cập

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

CHUCVU LUONG

Kỹ sư điện

Phân tích HT

Lập trình viên

Thiết kế DL

2000

2500

3200

4000

52

Những thông tin định tính về các ứng dụng:

2. Tần số truy xuất (acces frequency): tần số ứng

dụng truy xuất dữ liệu

Nếu Q={q1, q2,..., qq} là tập các câu truy vấn,

Ký hiệu:

acc(qi) là số truy xuất của qi trong một khoảng thời

gian cho trước hoặc trong quan hệ cụ thể

acc(mi) là tần số truy xuất của hội sơ cấp mi

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

53

Nhận xét:

Phân mảnh ngang của quan hệ R là một quan hệ

chứa tất cả các bộ của R thỏa mãn vị từ hội sơ cấp.

Cho tập vị từ hội sơ cấp M, khi đó số lượng các

mảnh ngang cũng bằng số lượng các vị từ hội sơ cấp.

Tập mảnh ngang này được gọi là tập các mảnh hội sơ

cấp.

Việc định nghĩa các mảnh ngang phụ thuộc vào các

vị từ hội sơ cấp

Trong mọi thuật toán phân mảnh bước đầu tiên là

xác định tập các vị từ đơn giản cần thiết mà chúng sẽ

tạo ra các vị từ hội sơ cấp. Tập vị từ này nói chung phụ

thuộc vào mục tiêu và yêu cầu của bài toán.

3.4.6 Thuật toán phân mảnh ngang

54

Nhận xét (tt):

Một khái niệm quan trọng của các vị từ đơn giản là

tính đầy đủ (completeness) và tính cực tiểu

(minimality) của tập các vị từ.

a. Xét về tính đầy đủ của tập vị từ

Tập các vị từ đơn giản Pr được gọi là đầy đủ nếu và

chỉ nếu xác suất của mỗi ứng dụng truy xuất đến mỗi

bộ bất kỳ thuộc về một mảnh hội sơ cấp nào đó được

định nghĩa theo Pr đều bằng nhau.

3.4.6 Thuật toán phân mảnh ngang

Page 10: He phan tan_In chuong3

10

55

Xét các phân mảnh ngang của quan hệ DUAN:

Ví dụ

MADA TENDA NGANSACH DIACHI

D1 CSDL 150000 Huế

MADA TENDA NGANSACH DIACHI

D2

D3

CÀI ĐẶT

BẢO TRÌ

135000

250000

Hà nôi

Hà nội

MADA TENDA NGANSACH DIACHI

D4 PHÁT TRIỂN 310000 HCMC

MADA TENDA NGANSACH DIACHI

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

DUAN

DUAN1 DUAN2

DUAN3

DUAN1=DIACHI=“Huế”(DUAN)

DUAN2=DIACHI=“Hà nội”(DUAN)

DUAN3=DIACHI=“HCMC”(DUAN)

56

Xét tập ứng dụng

Pr={DIACHI=“Hue”,DIACHI=“Hànội”, DIACHI=“HCMC”}

thì Pr là đầy đủ vì mỗi bộ của mỗi mảnh DUANi đều có

xác suất được truy xuất như nhau.

Tuy nhiên nếu thay đổi tập ứng dụng

Pr={DIACHI=“Hue”,DIACHI=“Hànội”, DIACHI=“HCMC”,

NGANSACH<200000} thì sẽ có một số bộ của quan hệ

DUANi nào đó sẽ không được truy xuất bởi vị từ

NGANSACH<200000.

Để Pr là đầy đủ thì

Pr={DIACHI=“Hue”,DIACHI=“Hànội”, DIACHI=“HCMC”,

NGANSACH<200000, NGANSACH200000}

Ví dụ (tt)

57

b. Xét về tính cực tiểu của tập vị từ

Nếu tất cả vị từ của tập Pr đều có liên đới đến việc

phân mảnh và không có hai vị từ nào là tương đương

nhau thì Pr được gọi là cực tiểu.

Ví dụ: tập Pr ở ví dụ trên là cực tiểu. Tuy nhiên nếu

thêm vào Pr vị từ TENDA=“RUP” thì Pr không còn cực

tiểu, vì vị từ này không liên quan đến việc phân mảnh.

Chú ý rằng:

Khái niệm cực tiểu liên quan đến vấn đề tối ưu bộ

nhớ, tối ưu tập các thao tác trên tập câu truy vấn.

Khái niệm đầy đủ gán chặt mục tiêu của bài toán

3.4.6 Thuật toán phân mảnh ngang

58

c. Thuật toán COM_MIN

Mục đích: tìm một tập vị từ cực tiểu và đầy đủ Pr‟

bằng cách loại bỏ các vị từ dư thừa.

Quy tắc 1: (quy tắc cơ bản về MIN và COM): QT1

Pr‟ là COM_MIN nếu mỗi vị từ của Pr‟ phân hoạch một

quan hệ hoặc một mảnh thành ít nhất hai phần.

Ký hiệu:

fi Pr': mảnh fi được định nghĩa theo một vị từ hội sơ

cấp trên các vị từ của Pr'

3.4.6 Thuật toán phân mảnh ngang

59

Input: quan hệ R, tập các vị từ đơn giản Pr

Output: Pr': tập vị từ đơn giản đầy đủ và cực tiểu.

Declare

F: tập các mảnh hội sơ cấp

Begin

Pr‟=; F=;

For each vị từ pPr sao cho p phân hoạch R theo QT1 Do

begin

Pr„:= Pr‟ p; Pr :=Pr - p;

F := F f {f là mảnh hội sơ cấp theo p}

end {đã chuyển các vị từ có phân mảnh R vào Pr‟}

Thuật toán COM_MIN

Tìm các vị từ có liên

đới và phân hoạch

quan hệ đã cho

60

Repeat

For each vị từ pPr‟ Do

If p phân hoạch một mảnh fk của Pr‟ theo QT1 Then

begin

Pr„:= Pr‟ p; Pr := Pr - p;

F := F f {f là mảnh hội sơ cấp theo p}

end

Until Pr‟ đầy đủ {không còn p nào phân mảnh f của Pr‟}

For each vị từ pPr‟ Do

If p‟ mà pp‟ Then

begin

Pr„:= Pr‟ - p;

F := F - f

end {đã kiểm tra tính cực tiểu}

End. {COM_MIN}

Thuật toán COM_MIN (tt) Thêm các vị từ co phân hoạch

các mảnh vào tập Pr‟, để bảo

đảm tính đầy đủ của Pr‟.

Kiểm tra tính cực

tiểu của Pr‟.

Page 11: He phan tan_In chuong3

11

61

Bước 1: Xác định Pr' là tập vị từ đơn giản đầy đủ và

cực tiểu.

Bước 2: suy dẫn ra tập các vị từ hội sơ cấp có thể

định nghĩa trên các vị từ trong tập Pr„. Các vị từ hội sơ

cấp này sẽ xác định các mảnh "ứng củ viên " cho bước

cấp phát.

Bước 3: loại bỏ một số mảnh vô nghĩa. Điều này

được thực hiện bằng cách xác định những vị từ mâu

thuẫn với tập các phép kéo theo I.

Thiết kế thuật toán phân mảnh ngang nguyên thủy

62

Ví dụ: Giả sử Pr' ={p1,p2}, trong đó:

p1: att = value_1

p2: att = value_2

và miền giá trị của att là {value_1,value_2},

Rõ ràng I chứa hai phép kéo theo với khẳng định:

i1: (att=value_1) (att=value_2)

i2: (att=value_1) (att=value_2)

Bốn vị từ hội sơ cấp sau đây được tính theo Pr:

m1: (att=value_1) (att=value_2)

m2: (att=value_1) (att=value_2)

m3: (att=value_1) (att=value_2)

m4: (att=value_1) (att=value_2)

Trong trường hợp này các vị từ hội sơ cấp m1 và m4 mâu thuẫn

với các phép kéo theo của I do đó sẽ bị loại ra khỏi M.

Thiết kế thuật toán phân mảnh ngang nguyên thủy

63

Thuật toán phân mảnh ngang nguyên thủy

d. Thuật toán PHORIZONTALInput: quan hệ R, tập các vị từ đơn giản Pr

Output: M: tập các vị từ hội sơ cấp

Begin

Pr‟ := COM_MIN(R,Pr); {Pr‟ là đầy đủ và cực tiểu}

Xác định tập M có các vị từ hội sơ cấp;

Xác định tập I các phép kéo theo giữa các pi Pr‟;

For each mi M do

If mi mâu thuẫn với I then M := M mi;

End. {PHORIZONTAL}

64

Ví dụ minh họa (1/8)

Ví dụ1:

Xét CSDL về công ty phần mềm đã cho và hai quan hệ cần phải

phân mảnh ngang nguyên thuỷ là TLUONG và DUAN.

Giả sử rằng chỉ có một ứng dụng truy xuất TLUONG. Ứng dụng

này kiểm tra thông tin lương và xác định số lương sẽ tăng.

Giả sử rằng các mẫu tin nhân viên được quản lý ở hai nơi, một

nơi xử lý các mẫu tin có lương 3000$ và một nơi khác xử lý

các mẫu tin của những nhân viên có lương > 3000$.

Như vậy, câu truy vấn phải được đưa ra ở cả hai nơi.

Tập vị từ đơn giản được sử dụng để phân hoạch quan hệ

TLUONG là:

p1: LUONG 3000 và p2: LUONG > 3000

65

Ví dụ minh họa (2/8)

Chọn tập vị từ đơn giản khởi đầu là Pr = {p1, p2}.

Áp dụng thuật toán COM_MIN với i = 1 làm giá trị khởi đầu sinh

ra Pr‟ = {p1}.

Pr‟ là tập vị từ đầy đủ và cực tiểu vì p2 không phân hoạch f1

(là mảnh hội sơ cấp được tạo ra ứng với p1) theo Quy tắc 1.

Ta có thể tạo ra các vị từ hội sơ cấp sau đây làm các phần tử

của M (M là tập các vị từ hội sơ cấp sinh ra từ Pr‟) :

m1: (LUONG 3000)

m2: (LUONG 3000) LUONG > 3000

Sau đó chúng ta định nghĩa hai mảnh

Fs = {TLUONG1, TLUONG2} theo M như sau:

CHUCVU LUONG

Lập trình viên

Thiết kế DL

3200

4000

TLUONG1

CHUCVU LUONG

Kỹ sư điện

Phân tích HT

2000

2500

TLUONG2

M={m1, m2}

Phân mảnh ngang cho quan hệ TLUONG66

Ví dụ minh họa (3/8)

Ví dụ 2:

Xét quan hệ DUAN. Giả sử rằng có 2 ứng dụng:

a. Ứng dụng 1: được đưa ra tại 3 vị trí, cần tìm tên và

ngân sách của các dự án khi cho biết địa chỉ.

Theo ký pháp SQL câu truy vấn được viết là:

SELECT TENDA, NGANSACH

FROM DUAN

WHERE DIACHI = Value

Đối với ứng dụng này, các vị từ đơn giản có thể được

dùng là:

p1: DIACHI = “Huế”

p2: DIACHI = “Hà nội ”

p2: DIACHI = “HCMC”

Page 12: He phan tan_In chuong3

12

67

Ví dụ minh họa (4/8)

b. Ứng dụng 2: được đưa ra tại 2 vị trí và phải do Ban

điều hành dự án đưa ra. Những dự án có ngân sách

dưới 200000$ được quản lý tại một vị trí, còn những

dự án có ngân sách lớn hơn 200000$ được quản lý tại

vị trí thứ hai.

Do đó, các vị từ đơn giản phải được sử dụng để phân

mảnh theo ứng dụng thứ hai là

p4: NGANSACH 200000

p5: NGANSACH > 200000

68

Ví dụ minh họa (5/8)

Nếu kiểm tra bằng thuật toán COM_MIN, rõ ràng tập

Pr’ = {p1, p2, p3, p4, p5} là đầy đủ và cực tiểu.

Dựa trên Pr’, ta có thể định nghĩa 6 vị từ hội sơ cấp sau

để tạo ra M:

m1: (DIACHI = “Huế”) (NGANSACH 200000)

m2: (DIACHI = “Huế”) (NGANSACH > 200000)

m3: (DIACHI = “Hà nội”) (NGANSACH 200000)

m4: (DIACHI = “Hà nội”) (NGANSACH > 200000)

m5: (DIACHI = “HCMC”) (NGANSACH 200000)

m6: (DIACHI = “HCMC”) (NGANSACH > 200000)

69

Ví dụ minh họa (6/8)

Chú ý rằng, các vị từ m1, ..., m6 không phải là các vị từ

hội sơ cấp duy nhất có thể được tạo ta. Chẳng hạn,

vẫn có thể định nghĩa các vị từ p1 p2 p3 p4 p5.

Tuy nhiên các phép kéo hiển nhiên là:

i1: p1 p2 p3

i2: p2 p1 p3

i3: p3 p1 p2

i4: p4 p4 p5

i5: p5 p4

i6: p4 p5

i7: p5 p4

cho phép loại bỏ những vị trí từ hội sơ cấp này và

chúng ta còn lại m1 đến m6. 70

Ví dụ minh họa (7/8)

Theo CSDL đã cho, ta chứng tỏ rằng các phép kéo

theo dưới đây đúng hoặc không:

i8: DIACHI = “Huế” (NGANSACH > 200000)

i9: DIACHI = “HCMC” (NGANSACH 200000)

i10: (DIACHI = “Huế”) NGANSACH 200000

i11: (DIACHI = “HCMC”) NGANSACH > 200000

Chú ý rằng các phép kéo theo phải được định nghĩa

theo ngữ nghĩa của CSDL, chứ không phải theo các

giá trị hiện tại.

Một số mảnh được định nghĩa theo M = {m1, …, m6}

có thể rỗng nhưng chúng vẫn là các mảnh.

Qua ngữ nghĩa của CSDL không có bằng chứng nào

cho thấy rằng các phép kéo theo từ i8 đến i11 là đúng.

71

Ví dụ minh họa (8/8)

Kết quả của phân mảnh ngang nguyên thuỷ cho DUAN là tạo ra

sau mảnh FDUAN = {DUAN1, DUAN2, DUAN3, DUAN4, DUAN5,

DUAN6} của quan hệ DUAN theo các vị từ hội sơ cấp M.

Tuy nhiên các mãnh DUAN2, DUAN5 là rỗng nên chỉ còn 4 mảnh

sau:

MADA TENDA NGANSACH ĐIACHI

D1 CSDL 150000 Huế

MADA TENDA NGANSACH ĐIACHI

D4 PHÁT TRIỂN 310000 HCMC

MADA TENDA NGANSACH ĐIACHI

D2 CÀI ĐẶT 135000 Hà nôi

MADA TENDA NGANSACH ĐIACHI

D3 BẢO TRÌ 250000 Hà nội

DUAN4DUAN3

DUAN2DUAN1

Phân mảnh ngang cho quan hệ DUAN

Tiểu luận:

Tìm hiểu các thuật toán và phân mảnh dọc quan hệ

Page 13: He phan tan_In chuong3

13

73

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

3.5.1 Bài toán cấp phát (allocation problem):

Giả sử có một tập các mảnh F = {F1, F2, ..., Fk } và một

mạng máy tính bao gồm các vị trí S= {S1, S2, ..., Sm }

trên đó có một tập các ứng dụng Q={Q1, Q2, ..., Qq }

đang thực thi.

Hãy tìm một phân phối tối ưu các mảnh F cho các vị

trí S.

Một phân phối được gọi là tối ưu nếu thỏa mãn hai

yếu tố sau:

a. Chi phí nhỏ nhất

b. Hiệu quả

74

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

a. Chi phí nhỏ nhất: hàm chi phí bao gồm:

• Chi phí lưu mỗi mảnh dữ liệu Fi tại vị trí Sj

• Chi phí truy vấn mảnh Fi tại vị trí Sj

• Chi phí cập nhật Fi tại tất cả các vị trí có chứa nó

• Chi phí truyền dữ liệu.

Bài toán cấp phát sẽ tìm một lược đồ cấp phát với

hàm chi phí là cực tiểu.

b. Hiệu quả: chiến lược cấp phát được thiết kế nhằm

cực tiểu hóa thời gian thực hiện và tăng tối đa lưu

lượng hệ thống tại mỗi vị trí.

75

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

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

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

3.5.2 Thông tin cấp phát

Các thông tin định lượng về cơ sở dữ liệu

Thông tin về các ứng dụng chạy trên đó

Thông tin về cấu trúc mạng

Thông tin về khả năng xử lý và giới hạn lưu trữ của

mỗi vị trí trên mạng.

77

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

a) Thông tin về cơ sở dữ liệu

Độ tuyển của mảnh Fj ứng với câu truy vấn qi, ký

hiệu seli(FJ), là số lượng các bộ của Fj cần được

truy xuất để thực hiện câu truy vấn qi.

Kích thước của một mảnh Fj:

size(Fj) = card(Fj)*length(Fj)

Trong đó length(Fj) là chiều dài (tính theo byte)

của một bộ trong mảnh Fj.

78

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

b) Thông tin về ứng dụng

Số truy xuất đọc do câu truy vấn qi thực hiện trên

mảnh Fj trong mỗi lần chạy của nó, ký hiệu RRij.

Số truy xuất cập nhật do câu truy vấn qi thực hiện

trên mảnh Fj trong mỗi lần chạy của nó, ký hiệu

URij.

Ma trận truy vấn:

1 nếu truy vấn qi có cập nhật mảnh Fj

0 trong trường hợp ngược lạiUM=(uij), uij =

1 nếu truy vấn qi cần đọc mảnh Fj

0 trong trường hợp ngược lạiRM=(rij), rij =

Page 14: He phan tan_In chuong3

14

79

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

c) Thông tin về vị trí

Tại mỗi vị trí cần phải biết về khả năng lưu trữ và xử

lý của nó.

Chi phí đơn vị để lưu dữ liệu tại vị trí Sk.

Ký hiệu USCk

Chi phí xử lý cho một đơn vị công việc tại vị trí Sk.

Ký hiệu LPCk

Chú ý: đơn vị công việc cần phải giống với đơn vị

của RR và UR.

80

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

d) Thông tin về mạng

Giả sử đang tồn tại một mạng đơn giản, trong đó chi

phí truyền được định nghĩa theo đơn vị bó dữ liệu

(frame).

Ký hiệu gij là chi phí truyền một bó dữ liệu từ vị trí Si

đến vị trí Sj.

Để có thể xác định được số lượng thông báo chúng

ta dùng hàm fsize để xác định kích thước (tính theo

byte) của một bó dữ liệu.

81

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

3.5.3 Mô hình cấp phát

Mục tiêu: giảm thiểu tổng chi phí xử lý và lưu trữ.

Mô hình tổng quát: min(Total Cost) ứng với ràng buộc

về thời gian đáp ứng, ràng buộc lưu trữ và ràng buộc

xử lý.

Biến quyết định xij, được định nghĩa:

1 nếu mảnh Fi được lưu tại vị trí Sj

0 trong trường hợp ngược lạixij =

82

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

Tổng chi phí

Hàm tổng chi phí có hai thành phần:

Chi phí xử lý truy vấn

Chi phí lưu trữ.

Công thức xác định tổng chi phí:

Trong đó,

STCjk: chi phí lưu trữ mảnh Fj tại vị trí Sk.

QPCi: chi phí xử lý câu truy vấn của ứng dụng qi.

Giải thích các chữ viết tắt:

TOC (Total Cost), QPC (Query Processing Cost), STC (Storing Cost)

jk

FFSS

i

Qq

STCQPCTOCjki

83

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

Xác định chi phí lưu trữ STCjk :

Chi phí lưu trữ mảnh Fj tại vị trí Sk được xác định bởi:

STCjk = USCk * size (Fjk) * xjk

Trong đó,

USCk là chi phí đơn vị để lưu dữ liệu tại vị trí Sk.

size(Fjk) là kích thước của mảnh Fj được lưu tại vị trí

Sk và được xác định bởi công thức:

size(Fj) = card(Fj)*length(Fj)

1 nếu mảnh Fj được lưu tại vị trí Sk

0 trong trường hợp ngược lạixjk =

84

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

Xác định chi phí xử lý truy vấn:

Chi phí xử lý truy vấn QPC cho ứng dụng qi là:

QPCi = PCi + TCi

Trong đó,

PC gồm có ba hệ số chi phí:

Chi phí truy xuất AC (Access Cost)

Chi phí toàn vẹn IE (Integrity Enforcement)

Chi phí điều khiển đồng thời CC (Concurrency Control):

PCi = ACi + IEi + CCi

Page 15: He phan tan_In chuong3

15

85

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

Xác định ACi:

kjkijijijji

FFSS

i LPCxRRrURuACjk

**)**(

1 nếu truy vấn qi có cập nhật mảnh Fj

0 trong trường hợp ngược lạiUM=(uij), uij =

1 nếu truy vấn qi cần đọc mảnh Fj

0 trong trường hợp ngược lạiRM=(rij), rij =

RRij: Số truy xuất đọc do câu truy vấn qi thực hiện trên

mảnh Fj trong mỗi lần chạy của nó.

URij: Số truy xuất cập nhật do câu truy vấn qi thực hiện trên

mảnh Fj trong mỗi lần chạy của nó.

LPCk : chi phí xử lý cho một đơn vị công việc tại vị trí Sk.

86

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

Xác định TCUi:

Thành phần cập nhật của hàm truyền dữ liệu là:

Số hạng thứ nhất để gửi thông báo cập nhật từ vị trí

gốc o(i) của qi đến tất cả bản sao cần cập nhật.

Số hạng thứ hai dành cho thông báo xác nhận.

)( )( **** iokikij

FFSS

kioikij

FFSS

i gxugxuTCUjkjk

87

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

jok

jji

jkijkiojkijSS

FF

i gfsize

FlengthFselxrgxuTCR

kj

.. * *

***min

Số hạng thứ nhất trong TCR là chi phí truyền yêu

cầu chỉ đọc đến những vị trí có bản sao của mảnh

cần truy xuất.

Số hạng thứ hai để truyền các kết quả từ những vị

trí này đến vị trí yêu cầu.

Vậy chi phí truyền cho vấn tin qi là:

TCi = TCUi + TCRi

Thành phần chi phí chỉ đọc được xác định:

88

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

Các ràng buộc

a) Ràng buộc thời gian đáp ứng:

thời gian thực thi của qi thời gian đáp ứng lớn nhất

của qi , qiQ.

b) Ràng buộc lưu trữ:

STCjk khả năng lưu trữ tại vị trí Sk, Sk S

c) Ràng buộc xử lý là:

tải trọng xử lý của qi tại Sk khả năng xử lý tại vị trí

Sk, Sk SS

89

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

90

Đề tài luận văn tốt nghiệp liên quan

1. Tìm hiểu một số kỹ thuật tiên tiến về phân mảnh lớp

đối tượng

Tài liệu tham khảo:

Horizontal Fragmentation in Object DBMS: New

Issues and Performance Evaluation1

2. Tìm hiểu kỹ thuật định vị dữ liệu không nhân bản

trong DDBDS

Tài liệu tham khảo:

1. Non-replicated Dynamic Data Allocation in

Distributed Database Systems (2009)

2. Data allocation in distributed database systems,

Peter M.G Apers

3. Data Allocation in Distributed Database Systems,

Samira Tasharofi, Reza Bass

Page 16: He phan tan_In chuong3

16

91

Đề tài luận văn tốt nghiệp liên quan

3. Tìm hiểu bài toán cấp phát trong DDBMS với các

tác tử di động.

Tài liệu tham khảo:

1. Data Allocation in Distributed Database

Systems Performed by Mobile Intelligent Agents, Horea

Grebla, Grigor Moldovan, Sergiu Adrian Darabant, Alina

Câmpan. (2007)

2. Near Neighborhood Allocation (NNA): A Novel

Dynamic Data Allocation Algorithm in DDB, Samira

Tasharofi, Reza Basseda, University of Tehran, ECE

Department92

Đề tài luận văn tốt nghiệp liên quan

4. Nghiên cứu một số thuật giải hericstic trong việc

cấp phát dữ liệu của hệ phân tán.

Tài liệu tham khảo:

1. A Heuristic Approach for Horizontal

Fragmentation and Allocation in DOODB.

2. Data Allocation in Distributed Database

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

Hệ thống thông tin

quản lý bán vé máy bay

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

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à 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 xem các

chuyến bay, mua vé một cách nhanh chóng và thuận

lợi. Ở đây hành khách có thể mua vé tại các đại lý,

quầy bán vé trong cả nước và chọn một trong các

hạng vé của chuyến bay phù hợp với yêu cầu của

mình.

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

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.

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

Page 17: He phan tan_In chuong3

17

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 bán vé

cho 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 mà 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.

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

Cấu trúc của một vé máy bay có dạng

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

Các chức năng cơ bản của hệ thống thông tin phục vụ

công tác bán vé 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

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 mức sau:

• 1. Mức 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

• 2. Mức trung gian (mức xử lý, trung chuyển

thông tin)

• Đây là mức thực hiện xử lý, hỗ trợ cho ra quyết

định của ban lãnh đạo. Các bộ phận, các đơn vị như

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

Page 18: He phan tan_In chuong3

18

II. Phân tích hệ thống

• 3. Mức 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 là

các đại lý bán vé, phòng chăm sóc hành khách,….

chịu trách nhiệm thực hiện nhiệm vụ bán vé máy bay

của Pacific Airlines.

• Mức tác nghiệp chịu sự điều khiển của hệ thống

quyết định thông qua các mức thông tin. Thông tin

đầu vào của hệ thống tác nghiệp là các thông tin từ

hệ thống quyết định, 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 tham gia mua vé.

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

• 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ý,…

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,…

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

Page 19: He phan tan_In chuong3

19

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é

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

1. Mô hình quan niệm về dữ liệu

• 7. Tập thực thể VE dùng để lưu trữ các thông tin vé chuyến

bay

• MA_VE: Mã vé là khóa chính của tập thực thể

• NGAY_BAY: Ngày bay

• THANH_TIEN: Thành tiền

• 8. Tập thực thể DAI_LY lưu trữ các thông tin về các đại lý

• MA_DL: Mã đại lý là khóa của tập thực thể

• HO_TEN: Họ tên của chủ đại lý

• TIEN_CUOC: Tiền đặt cọc khi mở đại lý

• DT: Điện thoại

• DC: Địa chỉ

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

1. Mô hình quan niệm về dữ liệu

• 9. Tập thực thể HANH_KHACH dùng để lưu trữ các thông tin

về hành khách.

• MA_HK: Mã hành khách là khóa của thực thể

• HO_TEN: Họ tên hành khách

• HO_CHIEU: Hộ chiếu

• CMND: Chứng minh nhân dân

• DT: Điện thoại

• DC: Địa chỉ

• Từ các thực thể trên ta có mô hình thực thể quan hệ sau:

2. Mô hình ER

3. Mô hình tổ chức dữ liệu

•SAN_BAY(MA_SB, TEN_SB, MA_MB)

MAY_BAY(MA_MB, TEN_MB, SO_GHE, MA_CB, MA_HV, MA_TB)

CHUYEN_BAY(MA_CB, SO_HIEU_CB,THU, GIO_BAY, GIO_DEN, MA_TB)

TUYEN_BAY(MA_TB, MA_SB_DI, MA_SB_DEN, MA_MB)

GHE(STT, MA_MB, KY_HIEU_GHE)

HANG_VE(MA_HV, TEN_HV, MA_VE)

CHI_TIET_HANG_VE(MA_HV, MA_TB, SL_VE, DON_GIA)

VE(MA_VE, NGAY_BAY, THANH_TIEN, MA_CB, MA_DL)

DAI_LY(MA_DL, HO_TEN, TIEN_COC, DT, DC)

HANH_KHACH(MA_HK, HO_TEN, HO_CHIEU, CMND, DT, DC, MA_VE)

4. Các kết nối trong CSDL

•Ở đây có 11 đường nối: L1, L2, L3, L4, L5, L6, L7, L8, L9, L10 ,L11

Ta có:

owner(L1) = SAN_BAY và member(L1) = TUYEN_BAY

owner(L2) = MAY_BAY và member(L2) = GHE

owner(L3) = MAY_BAY và member(L3) = CHUYEN_BAY

owner(L4) = TUYEN_BAY và member(L4) = CHUYEN_BAY

owner(L5) = MAY_BAY và member(L5) =

CHI_TIET_HANG_VE

owner(L6) = TUYEN_BAY và member(L5) =

CHI_TIET_HANG_VE

owner(L7) = CHUYEN_BAY và member(L7) = VE

owner(L8) = HANG_VE và member(L8) =

CHI_TIET_HANG_VE

owner(L9) = HANG_VE và member(L9) = VE

owner(L10) = DAI_LY và member(L10) = VE

owner(L11) = HANH_KHACH và member(L11) = VE

Page 20: He phan tan_In chuong3

20

IV. Thiết kế cơ sở dữ liệu phân tán

• 1. Thiết kế sơ đồ tổng thể của hệ thống

• Sơ đồ tổng thể được định nghĩa như theo cách mô

hình tập trung. Trong mô hình quan hệ, sơ đồ tổng thể

bao gồm định nghĩa của tập các quan hệ tổng thể.

• Theo cách này chúng ta sẽ vẽ các đường nối (L)

có hướng giữa các quan hệ (R, S) ràng buộc nhau

qua phép nối dạng:

• R S

• trong đó R gọi là quan hệ chủ, S gọi là quan hệ

thành viên. Các hàm owner và member để phân biệt

các quan hệ này:

• owner(L) = R và member(L) = S

L

Sơ đồ tổng thể của hệ thống

IV. Thiết kế cơ sở dữ liệu phân tán

• 2. Thiết kế phân mảnh

• Bảng phân tích tần suất và nhu cầu khai thác dữ liệu

THỰC THỂ TRỤ SỞ

CHÍNH

CHI

NHÁNH

SAN_BAY L.R H.RWED

MAY_BAY L.RWED H.R

GHE L.RWED H.R

CHUYEN_BAY L.R H.RWED

TUYEN_BAY L.RWED H.R

HANG_VE L.RWED H.R

CHI_TIET_HANG_VE L.R H.RWED

VE L.R H.RWED

DAI_LY L.R H.RWED

HANH_KHACH L.R H.RWED

Trong đó:

W: Tạo mới và ghi

E: Sửa

D: Xóa

R: Đọc

H: Tần suất cao

L: Tần suất thấp

1. Thiết kế phân mảnh dữ liệu

• Chọn vị trí đặt dữ liệu trung tâm

• Dựa vào tần suất sử dụng, khoảng cách địa lý và

hoạt động của hệ thống, phương án phân mảnh dữ

liệu được thực hiện như sau:

• Sử dụng phân mảnh ngang nguyên thủy và phân

mảnh ngang dẫn xuất để chia quan hệ tổng thể

thành ba mảnh đặt tại ba vị trí dựa vào khoảng cách

địa lý giữa ba miền đất nước:

• Vị trí 1: dữ liệu đặt tại miền bắc (Hà Nội)

• Vị trí 2: dữ liệu đặt tại miền trung (Đà Nẵng)

• Vị trí 3: dữ liệu đặt tại miền nam (Sài Gòn)

1. Thiết kế phân mảnh dữ liệu

•Chọn quan hệ tổng thể SAN_BAY làm tiêu chí để

phân mảnh

Phân thành ba mảnh đặt tại ba vị trí để quản lý các

Sân bay ở các vùng lân cận

Sau đó dựa vào các mảnh của Sân bay sẽ dẫn xuất

đến sự phân mảnh của các quan hệ tổng thể còn lại.

Phân rã quan hệ SAN_BAY thành 3 mảnh ngang SAN_BAY1,

SAN_BAY2, SAN_BAY3:

SAN_BAY1 = MA_SB = „Các mã sân bay mà vị trí 1 quản lý‟ (SAN_BAY)

SAN_BAY2 = MA_SB = „Các mã sân bay mà vị trí 2 quản lý‟ (SAN_BAY)

SAN_BAY3 = MA_SB = „Các mã sân bay mà vị trí 3 quản lý‟ (SAN_BAY)

Sơ đồ tổng thể của hệ thống

•Phân rã quan hệ TUYEN_BAY thành các mảnh ngang

TUYEN_BAY1, TUYEN_BAY2, TUYEN_BAY3 được

định nghĩa như sau:

TUYEN_BAY1 = TUYEN_BAY SAN_BAY1

TUYEN_BAY2 = TUYEN_BAY SAN_BAY2

TUYEN_BAY3 = TUYEN_BAY SAN_BAY3

trong đó, thuộc tính mã sân bay đi của quan hệ

TUYEN_BAY là trường để nối tự nhiên với mã sân

bay của quan hệ SAN_BAY

còn mã sân bay đến của quan hệ TUYEN_BAY sẽ

được chọn giá trị từ các mảnh SAN_BAY1,

SAN_BAY2, SAN_BAY3

Page 21: He phan tan_In chuong3

21

1. Thiết kế phân mảnh dữ liệu

• Phân rã quan hệ CHUYEN_BAY thành các mảnh

ngang CHUYEN_BAY1, CHUYEN_BAY2,

CHUYEN_BAY3 được định nghĩa như sau:

• CHUYEN_BAY 1 = CHUYEN_BAY TUYEN_BAY 1

• CHUYEN_BAY 2 = CHUYEN_BAY TUYEN_BAY 2

• CHUYEN_BAY 3 = CHUYEN_BAY TUYEN_BAY 3

Phân rã quan hệ CHI_TIET_HANG_VE thành các mảnh ngang

CHI_TIET_HANG_VE1, CHI_TIET_HANG_VE2, CHI_TIET_HANG_VE3,

được định nghĩa như sau:

CHI_TIET_HANG_VE 1 = CHI_TIET_HANG_VE TUYEN_BAY 1

CHI_TIET_HANG_VE 2 = CHI_TIET_HANG_VE TUYEN_BAY 2

CHI_TIET_HANG_VE 3 = CHI_TIET_HANG_VE TUYEN_BAY 3

1. Thiết kế phân mảnh dữ liệu

• Phân rã quan hệ VE thành các mảnh ngang

VE1, VE2, VE3 được định nghĩa như sau:

• VE1 = VE CHUYEN_BAY1

• VE2 = VE CHUYEN_BAY2

• VE3 = VE CHUYEN_BAY3

• Phân rã quan hệ DAI_LY thành các mảnh ngang

DAI_LY1, DAI_LY2, DAI_LY3 được định nghĩa:

• DAI_LY1 là các quầy bán vé của CHUYEN_BAY1

• DAI_LY2 là các quầy bán vé của CHUYEN_BAY2

• DAI_LY3 là các quầy bán vé của CHUYEN_BAY3

1. Thiết kế phân mảnh dữ liệu

• Phân rã quan hệ HANH_KHACH thành các mảnh ngang

HANH_KHACH1, HANH_KHACH2, HANH_KHACH3 được

định nghĩa như sau:

HANH_KHACH1 là các hành khách mua vé CHUYEN_BAY1

mà DAL_LY1 bán

HANH_KHACH2 là các hành khách mua vé CHUYEN_BAY2

mà DAL_LY2 bán

HANH_KHACH3 là các hành khách mua vé CHUYEN_BAY3

mà DAL_LY3 bán

• Đối với các quan hệ MAY_BAY, GHE, HANG_VE dùng

chung cho 3 vị trí nên ta không phân mảnh nên ta thường

xuyên thêm mới và cập nhật đồng bộ giữa 3 vị trí.

2. Thiết kế định vị dữ liệu

Sơ đồ định vị của các mảnh tại các vị trí

1. Thiết kế sơ đồ ánh xạ địa phƣơng

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

Để hệ thống hoạt động tốt trên môi trường phân tán nên ta

phải tạo bản sao của các bảng dữ liệu tại các vị trí như sau:

3. Sơ đồ ánh xạ địa phƣơng

Trong đó,

R: Gồm các quan hệ tổng thể là SAN_BAY,

TUYEN_BAY, CHUYEN_BAY, CHI_TIET_HANG_VE, VE,

DAI_LY, HANH_KHACH.

Còn quan hệ tổng thể MAY_BAY, GHE, HANG_VE dùng

chung tại ba vị trí nên ta chỉ thêm mới và cập nhật

đồng bộ giữa ba vị trí.

Page 22: He phan tan_In chuong3

22

V. Thiết kế vật lý tại các trạm

• Do chỉ sử dụng phân mảnh ngang để phân tán dữ liệu

nên cấu trúc vật lý của các bảng dữ liệu tại các trạm đều

giống nhau. Các bảng dữ liệu tương ứng với các thực thể và

mối quan hệ có trong hệ thống như sau:

• Các ký hiệu:

• NULL: N (No, không được rỗng), Y (Yes, có thể rỗng)

• PK (Primary key – khóa chính)

• FK (Foreign key – khóa ngoại)

V. Thiết kế vật lý tại các trạm

STT Tên bảng Ý nghĩa

1 SAN_BAYSân bay, chứa thông tin liên quan đến sân bay

phục vụ cho công tác quản lý các sân bay.

2 MAY_BAYMáy bay, chứa thông tin liên quan đến máy bay

phục vụ cho công tác quản lý các máy bay.

3 GHEGhế, chứa thông tin liên quan đến ký hiệu ghế

trong mỗi máy bay .

4 CHUYEN_BAYChuyến bay, chứa thông tin liên quan đến chuyến

bay phục vụ cho công tác qlý các chuyến bay.

5 TUYEN_BAYTuyến bay, chứa thông tin liên quan đến các

tuyến bay của hệ thống.

V. Thiết kế vật lý tại các trạm

STT Tên bảng Ý nghĩa

6 HANG_VEHạng vé, chứa thông tin liên quan đến hạng

vé chuyến bay mà hành khách lựa chọn.

7CHI_TIET_HANG_VE

Chi tiết hạng vé, chứa thông tin liên quan

đế số lượng vé, đơn giá theo từng hạng vé

của mỗi máy bay ứng với mỗi tuyến bay.

8 VEVé, chứa thông tin liên quan đến thông tin

của vé xuất cho hành khách.

9 DAI_LYĐại lý, chứa thông tin liên quan đến đại lý

phục vụ cho việc bán vé trong hệ thống.

10 HANH_KHACHHành khách, chứa thông tin liên quan đến

hành khách mua vé trong hệ thống.

Cấu trúc các bảng dữ liệu trong hệ thống bán vé máy bay:

Bảng SAN_BAY (Sân bay, chứa thông tin về các sân bay có

trong hệ thống )

Mã sân bay có 3 ký tự XXX, trong đó mã sân bay và tên sân

bay được đặt theo chuẩn của hãng hàng không Việt Nam và

quốc tế.

V. Thiết kế vật lý tại các trạm

ST

TTên trường Kiểu dữ liệu, độ rộng Null Ghi chú

1 MA_SB Varchar2(3) N Mã sân bay (PK)

2 TEN_SB Nvarchar2(30) N Tên sân bay

V. Thiết kế vật lý tại các trạm

STT Tên trường Kiểu dữ liệu, độ rộng Null Ghi chú

1 MA_MB Varchar2(5) N Mã máy bay (PK)

2 TENMB Nvarchar2(30) N Tên máy bay

3 SO_GHE Integer N Số ghế

Bảng MAY_BAY (Máy bay, chứa thông tin về các máy bay trong

hệ thống)

Mã máy bay có 5 ký tự XXXX, trong đó mã máy bay và tên

máy bay được ký hiệu theo hãng hàng không Việt Nam và

quốc tế.

V. Thiết kế vật lý tại các trạm

Mã máy bay có 5 ký tự XXXX, trong đó mã máy bay và tên

máy bay được ký hiệu theo hãng hàng không Việt Nam và

quốc tế.

STT Tên trường Kiểu dữ liệu, độ rộng Null Ghi chú

1 MA_MB Varchar2(5) N (PK)

2 STT Integer N (PK)

3 KY_HIEU_GHE Varchar2(3) N

Bảng GHE (Ghế, chứa thông tin về ký hiệu ghế và số thứ tự của

ghế trong mỗi máy bay để thuận tiện việc in vé lên máy bay cho

hành khách)

Bảng TUYEN_BAY có cấu trúc như sau:

Page 23: He phan tan_In chuong3

23

V. Thiết kế vật lý tại các trạm

STT Tên trường Kiểu dữ liệu, độ rộng Null Ghi chú

1 MA_TB Varchar2(7) N Mã tuyến bay (PK)

2 MA_SB_DI Varchar2(3) N Mã sân bay đi

3 MA_SB_DEN Varchar2(3) N Mã sân bay đến

Bảng TUYEN_BAY có cấu trúc như sau:

V. Thiết kế vật lý tại các trạm

STT Tên trường Kiểu dữ liệu, độ rộng Null Ghi chú

1 MA_HV Varchar2(4) N Mã hạng vé (PK)

2 TEN_HV Nvarchar2(50) N Tên hạng vé

Bảng HANG_VE (Hạng vé, chứa thông tin các hạng vé

chuyến bay mà hành khách có thể lựa chọn)

Mã hạng vé có 4 ký tự XXXX, mỗi vé chuyến bay có 6 loại

hạng vé sau:

Mỗi hạng vé có sự khác nhau về ghế ngồi, suất ăn, đồ uống

mà hành khách có thể lựa chọn hạng vé cho phù hợp với yêu

cầu của mình.

V. Thiết kế vật lý tại các trạm

STT Tên trường Kiểu dữ liệu, độ rộng Null Ghi chú

1 MA_CB Float N Mã chuyến bay (PK)

2 SO_HIEU_CB Varchar2(3) N Số hiệu chuyến bay

3 MA_MB Varchar2(50) N Mã máy bay (FK)

4 MA_TB Varchar2(7) N Mã tuyến bay (FK)

5 THU Varchar2(1) N Thứ

6 GIO_BAY Varchar2(5) N Giờ bay

7 GIO_DEN Varchar2(5) N Giờ đến

Mã chuyến bay được đánh tự động khi có một chuyến bay được thêm vào

Số hiệu chuyến bay có 3 ký tự XXX, trong đó số hiệu chuyến bay được ký

hiệu theo hãng hàng không việt Nam và quốc tế.

Dựa vào số hiệu chuyến bay ta biết được thứ, giờ bay, giờ đến.

Bảng CHUYEN_BAY (Chuyến bay, chứa thông tin về các

chuyến bay có trong hệ thống )

V. Thiết kế vật lý tại các trạm

Trong mỗi máy bay sẽ chia số ghé theo từng nhóm ghé, mỗi

nhóm ghé sẽ có đơn giá giành riêng cho từng hạng vé trong

mỗi tuyến bay.

Bảng CHI_TIET_HANG _VE (Chi tiết hạng vé, chứa thông tin

liên quan đến số lượng vé, đơn giá cho từng hạng vé, máy bay

và tuyến bay):

STT Tên trường Kiểu dữ liệu, độ rộng Null Ghi chú

1 MA_MB Varchar2(5) N Mã máy bay (PK)

2 MA_HV Varchar2(4) N Mã hạng vé (PK)

3 MA_TB Varchar2(7) N Mã tuyến bay (PK)

4 SL_VE Integer N Số lượng vé

5 DON_GIA Float N Đơn giá

V. Thiết kế vật lý tại các trạm

Trong đó, mỗi khi đại lý xuất một vé cho hành khách thì hệ

thống sẽ tự động trừ trong tài khoản tiền cược 1 khoảng tiền

bằng thành tiền của vé.

Mã đại lý có 8 ký tự có dạng như sau: XXAAAAAA, trong đó:

XX là HN nếu đại lý đó thuộc vị trí 1 (Hà Nội) quản lý

XX là DN nếu đại lý đó thuộc vị trí 2 (Đà Nẵng) quản lý

XX là SG nếu đại lý đó thuộc vị trí 3 (Sài Gòn) quản lý

AAAAAA là số thứ tự khi một có một đại lý mới được thêm vào.

Bảng DAI_LY (Đại lý, chứa thông tin của đại lý)

STT Tên trường Kiểu dữ liệu, độ rộng Null Ghi chú

1 MA_DL Varchar2(8) N Mã đại lý

2 HO_TEN Nvarchar2(40) N Họ tên đại lý

3 TIEN_CUOC Float N Tiền cược

4 DT Nvarchar2(11) Y Điện thoại

5 DC Nvarchar2(50) Y Địa chỉ

V. Thiết kế vật lý tại các trạm

Mã hành khách có 10 ký tự có dạng như sau: XXAAAAAAAA,

trong đó:

XX là HN nếu HK đó mua vé của đại lý thuộc vị trí 1 bán

XX là DN nếu HK đó mua vé của đại lý thuộc vị trí 2 bán

XX là SG nếu HK đó mua vé của đại lý thuộc vị trí 3 bán

AAAAAAAA là số thứ tự khi một có hành khách đến mua vé.

Bảng HANH_KHACH (Hành khách, chứa thông tin của hành khách)

STT Tên trường Kiểu dữ liệu, độ rộng Null Ghi chú

1 MA_HK Varchar2(10) N Mã hành khách

2 HO_TEN Varchar2(40) N Họ tên hành khách

3 HO_CHIEU Varchar2(8) Y Hộ chiếu

4 CMND Varchar2(9) N Chứng minh nhân dân

5 DT Nvarchar2(11) Y Điện thoại

6 DC Nvarchar2(50) Y Địa chỉ

Page 24: He phan tan_In chuong3

24

V. Thiết kế hệ thống mạng

Mô hình mạng: Client/Server

Hệ QTCSDL: Oracle

Server đóng vai trò Server trung tâm đặt tại Hà Nội, dùng để

quản trị CSDL tại chi nhánh Hà Nội và lưu tất cả bản sao của

các bảng dữ liệu ở các Server chi nhánh. Server trung tâm này

quản lý đến các Server chi nhánh và phân quyền truy cập CSDL

hệ thống. Do vậy Server trung tâm phải đủ mạnh.

Server đặt tại chi nhánh Đà Nẵng đóng vai trò là Client trong

hệ thống. Server chi nhánh này dùng để quản trị CSDL tại chi

nhánh Đà Nẵng và cũng chứa tất cả bản sao của các bảng dữ

liệu ở Server trung tâm

Server đặt tại chi nhánh Sài Gòn đóng vai trò là Client trong hệ

thống. Server chi nhánh này dùng để quản trị CSDL tại chi

nhánh Sài Gòn và cũng chứa tất cả bản sao của các bảng dữ

liệu ở Server trung tâm và Server chi nhánh tại Đà Nẵng.

V. Thiết kế hệ thống mạng

Mô hình mạng của hệ thống bán

vé máy bay

VI. Quản trị cơ sở dữ liệu phân tán của Oracle

1. Quản trị tên CSDL toàn cục

Trong hệ thống CSDL phân tán, mỗi CSDL phải có một tên

toàn cục (Global Database Name) duy nhất dùng để xác định

CSDL. Tên cơ sở dữ liệu toàn cục gồm hai thành phần là tên

CSDL (Database Name) và tên miền (Domain Name). Tên cơ

CSDL từ 1 đến 8 ký tự. Tên miền phải tuân theo chuẩn qui

ước của Internet, các mức trong tên miền phải được cách

nhau bởi dấu chấm.

Sau đây là ví dụ ta đặt tên cho CSDL toàn cục cho 3 vị trí

trong ORACLE

DB_NAME DB_DOMAIN GLOBAL DATABASE NAME

AIRLINE.VN HANOI.AIRLINE.VN

DANANG AIRLINE.VN DANANG.AIRLINE.VN

AIRLINE.VN SAIGON.AIRLINE.VN

VI. Quản trị cơ sở dữ liệu phân tán của Oracle

Xem tên CSDL toàn cục:

SELECT * FROM GLOBAL_NAME

Thay đổi tên CSDL toàn tục:

ALTER DATABASE RENAME GLOBAL_NAME TO

databasename.domain

Ví dụ: Để đổi tên CSDL toàn cục DN.AIRLINE.VN thành

DANANG.AIRLINE.VN ta thực hiện lệnh:

ALTER DATABASE GLOBAL_NAME TO DANANG.AIRLINE.VN

DB_NAME DB_DOMAIN GLOBAL DATABASE NAME

AIRLINE.VN HANOI.AIRLINE.VN

DANANG AIRLINE.VN DANANG.AIRLINE.VN

AIRLINE.VN SAIGON.AIRLINE.VN

VI. Quản trị cơ sở dữ liệu phân tán của Oracle

2. Tạo các liên kết cơ sở dữ liệu

(Database links) :

Mục đích: để hỗ trợ cho các ứng

dụng truy xuất dữ liệu từ xa

(Remote Database).

Một Database links là một con trỏ

trên CSDL cục bộ (local database)

cho phép bạn truy cập đến các đối

tượng dữ liệu trên một CSDL ở xa

(remote database).

Oracle cho phép tạo các Database

links bằng câu lệnh SQL và bằng

giao diện đồ họa.

VI. Quản trị cơ sở dữ liệu phân tán của Oracle

Cú pháp: Tạo các Database links sử dụng câu lệnh SQL:

CREATE [PUBLIC] DATABASE LINK dblink

[CONNECT TO user IDENTIFIED BY password]

[USING „Connect string‟];

Trong đó:

Public: Các user dùng chung Database link

Dblink: Tên Database link

User: Tên user mà ta muốn kết nối tới

Password: Mật khẩu của user mà ta muốn kết nối tới.

Connect_string: Chuỗi mô tả địa chỉ IP của host và SID trên

Server đó.

SID: Định nghĩa của Database

Page 25: He phan tan_In chuong3

25

VI. Quản trị cơ sở dữ liệu phân tán của Oracle

Ví dụ: Tạo Database link có tên là DN.AIRLINE.VN để kết

nối đến user DN_ADMIN và password là ab123456 của CSDL

toàn cục từ xa có tên là DANANG.AIRLINE.VN của Server có

địa chỉ là 192.168.1.10

CREATE DATABASE LINK "DN.AIRLINE.VN"

CONNECT TO "DN_ADMIN"

IDENTIFIED BY "ab123456"

USING ' (DESCRIPTION=

(ADDRESS_LIST=

(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.1.10)(PORT=1521))

)

( CONNECT_DATA=(SERVICE_NAME=DANANG.ARILINE.VN)

)

) '

VI. Quản trị cơ sở dữ liệu phân tán của Oracle

Thực hiện bằng giao diện đồ họa trong Oracle:

VI. Quản trị cơ sở dữ liệu phân tán của Oracle

Sau khi thiết lập Database link thành công ta có thể thực

hiện các công việc sau:

Truy xuất dữ liệu từ xa thông qua tên của Database

link:

Ví dụ: Để xem thông tin hành khách tại chi nhánh tại Đà

Nẵng trong CSDL từ xa qua Database link DN.AIRLINE.VN,

ta sử dụng câu lệnh SQL như sau:

SELECT * FROM [email protected]

Đóng Database links:

Nếu không cần thiết thì nên đóng hoặc xóa các Database

links để đảm bảo an toàn khi truy cập các CSDL từ xa thông

qua hệ phân tán, :

ALTER SESSION CLOSE DATABASE LINK LinkName;

Xóa Database links:

DROP [PUBLIC] DATABASE LINK dblink;148

CHƢƠNG I. TỔNG QUAN VỀ CSDL PHÂN TÁN

HẾT CHƯƠNG 3