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

Bài giảng cơ sở dữ liệu nâng 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 (2.44 MB, 152 trang )

BỘ NÔNG NGHIỆP VÀ PHÁT TRIỂN NÔNG THÔN
HỌC VIỆN NÔNG NGHIỆP VIỆT NAM
KHOA CÔNG NGHỆ THÔNG TIN

PGS.TS. NGUYỄN VĂN ĐỊNH

BÀI GIẢNG

CƠ SỞ DỮ LIỆU NÂNG CAO
CHƯƠNG TRÌNH ĐÀO TẠO THẠC SĨ NGÀNH CÔNG NGHỆ THÔNG TIN

HÀ NỘI 2015
Bài giảng “Cơ sở dữ liệu nâng cao” |

0


Chương 1
TỔNG QUAN VỀ CSDL PHÂN TÁN
Chương này, đề cập đến một số khái niệm và kết quả cơ bản liên quan đến việc thiết kế
một CSDL phân tán.
1.1. CẤU TRÚC CỦA HỆ CƠ SỞ DỮ LIỆU PHÂN TÁN
Dữ liệu là một thành phần không thể thiếu trong các ứng dụng cơng nghệ
thơng tin. Q trình phát triển của CNTT cũng kéo theo q trình phát triển của cơng nghệ
CSDL.
1.1.1. Sự phát triển của công nghệ CSDL
Công nghệ lưu trữ và xử lý dữ liệu cho đến nay đã trải qua các giai đoạn phát triển chính
như sau:
- Xử lý tệp truyền thống: Trong mơ hình này, dữ liệu lưu trữ thành các tệp riêng rẽ, được
mô tả và gắn kết với từng chương trình ứng dụng.


Hình 1.1. Sơ đồ xử lý tệp truyền thống

Cách xử lý này sẽ phát sinh vấn đề dư thừa dữ liệu và các dị thường trong cập nhật. Chẳng
hạn, có thể có 2 chương trình ứng dụng với 2 tệp dữ liệu riêng, nhưng mỗi tệp dữ liệu này lại có
những thơng tin giống nhau, vì vậy tạo nên sự dư thừa dữ liệu, gây lãng phí cho lưu trữ và quản lý.
Nguy hại hơn là khi cập nhật thay đổi thông tin về một thực thể trong tệp dữ liệu này thì cũng phải
thay đổi trong tệp kia với đối tượng đó. Điều này rất khó thực hiện triệt để khi có nhiều tệp dữ liệu
có chứa các thơng tin trùng lặp, và sẽ gây ra các dị thường trong cập nhật (thông tin không nhất
quán, thông tin mâu thuẫn...).
- Xử lý CSDL (Database-DB): Để khắc phục các nhược điểm của mơ hình xử lý tệp, dữ
liệu của các ứng dụng được lưu trữ tập trung, được mô tả và xử lý thống nhất cho mọi chương
trình ứng dụng. Các dữ liệu tập trung lại thành một CSDL, được xử lý theo cách thống nhất cho
tất cả các ứng dụng có liên quan.
Như vậy vấn đề tập trung dữ liệu là mấu chốt của xử lý CSDL. Công nghệ CSDL là một
bước tiến lớn của công nghệ xử lý dữ liệu. Rõ ràng là nhờ sự tập trung dữ liệu, CSDL đã khắc
phục được sự dư thừa dữ liệu, hạn chế các dị thường trong cập nhật.

Bài giảng “Cơ sở dữ liệu nâng cao” |

1


Hình 1.2. Sơ đồ xử lý CSDL

Các hệ CSDL đầu tiên đã xuất hiện từ những năm 1960, từ đó đến nay chúng ta đã chứng
kiến nhiều hệ quản trị CSDL ra đời như FoxBase, FoxPro, MS Access, MySQL, SQL Server,
Firebird, Oracle.

Hình 1.3. Sơ đồ hình thành CSDL phân tán


- Công nghệ CSDL phân tán (Distributed Database-DDB): Khi công nghệ mạng máy
tính ra đời, người ta phân chia CSDL tập trung thành các CSDL cục bộ đặt trên các máy tính
khác nhau (các trạm/ sites) và được kết nối bởi mạng truyền thơng. Các CSDL cục bộ này tích
hợp được với nhau qua mạng máy tính mà khơng cần có sự tập trung dữ liệu. Do đó có thể xây
dựng được một hệ thống CSDL, trong đó dữ liệu phân tán trên một mạng máy tính. Đó là cách
tiếp cận của CSDL phân tán.
Có thể nhận thấy một điều thú vị là: Cơng nghệ mạng máy tính xúc tiến một kiểu làm việc
đi ngược lại nỗ lực tập trung hóa của công nghệ CSDL, tuy vậy hai xu hướng trái ngược nhau
Bài giảng “Cơ sở dữ liệu nâng cao” |

2


này lại có thể được tổng hợp lại để cho ra đời một công nghệ mạnh mẽ hơn nhiều so với từng
cơng nghệ riêng lẻ: đó là cơng nghệ CSDL phân tán.
Do đó có thể thấy rằng mục tiêu quan trọng nhất của cơng nghệ CSDL là sự tích hợp dữ liệu
chứ khơng phải là sự tập trung hóa, có nghĩa là có thể tích hợp dữ liệu để quản lý và sử dụng
chung mà khơng cần tập trung hóa và đó là bản chất của CSDL phân tán.
Một số ứng dụng của CSDL phân tán. Có rất nhiều lý do để cần phải có nhiều CSDL trong
một hệ thống phân tán như:
+ Nhiều database có thể gắn với nhiều chức năng của một hệ thống như: Bộ phận sản xuất,
bộ phận quản lý nhân sự, bộ phận bán hàng… và các chức năng này lại là những hệ thống độc
lập có nhu cầu lấy thơng tin lẫn nhau.
+ Đơn vị sử dụng hệ thống database có nhiều trụ sở đặt ở nhiều vị trí địa lý khác nhau và
cách xa nhau, Thí dụ như hệ thống quản lý tài khoản của mạng điện thoại di động, các server
game…
+ Những ứng dụng địi hỏi dữ liệu có tốc độ truy xuất rất cao được đặt các bản copy ở
nhiều server, việc truy xuất được phân tải cho các server này để đảm bảo hiệu năng, nhưng dữ
liệu trên các phần copy này phải đảm bảo đồng bộ tuyệt đối với nhau.
+ Nhiều ứng dụng khác nhau có thể địi hỏi phải truy xuất vào cùng một dữ liệu theo cách

khác nhau, khi đó địi hỏi phải có cơ chế truy xuất khác nhau.

Hình. 1.4. Một ứng dụng của CSDL phân tán

Hình 1.4 mơ tả một ứng dụng điển hình của CSDL phân tán trong doanh nghiệp gồm có 3
bộ phận chính: Trụ sở chính là nơi điều hành mọi hoạt động của doanh nghiệp, cân đối dự báo tài
chính…, Bộ phận sản xuất là nơi sản xuất, lập kế hoạch SX và kế hoạch nguyên liệu… và Bộ
phận bán hàng nhận các đơn đặt hàng, phân phối hàng hóa, dịch vụ sau bán hàng…

Bài giảng “Cơ sở dữ liệu nâng cao” |

3


Các bộ phận này của doanh nghiệp đặt ở 3 vị trí địa lý khác nhau, CSDL của doanh nghiệp
được kết nối theo mơ hình CSDL phân tán.
1.1.2. Cấu trúc của hệ CSDL phân tán
Có thể đưa ra định nghĩa cho CSDL phân tán theo cách mô tả như sau:
Định nghĩa 1.1: CSDL phân tán là một tập hợp các CSDL cùng hợp tác hoạt động, được
lưu trữ trên các máy tính khác nhau (gọi là các trạm/sites) được kết nối với nhau bởi một mạng
truyền thông và được quản lý bởi một hệ quản trị CSDL phân tán.
Một cách lý tưởng, người dùng tại một trạm bất kỳ có thể truy cập và thao tác dữ liệu trên
bất cứ trạm nào, các CSDL đó được người dùng nhìn thấy và xử lý chỉ như là một CSDL tập
trung, người dùng có thể khơng biết và khơng cần biết đến sự phân tán của dữ liệu. Tính chất này
được phát biểu: “sự phân tán của dữ liệu là trong suốt đối với người dùng”.
Các thành phần của CSDL phân tán:
* Về mặt vật lý: Yếu tố chính để phân biệt một cơ sở dữ liệu phân tán với một cơ sở dữ liệu
tập trung là:
- Cơ sở dữ liệu phân tán phải có nhiều máy tính gọi là các trạm (sites/nodes).
- Các trạm phải được kết nối bởi một kênh truyền thơng nào đó để truyền dữ liệu (trao đổi

dữ liệu) bao gồm các giao thức truyền thơng.

Hình 1.4. Các thành phần của CSDL phân tán

* Về mặt logic: Phần mềm quản trị CSDL phân tán gồm 3 module chính sau:
- Xử lý dữ liệu (DP-Database Processing): Quản lý dữ liệu cục bộ tại các trạm giống như
với cơ sở dữ liệu tập trung.
- Xử lý ứng dụng (AP-Application Processing): Module này sẽ xử lý các ứng dụng dữ liệu
trên mỗi trạm, xử lý các giao dịch con trên các trạm và truy cập các thông tin phân tán trên các
trạm.
- Xử lý truyền thơng (CP-Communication Processing): Module này có nhiệm vụ liên kết
(kết nối) các trạm với kênh truyền thông.
Bài giảng “Cơ sở dữ liệu nâng cao” |

4


* Ngoài ra hệ quản trị cơ sở dữ liệu phân tán cịn có thêm một số chức năng:
- Quản lý từ điển dữ liệu tổng thể lưu trữ thông tin liên quan đến các dữ liệu phân tán (các
thông tin này được xem như siêu dữ liệu - Super Data).
- Định nghĩa các dữ liệu phân tán.
- Kiểm tra các ngữ nghĩa của các dữ liệu.
- Định giá (trả lời) các câu hỏi phân tán.
- Quản lý các giao dịch phân tán.
* Một số ưu điểm tiềm năng của hệ CSDL phân tán:
- Thích hợp cho bản chất phân tán của nhiều ứng dụng cơ sở dữ liệu.
- Cho phép dùng chung dữ liệu trong khi vẫn duy trì được các điều khiển cục bộ.
- Nâng cao hiệu năng hệ thống: do CSDL phân tán bao gồm nhiều CSDL cục bộ tại nhiều
trạm, nên cho phép tăng khả năng truy cập, thực hiện được nhiều xử lý song song, do đó tăng được
hiệu suất, tốc độ xử lý dữ liệu và ứng dụng

- Tăng độ tin cậy và an toàn dữ liệu: do dữ liệu được lưu trữ trên nhiều bản sao đồng bộ
nên có khả năng khơi phục dữ liệu khi xảy ra sự cố ở một vài trạm.
Kết luận: Như vậy, có thể xem CSDL phân tán là một bộ sưu tập các dữ liệu mà về mặt
logic thuộc cùng một hệ thống CSDL nhưng về mặt vật lý được phân bố trên các trạm của một
mạng máy tính. Hệ quản trị CSDL phân tán (để cho gọn ta cũng gọi chung là hệ quản trị CSDL
hay DBMS, nếu không gây nhầm lẫn) là hệ thống phần mềm cho phép quản lý CSDL phân tán,
làm cho việc phân tán trở nên trong suốt với người dùng (Hồ Thuần và Hồ Cẩm Hà, 2007).
1.2. CÁC MƠ HÌNH PHÂN TÁN DỮ LIỆU
1.2.1 Tính thuần nhất và khơng thuần nhất của một hệ CSDL phân tán
Để xây dựng CSDL phân tán, người ta phải phân bố dữ liệu trên các trạm khác nhau. Mỗi
cách tiếp cận cho việc phân bố dữ liệu sẽ nhận được một CSDL phân tán với những tính chất
khác nhau.

1.2.1.1. CSDL phân tán thuần nhất (Homogeneous DDB)
Tính thuần nhất của một CSDL phân tán thể hiện ở các tính chất cơ bản:
(i) Các CSDL cục bộ đều có cùng mơ hình CSDL và có cùng cấu trúc dữ liệu.
(ii) Các CSDL cục bộ được quản trị bởi cùng một hệ quản trị CSDL.

Bài giảng “Cơ sở dữ liệu nâng cao” |

5


Hình 1.5. Thiết kế CSDL phân tán thuần nhất

Nói chung điều kiện (ii) thường bao gồm cả điều kiện (i), bởi vì khi các CSDL cục bộ được
quản trị bởi cùng một hệ QTCSDL thì các CSDL đó phải có cùng mơ hình (chẳng hạn mơ hình
quan hệ). Một CSDL phân tán thuần nhất thường có được từ việc chia một CSDL tập trung thành
một tập các CSDL cục bộ.
Như vậy, CSDL phân tán thuần nhất thường là kết quả của một cách thiết kế “từ trên

xuống”. Theo cách này, ta thiết kế một CSDL phân tán từ một CSDL tập trung, rồi tách thành các
trạm, tạo thuận lợi cho cho sự tăng trưởng của một tổ chức (cơ quan, doanh nghiệp…). Mơ hình
này cũng cải thiện hiệu năng của việc quản lý và khai thác dữ liệu nhờ khả năng xử lý song song
được cung cấp bởi sự có mặt của nhiều trạm.

1.2.1.2. CSDL phân tán không thuần nhất (Hetorogeneous DDB)
Tính khơng thuần nhất của một CSDL phân tán thể hiện ở việc nó khơng thỏa một trong
(hoặc cả hai) tính chất (i) và (ii) trên đây.
Một CSDL phân tán khơng thuần thường được xây dựng bằng việc tích hợp các CSDL cục
bộ đã có thành một hệ thống CSDL. Các CSDL cục bộ này có thể được thiết kế theo nhiều mơ
hình dữ liệu khác nhau, vì vậy có thể có cấu trúc dữ liệu khác nhau và được quản trị bởi các hệ
quản trị dữ liệu khác nhau.
Như vậy, CSDL phân tán không thuần nhất thường là kết quả của các thiết kế “từ dưới
lên”, cho phép tích hợp các CSDL hiện có và độc lập với nhau, như vậy, khơng phải tạo ra một
CSDL hồn tồn mới. Như vậy, ngoài các chức năng chung, các hệ quản trị CSDL phân tán
không thuần nhất phải cung cấp các giao diện để các hệ quản trị CSDL cục bộ có thể giao tiếp
được với nhau, việc này thường được giải quyết bằng cách xây dựng một “mơ hình trụ cột”
chung cho tất cả các CSDL cục bộ, mọi thao tác của các CSDL cục bộ đều thông qua mơ hình
trụ cột này.
Rõ ràng các tiếp cận khơng thuần nhất cho việc phân tán dữ liệu là phức tạp hơn nhiều so
với cách tiếp cận thuần nhất.
Oracle là một hệ quản trị CSDL hỗ trợ việc liên kết dữ liệu trong một CSDL phân tán
không thuần nhất.

Bài giảng “Cơ sở dữ liệu nâng cao” |

6


Hình 1.6. Thiết kế CSDL phân tán thuần nhất khơng thuần nhất


1.2.2. Các mơ hình phân tán dữ liệu

1.2.2.1. Cơ sở dữ liệu từ xa (Remote Database).
- Khái niệm: Cơ sở dữ liệu từ xa (remote database) là một CSDL đặt trên một máy tính
khác với máy tính của người dùng và được truy cập nhờ vào các lệnh truyền thông được xác định
bởi người dùng.
- Các đặc điểm của remote DB:
+ Máy tính của người dùng duy trì một CSDL riêng được nạp từ CSDL từ xa trên máy chủ.
+ Việc quản trị CSDL từ xa được thực hiện bởi một DBMS trên máy chủ.
+ Việc quản trị CSDL người dùng thực hiện trên máy trạm của người dùng, bởi phiên bản
micro của DBMS trên máy chủ, người dùng phải đảm bảo sự nhất quán dự liệu riêng với dữ liệu
máy chủ.
+ Nói chung việc truy cập CSDL từ xa thường được hạn chế trong việc tra cứu thông tin,
các phép cập nhật được làm theo cách tập trung trên máy chủ.
Cách tiếp cận CSDL từ xa cho một chức năng hạn chế, nhưng không vấp phải những vấn
đề khó khăn nhất của CSDL phân tán (quản lý từ điển dữ liệu, xử lý các giao dịch phân tán…).
Thí dụ 1.1. Phịng đào tạo có một CSDL đặt trên một máy chủ gồm danh sách SV mỗi
khóa của mỗi môn học, điểm kiểm tra, điểm chuyên cần, điểm thi. Giáo viên và sinh viên có thể
truy cập và tải về đề sử dụng. Đây là một mơ hình CSDL từ xa.

1.2.2.2. Cơ sở dữ liệu liên hiệp (federated database)
Cơ sở dữ liệu liên hiệp (federated database) là một mô hình phân tán dữ liệu bao gồm các
CSDL cục bộ, nhưng các CSDL cục bộ này khơng tích hợp thành một CSDL duy nhất như với
CSDL phân tán mà chúng tạo thành các liên tác, trong phạm vi chúng có thể trao đổi dữ liệu.

Bài giảng “Cơ sở dữ liệu nâng cao” |

7



Cách tiếp cận CSDL liên hiệp nhằm tránh gặp phải những khó khăn rất lớn của việc quản trị tập
trung các CSDL phân tán, nhất là khi có một số lớn các CSDL cục bộ tham gia, đó là:
- Việc quản trị tập trung của CSDL phân tán là rất phức tạp nhất là khi số trạm là rất lớn.
- Mọi truy cập tới CSDL phân tán đều thông qua hệ quản trị CSDL.
- Khi truy cập tới một đơn vị dữ liệu dù trên trạm cục bộ nhưng vẫn thông qua hệ quản trị
CSDL phân tán làm cho tốc độ xử lý dữ liệu cục bộ chậm lại bởi các chi phí của việc quản lý các
dữ liệu phân tán.
Trong CSDL liên hiệp, người ta nới lỏng các ràng buộc chặt giừa các CSDL cục bộ và
cung cấp cho người dùng một ngôn ngữ để định nghĩa các mối quan hệ giữa các CSDL khác
nhau và thao tác trên nhiều CSDL cùng một lúc nhờ một ngôn ngữ đa cơ sở dữ liệu
(multidatabase language) Thường là khơng có q nhiều máy trạm trong một CSDL liên hiệp..
Một số đặc điểm của CSDL liên hiệp:
- Nhằm ưu tiên người dùng thao tác CSDL cục bộ và xem việc truy cập tới một CSDL
khác là không thường xuyên.
- Sự phân tán là không trong suốt đối với người dùng.
Sự khác nhau giữa hệ quản trị CSDL liên hiệp và hệ quản trị CSDL phân tán là:
- Không quản lý từ điển dữ liệu tổng thể.
- Hỗ trợ một ngôn ngữ để định nghĩa các phụ thuộc có thể có giữa các CSDL trong liên
hiệp (multidatabase language).
- Hỗ trợ một ngôn ngữ để định nghĩa và thao tác trên các CSDL thuộc liên hiệp
(multidatabase language).

1.2.2.3. Cơ sở dữ liệu song song (parallel database)
Một mơ hình phân tán dữ liệu được khai thác nhiều trong thời gian gần đây là việc phân bố
dữ liệu trên một tập các nút (nodes) của một máy tính song song (siêu máy tính với bộ đa xử lý)
để tăng hiệu quả của việc quản lý dữ liệu. Mơ hình này cịn được gọi là cơ sở dữ liệu song song
(parallel database) (Hình 1.7).
CSDL song song có thể được mô tả như sau:
- Phần cứng: Là một máy tính song song (siêu máy tính với nhiều bộ vi xử lý), mỗi một

node của máy tính song song sẽ xử lý một CSDL cục bộ. Các liên hệ giữa các node sẽ thơng qua
bus dữ liệu của máy tính.
- Phần mềm: Dùng chung một phần mềm quản trị CSDL duy nhất.
Cơ sở dữ liệu song song được xem như một hộp đen xử lý dữ liệu và thường gọi là “máy
Cơ sở dữ liệu” (database machine).
Sự giống nhau và khác nhau giữa CSDL phân tán và CSDL song song:
- Giống nhau:
Bài giảng “Cơ sở dữ liệu nâng cao” |

8


+ Cùng có nhiều CSDL cục bộ.
+ Có chung một phần mềm quản lý CSDL.
+ Hoạt động như một CSDL phân tán thuần nhất.
- Khác nhau:
+ Chỉ có một máy đặt tại một trạm.
+ Khơng dùng kênh truyền thơng.

Hình 1.7. Cơ sở dữ liệu song song (Máy cơ sở dữ liệu)

1.3. CÁC TÍNH CHẤT CƠ BẢN CỦA MỘT HỆ CƠ SỞ DỮ LIỆU PHÂN TÁN
Các hệ quản trị CSDL phân tán phải làm cho người sử dụng trong hệ thống không biết và
không cần biết tới sự phân tán của dữ liệu và việc sử dụng CSDL phân tán phải khơng khó hơn
CSDL tập trung. Như vậy các hệ quản trị CSDL phân tán phải cung cấp các mức độc lập khác
nhau đối với dữ liệu và đối với người dùng, nói cách khac, các hệ quản trị CSDL phân tán phải
tạo nên các tính chất cơ bản của một hệ CSDL phân tán, đó cũng là các mục tiêu của một hệ
CSDL phân tán.
1.3.1. Tính độc lập đối với sự phân bố dữ liệu
Nhờ tính chất này, người dùng sẽ không cần quan tâm tới sự phân tán của dữ liệu và có thể

khơng biết là có sự phân tán. Thông tin về sự phân tán của dữ liệu (chẳng hạn một quan hệ được
phân tán thành các quan hệ con và đặt trên các trạm khác nhau) được lưu trữ trong từ điển dữ
liệu tổng thể và được hệ quản trị CSDL phân tán tham khảo để xác định vị trí của các thơng tin
Bài giảng “Cơ sở dữ liệu nâng cao” |

9


được phân tán (các quan hệ con có liên quan đến một quan hệ nào đó). Lưu trữ từ điển dữ liệu
tổng thể có 3 cách:
- Tập trung tại một trạm xem như máy chủ: từ điển DL được tổ chức tập trung.
- Mỗi một trạm được cung cấp một từ điển dữ liệu tổng thể: từ điển DL được tổ chức có
nhân bản.
- Từ điển dữ liệu được phân đoạn và lưu trữ trên các trạm: Từ điển được tổ chức phân tán.
Tính độc lập với sự phân tán dữ liệu sẽ đảm bảo sự định vị dữ liệu sẽ độc lập với sự phân
bố dữ liệu vật lý: Khi thay đổi dữ liệu về mặt vật lý thì chỉ có từ điển dữ liệu là thay đổi; khơng
làm thay đổi phần mềm ứng dụng.
1.3.2. Tính độc lập đối với sự phân đoạn của các quan hệ
Tính độc lập đối với sự phân đoạn sẽ che dấu người dùng về việc các dữ liệu đã bị phân
đoạn (hoặc: sự phân đoạn là trong suốt đối với người dùng).
Trong CSDL phân tán, các quan hệ được phân đoạn và có thể lưu trữ ở các trạm khác
nhau, việc phân đoạn là nhằm tăng tính hiệu quả của một CSDL phân tán và nó cho phép đơn
giản hóa các truy cập địa phương.
Khi người dùng truy cập tới các quan hệ tổng thể, hệ quản trị CSDL phân tán sẽ tham
chiếu tới các đoạn một cách phù hợp, thông tin về sự phân đoạn được lưu trữ trong từ điển, vì
vậy sự phân đoạn là độc lập với người dùng.
Tính độc lập đối với sự phân đoạn được đảm bảo bởi hệ quản trị CSDL phân tán.
1.3.3. Tính độc lập đối với sự nhân bản
Sự nhân bản là một giải pháp cho an toàn dữ liệu. Sự nhân bản là việc tạo ra các bản sao
dư thừa. Một đoạn được nhân bản khi tồn tại hai hay nhiều bản sao của nó. Mỗi bản sao được lưu

trữ trên một hay nhiều trạm khác nhau. Ngồi ra, sự nhân bản cịn làm tăng tính sẵn sàng truy
cập và tăng khả năng xử lý cục bộ.
Việc duy trì và đồng bộ các bản sao là khá phức tạp và tốn kém. Tuy nhiên, do vấn đề an
tồn dữ liệu thì mọi CSDL phân tán đều phải thực hiện nhân bản.
Tính độc lập đối với sự nhân bản là làm cho người dùng không biết là có sự nhân bản mà
chỉ nhìn thấy các quan hệ không nhân bản. Như vậy, sự nhân bản là trong suốt đối với người
dùng.
1.3.4. Tính độc lập đối với các hệ quản trị CSDL cục bộ
- Tính độc lập này cho phép che dấu một sự kiện là các hệ quản trị CSDL địa phương có
thể khác nhau. Mục tiêu này rất khó thực hiện hồn tồn, nhất là đối với hệ CSDL phân tán
không thuần nhất, người ta đưa ra một giải pháp gần đây nhất, là dùng một mơ hình trụ cột
(thường chọn là mơ hình quan hệ) và xác định một bộ chương trình dịch giữa các mơ hình cục bộ
và mơ hình trụ cột.
Bài giảng “Cơ sở dữ liệu nâng cao” |

10


- Người dùng ở các trạm không cần quan tâm đến các hệ quản trị CSDL ở các trạm khác,
họ cứ việc dùng chương trình quen thuộc của mình. Việc dịch các lệnh, câu hỏi từ các mơ hình
cục bộ về mơ hình trụ cột do hệ quản trị CSDL phân tán đảm nhận.
- Tính độc lập này được đảm bảo bởi hệ quản trị CSDL phân tán.
Hệ quản trị CSDL Oracle hỗ trợ tính độc lập của các mơ hình phân tán, cho phép các user
truy nhập tới CSDL phân tán như một khối thống nhất, vì vậy nó được đánh giá là ưu việt nhất
hiện nay, đặc biệt là cho các CSDL phân tán.
1.3.5. Tính tự trị của các trạm
- Đây là một tính chất cho phép các trạm điều khiển và thao tác dữ liệu cục bộ của mình
độc lập với các trạm khác. Mỗi trạm có thể tự quản trị CSDL cục bộ, nhưng cũng có thể tham gia
trong hệ thống CSDL phân tán với vai trò như là máy khách (client) hoặc với vai trò như máy
chủ (server). Việc quản trị CSDL phân tán hoàn tồn phi tập trung.

- Tính tự trị được đảm bảo bởi hệ quản trị CSDL phân tán.
1.3.6. Tính mở rộng
Là một khả năng tăng trưởng hệ thống CSDL phân tán bằng việc đưa thêm vào các trạm
mới với các tác động tối thiểu lên các CSDL cục bộ và các chương trình ứng dụng hiện có.
1.3.7. Tính ổn định
Tính chất này đảm bảo rằng mọi sự cố trên một phần nhỏ của hệ thống rất ít hoặc hồn
tồn khơng ảnh hưởng đến hoạt động của toàn bộ hệ thống.
1.3.8. Cải thiện hiệu năng khai thác và xử lý dữ liệu
- Đây là tính chất sống cịn của cách tiếp cận CSDL phân tán.
- Vấn đề cốt yếu là phân đoạn hợp lý và nhân bản dữ liệu để có thể khai thác và xử lý song
song trên CSDL phân tán.
1.4. CÁC KIẾN TRÚC CỦA MỘT HỆ CƠ SỞ DỮ LIỆU PHÂN TÁN
1.4.1. Kiến trúc lược đồ của CSDLPT
Kiến trúc lược đồ nhằm đề xuất việc tổ chức lý tưởng nhất một CSDLPT hỗ trợ các mức
độc lập đối với dữ liệu và người dùng. Kiến trúc lược đồ của CSDL phân tán là sự mở rộng kiến
trúc 3 mức cho CSDL tập trung.

1.4.1.1. Nhắc lại kiến trúc 3 mức trong CSDL tập trung
Kiến trúc 3 mức theo tiêu chuẩn ANSI/SPARC (American National Standards Institute:
Viện Tiêu chuẩn quốc gia Mỹ/Planing and Requirement Committee: Ủy ban nhu cầu và kế hoạch
Mỹ) được mơ tả hình 1.8.
Bài giảng “Cơ sở dữ liệu nâng cao” |

11


Hình 1.8. Ba mức của kiến trúc lược đồ trong các CSDL cục bộ

- Mức khung nhìn: Gồm các lược đồ ngồi, mỗi lược đồ ngồi mơ tả chỉ một phần của
CSDL, thích hợp với một nhóm người sử dụng nhất định. Mỗi người sử dụng có thể khơng quan

tâm đến tồn bộ CSDL mà chỉ cần một phần thơng tin nào đó.
- Mức logic: Gồm các lược đồ khái niệm, các lược đồ này mô tả những dữ liệu nào được
lưu trữ trong CSDL, mối quan hệ giữa chúng. Chẳng hạn lược đồ khái niệm chỉ quan tâm đến
các quan hệ được lưu trữ trong CSDL và các mối liên hệ giữa chúng chứ không quan tâm đến
cách thức lưu trữ các quan hệ này.
- Mức vật lý: Gồm các lược đồ trong, các lược đồ này mô tả dữ liệu được lưu trữ như thế
nào trong bộ nhớ thứ cấp. Mức này phản ánh cấu trúc dữ liệu, cách tổ chức tệp, các kỹ thuật nén
dữ liệu, cấp phát vùng nhớ…
Dưới đây chúng ta sẽ xem xét kiến trúc lược đồ của một CSDL phân tán.

1.4.1.2. Kiến trúc lược đồ của CSDL phân tán
Kiến trúc lược đồ của CSDL phân tán là sự mở rộng kiến trúc 3 mức cho CSDL tập trung.
Với kiến trúc lược đồ này, tính độc lập dữ liệu dễ dàng được đảm bảo. Mọi thông tin liên quan
đến các lược đồ và các phép biến đổi giữa các lược đồ (các ánh xạ) được lưu giữ trong từ điển dữ
liệu.
Trước hết ta đưa ra một số khái niệm liên quan đến các lược đồ CSDL phân tán, trong đó các
mức của lược đồ mô tả CSDLPT mà độc lập với mọi CSDL cục bộ thì được gọi là mức tổng thể,
các mức lược đồ mô tả một CSDL cục bộ được là mức cục bộ.
Định nghĩa 1.2: Lược đồ tổng thể (Global Scheme) là một mô tả tổng thể và thống nhất
của tất cả các dữ liệu của CSDL phân tán và độc lập với môi trường phân tán.
Định nghĩa 1.3: Câu hỏi phân tán (Distributed Query) là câu hỏi được diễn tả phù hợp với
các dữ liệu được mô tả bởi lược đồ tổng thể của CSDL phân tán.
Định nghĩa 1.4: Câu hỏi cục bộ (Local Query) là câu hỏi diễn tả phù hợp với các dữ liệu
được mô tả bởi lược đồ của một CSDL cục bộ.
Bài giảng “Cơ sở dữ liệu nâng cao” |

12


Trong kiến trúc lược đồ của một CSDL phân tán (Hình 1.9) có phân biệt 3 mức của lược

đồ tổng thể và 3 mức của các lược đồ cục bộ:

Hình 1.9. Kiến trúc lược đồ của CSDL phân tán

Ba mức của lược đồ tổng thể:
- Lược đồ khái niệm tổng thể: Định nghĩa tất cả các quan hệ có trong CSDL phân tán và
cung cấp tính độc lập dữ liệu đối với mơi trường phân tán.
- Các lược đồ ngồi tổng thể: Mỗi lược đồ ngoài tổng thể xác định một khung nhìn của một
lớp người dùng nhất định. Các quy tắc định nghĩa khung nhìn được dùng để biến đổi dữ liệu ở
mức lược đồ ngoài tổng thể thành dữ liệu ở mức lược đồ khái niệm tổng thể. Nhờ các quy tắc
này mà tính độc lập logic của dữ liệu được đảm bảo.
- Lược đồ sắp đặt: Xác định chính xác cách thức và vị trí các quan hệ được sắp đặt trên các
trạm khác nhau trong mạng. Nó chứa tất cả các thơng tin liên quan đến sự định vị, sự phân đoạn
và nhân bản dữ liệu, cùng với các quy tắc biến đổi dữ liệu ở mức lược đồ khái niệm tổng thể
thành dữ liệu cục bộ có phân đoạn và nhân bản.
Ba mức của các lược đồ cục bộ:
Cấu trúc lược đồ của một CSDL phân tán gồm 3 mức của lược đồ tổng thể và 3 mức của
lược đồ cục bộ, được mô tả trong hình 1.9.
- Các lược đồ trong cục bộ: Là mức vật lý của các lược đồ CSDL cục bộ, ý nghĩa và hoạt
động giống như các lược đồ trong của CSDL tập trung.
Bài giảng “Cơ sở dữ liệu nâng cao” |

13


- Các lược đồ khái niệm cục bộ: Là mức logic của các lược đồ CSDL cục bộ, ý nghĩa và
hoạt động giống như các lược đồ khái niệm của CSDL tập trung.
- Các lược đồ ngồi cục bộ: Có vai trò biểu diễn các đoạn của quan hệ như đã mô tả trong
lược đồ sắp đặt thành các đối tượng của lược đồ ngoài, được xem như các khung nhìn của CSDL
cục bộ. Các lược đồ ngồi cục bộ có nhiệm vụ kết nối lược đồ sắt đặt của các lược đồ tổng thể

với các CSDL cục bộ. Các lược đồ ngồi cục bộ cịn đảm bảo tính độc lập của các hệ quản trị
CSDL và phải có nếu môi trường là không thuần nhất.
1.4.2. Kiến trúc chức năng của CSDL phân tán
Các chức năng trong một hệ thống CSDL được chia thành 2 nhóm chính trong quan hệ
Khách/Chủ (Client/Server). Nhóm khách bao gồm các chức năng xử lý ứng dụng (trình quản lý
ứng dụng) và nhóm chủ bao gồm các chức năng xử lý dữ liệu (trình quản lý dữ liệu) có mặt tại
mỗi trạm, như vậy mỗi trạm sẽ vừa có vai trị là trạm khách và vừa có vai trị là trạm chủ.
Kiến trúc chức năng của hệ CSDL phân tán bao gồm các nhóm chức năng sau:

1.4.2.1. Các chức năng xử lý ứng dụng
Các chức năng này cịn gọi là trình quản lý ứng dụng, được thực hiện ở các mức của lược
đồ tổng thể, bao gồm:
- Giao diện người dùng: Kiểm tra các dữ liệu trong câu hỏi người dùng có phù hợp với lược
đồ ngoài tổng thể, sau khi thực thi câu hỏi thì trả về kết quả cho người dùng.
- Kiểm tra ngữ nghĩa: Biến đổi câu hỏi được diễn đạt trên các khung nhìn trong lược đồ
ngồi tổng thể thành câu hỏi diễn đạt trên các quan hệ trong lược đồ khái niệm tổng thể (cịn gọi
là câu hỏi chính tắc, được biểu diễn bởi các biểu thức đại số quan hệ).
- Định giá câu hỏi phân tán: Biến đổi các câu hỏi chính tắc (là các biểu thức đại số quan hệ
trên các quan hệ tổng thể trong các quan hệ ở lược đồ khái niệm tổng thể) thành một phương án
thực thi phân tán trên các đoạn trong các CSDL cục bộ (nhờ các thông tin trong lược đồ sắp đặt).
Chức năng này cũng cho phép tối ưu hóa các câu hỏi phân tán để làm cực tiểu một hàm chi phí
(theo thời gian thực hiện hoặc dung lượng dữ liệu cần phải truyền tải giữa các trạm).
- Quản lý các giao dịch phân tán: Chức năng này đảm bảo việc điều khiển tương tranh và
tính nguyên tố của các giao dịch phân tán.

1.4.2.2. Các chức năng xử lý dữ liệu

Bài giảng “Cơ sở dữ liệu nâng cao” |

14



Hình 1.10. Kiến trúc chức năng của một hệ CSDL phân tán

Các chức năng này cịn gọi là trình quản lý dữ liệu, được thực hiện ở các mức của lược đồ
cục bộ, bao gồm:
- Định giá các câu hỏi cục bộ: Các câu hỏi cục bộ này nhận được từ các câu hỏi được diễn
đạt theo lược đồ sắp đặt thành các câu hỏi diễn đạt theo lược đồ ngoài cục bộ của CSDL cục bộ.
- Quản lý các giao dịch con trên mỗi CSDL cục bộ.
- Truy cập các CSDL cục bộ
Sơ đồ quan hệ Client/Server trong CSDL phân tán được mơ tả trong hình 1.10. Nói chung,
một câu hỏi của người dùng sẽ viện dẫn tới phần mềm quản lý ứng dụng của trạm khách và phần
mềm quản lý dữ liệu của một hay nhiều trạm chủ. Các chức năng xử lý ứng dụng và chức năng
xử lý dữ liệu đều được tích hợp trong phần mềm quản trị CSDL phân tán.

Bài giảng “Cơ sở dữ liệu nâng cao” |

15


BÀI TẬP CHƯƠNG 1
1. Hãy trình bày những thành phần chính của một hệ Cơ sở dữ liệu phân tán (DDB). Mục đích và yêu
cầu của một hệ CSDL phân tán?
2. Thế nào là một CSDL phân tán thuần nhất và khơng thuần nhất? Nêu các đặc điểm chính của các mơ
hình phân tán dữ liệu: CSDL từ xa, CSDL song song, CSDL liên hiệp. So sánh mỗi mơ hình này với
CSDL phân tán.
3. Một CSDL phân tán phải đảm bảo các tính độc lập gì đối với dữ liệu và các hệ quản trị CSDL của
các CSDL cục bộ?
4. Hãy phân biệt các khái niệm: Dữ liệu cục bộ, dữ liệu phân tán, câu hỏi cục bộ, câu hỏi phân tán.
5. Phân tích kiến trúc lược đồ và kiến trúc chức năng của một hệ CSDL phân tán. Đối với các lược đồ

tổng thể, theo anh/chị thì lược đồ nào là quan trọng nhất đối với một hệ CSDL phân tán.

Bài giảng “Cơ sở dữ liệu nâng cao” |

16


Chương 2
TỐI ƯU HÓA CÂU HỔI VÀ QUẢN LÝ CÁC GIAO DỊCH PHÂN TÁN
2.1. ĐỊNH NGHĨA DỮ LIỆU TRONG CƠ SỞ DỮ LIỆU PHÂN TÁN
đó là:

Việc định nghĩa dữ liệu trong CSDL phân tán bao gồm hai vấn đề quan trọng,
- Sự mô tả dữ liệu tổng thể.
- Sự phân đoạn và sắp đặt dữ liệu trong mạng máy tính của CSDL phân tán.

2.1.1. Mô tả dữ liệu
Thao tác mô tả dữ liệu tổng thể, chẳng hạn thêm một quan hệ mới, hay sửa đổi mơ tả đó
phụ thuộc chủ yếu vào việc tổ chức từ điển dữ liệu.
- Với 1 từ điển DL được tổ chức tập trung, thao tác mơ tả dữ liệu rất đơn giản vì nó chỉ liên
quan đến một trạm trung tâm lưu trữ từ điển DL.
- Với 1 từ điển DL được lưu trữ có nhân bản, thao tác mơ tả phải được làm đồng bộ với tất
cả các trạm có lưu các bản sao của từ điển DL.
- Với 1 từ điển được lưu trữ phân tán thì thao tác mơ tả là phức tạp nhất, mô tả dữ liệu
thoạt đầu được đưa vào trạm cục bộ mà tại đó dữ liệu được tạo ra, trạm này gọi là trạm “tạo
sinh”, sau đó trạm “tạo sinh” và các trạm khác được phép truy cập dữ liệu mới sẽ hợp tác và trao
đổi thông tin về mơ tả dữ liệu.
Trạm tạo sinh có thể biết danh sách các trạm được phép truy cập các dữ liệu riêng của nó,
nhằm thơng báo cho các trạm này mọi thay đổi về mô tả dữ liệu.
2.1.2. Các kiểu phân đoạn dữ liệu

Sự sắp đặt dữ liệu bằng cách chia một quan hệ tổng thể thành các đơn vị logic trong lược
đồ khái niệm tổng thể gọi là sự phân đoạn dữ liệu. Sự phân đoạn nhằm chia các quan hệ thành
các đơn vị nhỏ hơn (gọi là các đoạn) để có thể sắp đặt tối ưu trong CSDL phân tán. Có ba kiểu
phân đoạn: phân đoạn ngang, phân đoạn dọc và phân đoạn hỗn hợp nhằm chia các quan hệ R
thành các quan hệ con, được khai báo trong lược đồ khái niệm tổng thể và được sắp đặt phù hợp
trên các trạm (Hình 2.1).
R1

R1

R2

R1

R2
(a) Phân đoạn ngang

R2
R3

(b) Phân đoạn dọc

(c) Phân đoạn hỗn hợp

Hình 2.1. Các kiểu phân đoạn dữ liệu

Bài giảng “Cơ sở dữ liệu nâng cao” |

17



Sự phân đoạn một quan hệ được xác định bởi người quản trị CSDL, theo thiết kế của hệ
thống thông tin nhằm tối ưu hóa việc cập nhật dữ liệu. Sự phân đoạn một quan hệ phải thỏa mãn
các yêu cầu:
- Mỗi phép phân đoạn l à một phân tách không mất thông tin: Tức là mỗi phần tử dữ liệu
của quan hệ tổng thể phải thuộc một hay nhiều đoạn của phân tách, dữ liệu không mất đi nhưng
cũng không thêm dữ liệu mới.
- Khôi phục lại được quan hệ ban đầu từ các đoạn.
- Các đoạn là không trùng lặp: Nhằm tránh dư thừa dữ liệu (đối với các phân đoạn ngang
điều này là bắt buộc, đối với các phân đoạn dọc thì mỗi đoạn chỉ cho phép trùng lặp các thuộc
tính khóa để khơi phục được quan hệ ban đầu).
Thao tác phân đoạn và việc khôi phục lại các quan hệ được thực hiện dựa trên các phép
toán của đại số quan hệ. Trước khi nghiên cứu các phương pháp phân đoạn dữ liệu, ta nhắc lại
các phép toán của đại số quan hệ.
2.1.3. Các phép toán đại số quan hệ trong phân đoạn dữ liệu
Việc phân đoạn một quan hệ tổng thể thành các đoạn (mảnh) và khôi phục các quan hệ
tổng thể từ các đoạn được thực hiện bởi các phép toán đại số quan hệ. Đại số quan hệ là cơ sở
quan trọng của một ngôn ngữ bậc cao được sử dụng để thao tác trên các quan hệ. Ngôn ngữ này
bao gồm hai nhóm phép tốn: các phép tốn trên tập hợp (phép hợp, phép giao, phép trừ và tích
Đề các) và các phép toán chỉ trên các quan hệ (phép chọn, phép chiếu, phép kết nối và phép nửa
kết nối). Trước hết chúng ta đưa ra một số quy ước về ký pháp và nhắc lại các khái niệm liên
quan đến các phép toán đại số quan hệ:
- Một lược đồ quan hệ R xác định trên tập thuộc tính  = {A1, A2,…, An}, có thể ký hiệu
R(A1, A2,…, An), hay R = {A1, A2,…, An}. Một thể hiện của lược đồ quan hệ R là một quan hệ, được
ký hiệu bằng chữ r (in thường). Quan hệ r có thể biểu diễn bằng một bảng.
- Tập các giá trị có thể của thuộc tính Aj, ký hiệu Dom(Aj) và gọi là miền trị của thứ j của
quan hệ r trên lược đồ quan hệ R.
- Hai quan hệ là cùng bậc nếu chúng có cùng số thuộc tính.
- Hai quan hệ là khả hợp nếu chúng có cùng bậc và thuộc tính thứ j của quan hệ này có
cùng miền trị với thuộc tính thứ j của quan hệ kia.

- Rõ ràng, các quan hệ xác định trên cùng một lược đồ quan hệ là các quan hệ
khả hợp.
Sau đây, chúng ta nhắc lại một số định nghĩa về các phép tốn đại số quan hệ và một số
cơng thức thường được sử dụng trong đại số quan hệ.

2.1.3.1. Định nghĩa các phép toán đại số quan hệ
(1) Phép hợp: Hợp (union) của hai quan hệ khả hợp r và s, là một quan hệ, được ký hiệu và
xác định như sau:
r  s = {t | t  r hoặc t  s}
Bài giảng “Cơ sở dữ liệu nâng cao” |

18


Như vậy, hợp của hai quan hệ r và s là một quan hệ chứa tất cả các bộ của r và s (những
bộ chung chỉ xuất hiện 1 lần).
(2) Phép giao: Giao (intersection) của hai quan hệ khả hợp r và s, là một quan hệ, được ký
hiệu và xác định như sau:
r  s = {t | t  r và t  s}
Như vậy, giao của hai quan hệ r và s là một quan hệ chỉ chứa các bộ chung của r và s.
(3) Phép trừ: Hiệu (set difference) của hai quan hệ khả hợp r và s, là một quan hệ, được ký
hiệu và xác định như sau:
r – s = {t | t  r và t  s}
Như vậy, hiệu của hai quan hệ r và s là một quan hệ chỉ chứa các bộ thuộc r mà khơng
thuộc s.
(4) Tích Đề các (Descartes): Cho r là một quan hệ xác định trên tập thuộc tính {A1, A2,…,
An} và s là quan hệ xác định trên {B1, B2,…, Bm}. Tích Đề các của hai quan hệ r và s là một quan
hệ được ký hiệu và xác định như sau:
r  s = {t | t = (a1,..., an, b1,..., bm), với (a1,..., an)  r ; (b1,..., bm)  s}
Như vậy, Tích Đề các của hai quan hệ r và s là một quan hệ mà mỗi bộ là ghép nối của

một bộ trong r với một bộ trong s. Rõ ràng nếu r có p bộ và s có q bộ thì r  s chứa p.q bộ.
(5) Phép chiếu: Cho r là một quan hệ trên tập thuộc tính  = {A1, A2,…, An}, giả sử X  ,
chiếu (projection) của quan hệ r lên tập thuộc tính X cho kết quả là một quan hệ con của quan hệ
r, được ký hiệu và xác định như sau:
X(r) = { t[X] | t  r }





Trong đó t  X  là hạn chế của bộ t của r trên tập thuộc tính X, với X = Ai1 ,..., Aik , thì



t  X  = t  A i1  ,..., t  A ik 



Như vậy, chiếu của quan hệ r trên tập thuộc tính X, là quan hệ con nhận được từ r bằng
cách bỏ đi những thuộc tính (các cột) trong r mà khơng có mặt trong X. Với quan hệ con nhận
được, nếu xuất hiện nhiều bộ giống nhau thì chỉ giữ lại một bộ trong số các bộ giống nhau.
(6) Phép chọn: Phép chọn (selection) là phép toán cho kết quả là một quan hệ con gồm
một tập con các bộ của quan hệ r thỏa mãn điều kiện C nào đó, được ký hiệu và xác định như
sau:
C(r) = {t  r | C(t) = True (đúng)}
Trong đó, điều kiện C là một biểu thức boolean của các toán hạng, mỗi toán hạng là một
phép so sánh giữa hai biến là hai thuộc tính, hoặc giữa một biến là thuộc tính và một hằng, C cho
giá trị đúng hoặc sai đối với mỗi bộ của r, nếu đúng, bộ đó được chọn vào quan hệ mới c(r).

Bài giảng “Cơ sở dữ liệu nâng cao” |


19


Các phép so sánh trong C bao gồm: = ; < ;  ; > ;  và , các phép toán logic gồm  (và), 
(hoặc),  (phủ định).
Như vậy, chọn của quan hệ r theo điều kiện C, ta được một quan hệ con c(r) với cùng
tập thuộc tính của r, mà chỉ chứa những bộ thỏa điều kiện C.
(7) Phép kết nối (join): Cho r là một quan hệ xác định trên tập thuộc tính {A1, A2,…, An} và
s là quan hệ xác định trên {B1, B2,…, Bm}. Giả sử r và s có một số thuộc tính chung (tức là  i, j
để Ai = Bj), khi đó kết nối của quan hệ r và quan hệ s là một quan hệ với các bộ là kết nối của các
bộ trong r với các bộ trong s có giá trị các thuộc tính chung bằng nhau. Kết nối của hai quan hệ r
và s được ký hiệu và xác định như sau:
s = {(t,u) | t r, u s , t[Ai] = u[Bj]}

r

Như vậy, kết nối của hai quan hệ r và s là một quan hệ có tập thuộc tính là tất cả các
thuộc tính của cả r và s (với mỗi cặp thuộc tính chung cùng tên ở cả 2 quan hệ chỉ giữ lại 1
thuộc tính cho quan hệ mới), các bộ của quan hệ mới là ghép của 2 bộ trong r và s mà có giá trị
các thuộc tính chung là bằng nhau. Phép kết nối theo định nghĩa trên cũng gọi là kết nối tự
nhiên.
(8) Phép nửa kết nối (semi-join): Cho r là một quan hệ xác định trên tập thuộc tính {A1,
A2,…, An} và s là quan hệ xác định trên {B1, B2,…, Bm}. Giả sử r và s có một số thuộc tính chung
(tức là  i, j để Ai = Bj), khi đó nửa kết nối của quan hệ r và quan hệ s là một quan hệ được ký
hiệu và xác định như sau:
s = R (r

r


s)

Như vậy, nửa kết nối của hai quan hệ r và s thực chất là việc loại đi những bộ của r mà
khơng kết nối được với s.
Thí dụ 2.1. Cho các quan hệ r và s như sau:
r

A

B

1

B

C

D

2

1

2

1

2

4


2

4

0

3

6

2

6

1

4

8

0

Tính được kết nối r

s

s:
r


s

A

B

C

D

1

2

4

0

1

2

6

1

2

4


8

0

Dễ dàng kiểm tra được rằng với hai quan hệ trên thì: r
và kiểm tra, xem như là bài tập.

s=s

r. Bạn đọc có thể tự tính

Thí dụ 2.2. Với các quan hệ r và s như trong thí dụ 2.1, tính được các nửa kết nối:

Bài giảng “Cơ sở dữ liệu nâng cao” |

20


r

s

A

B

1
2

s


r

B

C

D

2

2

4

0

4

2

6

1

4

8

0


2.1.3.2. Một số công thức trong đại số quan hệ
Trong CSDL phân tán, việc định giá câu hỏi đưa về việc tính tốn các biểu thức đại số
quan hệ, là các biểu thức gồm các phép toán đại số quan hệ và các toán hạng là các quan hệ.
Ký hiệu r, s, t là các quan hệ còn R, S, T là các tập thuộc tính tương ứng của chúng.
Ta có các cơng thức tương đương dưới đây, có thể được dùng trong khi tính tốn các biểu
thức đại số quan hệ.
(1) Luật giao hốn đối với tích Đề các và phép kết nối:
rs=sr
r

s=s

r

(2) Luật kết hợp đối với tích Đề các và phép kết nối:
(r  s)  t = r  (s  t)
s)

(r

t=r

(s

t)

(3) Các phép chiếu tương đương: Nếu r là một quan hệ trên tập thuộc tính  = {A1, A2,…,
An}, và giả sử {A1, A2,…, Ak}  {B1, B2, … Bm}  , tức là A1, A2,…, Ak phải ở trong số các
thuộc tính B1, B2, … Bm thì:






 A1 ,A2 ,...,Ak  B1 ,B2 ,...,Bm  r    A1 ,A2 ,...,Ak  r 
(4) Các phép chọn tương đương:





F1 F2  r   F2F2  r 
trong đó F1 và F2 là các điều kiện logic nào đó.
(5) Phép chiếu liên kết với phép chọn:



 A1 ,A2 ,...,Ak  F  r    F  A1 ,A2 ,...,Ak  r 



(6) Phép chọn liên kết với phép hợp, phép giao, phép trừ:
F  r  s   F  r   F  s 
F  r  s   F  r   F  s 
F  r  s   F  r   F  s 

(7) Phép chiếu liên kết với phép hợp, phép giao, phép trừ:
Bài giảng “Cơ sở dữ liệu nâng cao” |


21


X  r  s   X  r   X s 
X  r  s   X  r   X s 

X  r  s   X  r   X s 

(8) Phép chọn liên kết với phép kết nối:
F  r

s   F  r 

F  s 

(9) Tính kết nối qua phép nửa kết nối:
r

s  r  s

s  s  r 

r

(10) Tính nửa kết nối qua phép kết nối và phép chiếu:
r sr

 R S  s 

s r s


 R S  r 

với  R S  s  là chiếu của s trên tập thuộc tính chung của r và s, còn  R S  r  là chiếu của r trên
tập thuộc tính chung của r và s.
2.2. PHÂN ĐOẠN DỮ LIỆU TRONG CƠ SỞ DỮ LIỆU PHÂN TÁN
Có ba kiểu phân đoạn các quan hệ trong CSDL phân tán: phân đoạn ngang (gồm phân
đoạn ngang trực tiếp và phân đoạn ngang gián tiếp), phân đoạn dọc và phân đoạn hỗn hợp.
2.2.1. Sự phân đoạn ngang trực tiếp
Định nghĩa 2.1: Sự phân đoạn ngang trực tiếp là sự phân hoạch một quan hệ thành các
tập con các bộ; mỗi tập con là một quan hệ con được xác định bởi một phép chọn trên quan hệ
tổng thể.
Thí dụ 2.3: Giả sử có quan hệ R_VANG (Rượu vang)
R_VANG

MARV

V_NHO

N_HIEU

D_RUOU

GIA

V1

AA

1982


13.2

12

V2

BB

1987

12.9

7

V3

AA

1984

12.8

10

V4

CC

1983


12.3

14

- Giải thích:
MARV: Mã loại rượu vang.
V_NHO: Vùng nho (vùng nguyên liệu, chẳng hạn vang Bordeaux thì có vùng nho là
Bordeaux, vang Đà Lạt thì vùng nho là Đà Lạt…).
Bài giảng “Cơ sở dữ liệu nâng cao” |

22


N_HIEU: Niên hiệu (năm sản xuất).
D_RUOU: Độ rượu (nồng độ cồn của rượu vang).
GIA: Giá tiền 1 chai rượu (với đơn vị tiền tệ nào đó).
Ta có thể phân hoạch quan hệ R_VANG thành các đoạn con bằng phép phân đoạn
ngang trực tiếp nhờ các phép chọn sau:
R_VANG1 =N.HIEU<1984(R_VANG) và
R_VANG2 = =N.HIEU1984(R_VANG)
Kết quả nhận được là các đoạn R_VANG1 và R_VANG2, là các quan hệ con
như sau:
R_VANG1

R_VANG2

MARV

V_NHO


N_HIEU

D_RUOU

GIA

V1

AA

1982

13.2

12

V4

CC

1983

12.3

14

MARV

V_NHO


N_HIEU

D_RUOU

GIA

V2

BB

1987

12.9

7

V3

AA

1984

12.8

10

Sự phân đoạn của quan hệ R_VANG như trên sẽ là một phân tách không mất thông tin,
không trùng lặp và khôi phục lại được.
Thật vậy, vì R_VANG1  R_VANG2 =  nên các đoạn con của quan hệ R_VANG là

không trùng lặp.
Sự khôi phục có thể được thực hiện nhờ phép tốn:
R_VANG = R_VANG1  R_VANG2
Chú ý rằng việc lựa chọn các điều kiện của phép chọn là quan trọng, vì chẳng hạn nếu ta
chọn điều kiện trong phép chọn xác định R_VANG2 là ‘N_HIEU > 1983’ thì khi đó tính khơng
trùng lặp sẽ bị vi phạm vì bộ thứ tư của quan hệ R_VANG sẽ thuộc về cả hai đoạn.
Nhận xét: Sự phân đoạn ngang sẽ tạo thuận lợi trong khai thác CSDL, chẳng hạn nếu tìm
kiếm các loại rượu vang có niên hiệu 1982 thì chỉ cần tham chiếu đến đoạn R_VANG1, số các
thao tác tìm kiếm sẽ giảm đi rất nhiều.
2.2.2. Sự phân đoạn ngang gián tiếp
Định nghĩa 2.2: Sự phân đoạn ngang gián tiếp là sự phân hoạch một quan hệ thành các
tập con các bộ; mỗi tập con là một quan hệ con được xác định bởi một phép nửa kết nối của
quan hệ tổng thể với mỗi đoạn của một quan hệ khác.

Bài giảng “Cơ sở dữ liệu nâng cao” |

23


Thí dụ 2.4: Giả sử có quan hệ T_THU (Tiêu thụ):
T_THU

MAKH

MARV

NGAY

D_DIEM


S_LUONG

B1

V1

12/4/15

HANOI

8

B2

V2

25/9/15

HUE

2

B3

V3

12/4/15

HANOI


7

Giải thích:
- MAKH: mã khách hàng.
- MARV: mã loại rượu vang.
- NGAY: ngày/ tháng/ năm mua hàng.
- D_DIEM: địa điểm mua hàng.
- S_LUONG: số chai rượu được khách hàng mua.
Ta có thể phân hoạch quan hệ T_THU thành các đoạn con bằng phép phân đoạn ngang
gián tiếp nhờ các phép nửa kết nối với các đoạn của quan hệ R_VANG như sau:
T_THU1 = T_THU

R_VANG1

T_THU2 = T_THU

R_VANG2

R_VANG1, nhận được quan hệ con T_THU1:

Thực hiện nửa kết nối T_THU
T_THU

R_VANG1

MAKH

MARV

NGAY


D_DIEM

S_LUONG

B1

V1

12/4

HANOI

5

B2

V2

25/9

HUE

2

B3

V3

12/4


HANOI

7

MARV

V_NHO

N_HIEU

D_RUOU

GIA

V1

AA

1982

13.2

12

V4

CC

1983


12.3

14

Kết quả phép nửa kết nối T_THU
T_THU1

R_VANG1= T_THU1:

MAKH

MARV

NGAY

D_DIEM

S_LUONG

B1

V1

12/4/15

HANOI

5


Thực hiện phép nửa kết nối T_THU
T_THU

R_VANG2, nhận được quan hệ con T_THU2:

MAKH

MARV

NGAY

D_DIEM

S_LUONG

B1

V1

12/4

HANOI

5

B2

V2

25/9


HUE

2

B3

V3

12/4

HANOI

7

Bài giảng “Cơ sở dữ liệu nâng cao” |

24


×