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

Cơ sở dữ liệu phân tán và tối ưu hoá vấn tin

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 (378.55 KB, 12 trang )

1

ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƢỜNG ĐẠI HỌC CÔNG NGHỆ

Nguyễn Quang Thảo

Cơ sở dữ liệu phân tán và tối ƣu hoá vấn
tin

Luận văn Thạc sĩ Công nghệ thông tin

Hà Nội - 2006


2

MỤC LỤC
LỜI NÓI ĐẦU ............................................................................................................5
Chƣơng 1 KHÁI QUÁT VỀ CƠ SỞ DỮ LIỆU PHÂN TÁN ....................................7
1.1 Cơ sở dữ liệu quan hệ........................................................................................7
1.2 Các dạng chuẩn. ................................................................................................ 8
1.3 Ngôn ngữ dữ liệu quan hệ [4]. ........................................................................10
1.4 Hệ cơ sở dữ liệu phân tán [4]. ......................... Error! Bookmark not defined.
1.4.1 Các khái niệm về CSDL PT ..................... Error! Bookmark not defined.
1.4.2 Các mục tiêu của hệ quản trị CSDL PT. .. Error! Bookmark not defined.
1.4.3 Kiến trúc hệ quản trị CSDL PT ................ Error! Bookmark not defined.
1.4.4 Phân mảnh, nhân bản và cấp phát dữ liệu Error! Bookmark not defined.
Chƣơng 2 MỘT SỐ NGUYÊN LÝ CHUNG CỦA TỐI ƢU HÓA TRUY VẤN
................................................................................... Error! Bookmark not defined.
2.1 Mục tiêu của bài toán xử lý truy vấn [4]. ........ Error! Bookmark not defined.


2.2 Độ phức tạp của các phép toán đại số quan hệ. ............ Error! Bookmark not
defined.
2.3 Mô tả bộ xử lý truy vấn. .................................. Error! Bookmark not defined.
2.4 Phân rã truy vấn và định vị dữ liệu. ................ Error! Bookmark not defined.
2.4.1 Phân rã truy vấn ....................................... Error! Bookmark not defined.
2.4.2 Định vị dữ liệu ......................................... Error! Bookmark not defined.
2.5 Tối ƣu hóa truy vấn phân tán. ......................... Error! Bookmark not defined.
2.5.1 Tối ƣu hóa truy vấn .................................. Error! Bookmark not defined.
2.5.2 Tối ƣu hóa truy vấn trong môi trƣờng tập trung .... Error! Bookmark not
defined.
2.5.3 Các thuật toán tối ƣu hóa truy vấn trong môi trƣờng phân tán ........ Error!
Bookmark not defined.
Chƣơng 3 MỘT SỐ ĐỀ XUẤT KHÁC VỀ XỬ LÝ PHÉP NỐI TRONG CÁC HỆ
CSDL ......................................................................... Error! Bookmark not defined.
3.1 Ứng dụng lý thuyết đồ thị trong tối ƣu hóa truy xuất CSDL để thực hiện phép
nối [9]. ................................................................... Error! Bookmark not defined.
3.1.1 Sử dụng chỉ mục để thực hiện phép nối ... Error! Bookmark not defined.
3.1.2 Mô hình đồ thị kết nối trang. .................... Error! Bookmark not defined.
3.1.3 Xác định cận trên của kích thƣớc bộ nhớ đệm. ...... Error! Bookmark not
defined.
3.1.4 Các Heuristic để làm giảm lƣợng bộ nhớ đệm cần thiết. ................. Error!
Bookmark not defined.
3.1.5 Lƣợc đồ bộ nhớ đệm dựa trên cơ sở lƣu trữ toàn bộ trang. ............. Error!
Bookmark not defined.
3.1.6 Xác định kích thƣớc bộ nhớ đệm để thực hiện một truy xuất cho mỗi
trang................................................................... Error! Bookmark not defined.
3.2 Một số phƣơng án tiếp cận xử lý nối phân tán khác. .... Error! Bookmark not
defined.



3

3.2.1 Sử dụng thông tin phụ thuộc vị trí (placement dependency) để thực hiện
nối [7]. ............................................................... Error! Bookmark not defined.
3.2.2 Thuật toán phân mảnh và nhân bản [7]. ... Error! Bookmark not defined.
3.2.3 Thuật toán qui hoạch băm [7] .................. Error! Bookmark not defined.
3.2.4 Xử lý truy vấn chuỗi [7] ........................... Error! Bookmark not defined.
3.2.5 Tăng tốc xử lý truy vấn nhờ AHYPERF [12] ........ Error! Bookmark not
defined.
KẾT LUẬN ............................................................... Error! Bookmark not defined.
TÀI LIỆU THAM KHẢO .........................................................................................11


4

DANH MỤC CÁC HÌNH VẼ
Hình 1. 1 CSDL trung tâm trên một mạng ................ Error! Bookmark not defined.
Hình 1. 2 Môi trƣờng của hệ CSDL PT .................... Error! Bookmark not defined.
Hình 1. 3 Kiến trúc tham chiếu CSDL PT ................ Error! Bookmark not defined.
Hình 1. 4 Các thành phần của một hệ quản trị CSDL PT ....... Error! Bookmark not
defined.
Hình 1. 5 Các kiểu phân mảnh .................................. Error! Bookmark not defined.
Hình 1. 6 Các quan hệ đã đƣợc chuẩn hóa ................ Error! Bookmark not defined.
Hình 1. 7 Phân mảnh ngang nguyên thủy cho quan hệ DUAN ..... Error! Bookmark
not defined.
Hình 1. 8 Phân mảng dọc cho quan hệ DUAN ......... Error! Bookmark not defined.
Hình 2. 1 Các chiến lƣợc thực thi ............................. Error! Bookmark not defined.
Hình 2. 2 Lƣợc đồ tổng quát xử lý truy vấn phân tán ............. Error! Bookmark not
defined.
Hình 2. 3 Các đồ thị quan hệ ..................................... Error! Bookmark not defined.

Hình 2. 4 Đồ thị truy vấn không liên thông .............. Error! Bookmark not defined.
Hình 2. 5 Thí dụ về cây truy vấn ............................... Error! Bookmark not defined.
Hình 2. 6 Cây truy vấn tƣơng đƣơng ........................ Error! Bookmark not defined.
Hình 2. 7 Cây truy vấn đã đƣợc viết lại .................... Error! Bookmark not defined.
Hình 2. 8 Cây truy vấn sau khi thay thế .................... Error! Bookmark not defined.
Hình 2. 9 Rút gọn phân mảnh ngang (với phép chọn) ............ Error! Bookmark not
defined.
Hình 2. 10 Rút gọn cho phân mảnh ngang (với phép nối) ...... Error! Bookmark not
defined.
Hình 2. 11 Rút gọn cho phân mảnh dọc .................... Error! Bookmark not defined.
Hình 2. 12 Rút gọn cho phân mảnh gián tiếp ............ Error! Bookmark not defined.
Hình 2. 13 Rút gọn cho phân mảnh hỗn hợp ............ Error! Bookmark not defined.
Hình 2. 14 Quá trình tối ƣu hóa truy vấn .................. Error! Bookmark not defined.
Hình 2. 15 Các cây nối tƣơng đƣơng ........................ Error! Bookmark not defined.
Hình 2. 16 Hai hình thái của các cây nối .................. Error! Bookmark not defined.
Hình 2. 17 Hành động của bộ tối ƣu hóa khi áp dụng chiến lƣợc đơn định ..... Error!
Bookmark not defined.
Hình 2. 18 Hành động của bộ tối ƣu hóa khi áp dụng chiến lƣợc ngẫu nhiên .. Error!
Bookmark not defined.
Hình 2. 19 Thí dụ về truyền dữ liệu cho một truy vấn ............ Error! Bookmark not
defined.
Hình 2. 20 Đồ thị nối của câu truy vấn q1 ................ Error! Bookmark not defined.
Hình 2. 21 Các thứ tự nối khác nhau ........................ Error! Bookmark not defined.
Hình 2. 22 Truyền các toán hạng trong phép toán hai ngôi .... Error! Bookmark not
defined.
Hình 2. 23 Đồ thị nối của câu truy vấn phân tán ...... Error! Bookmark not defined.
Hình 2. 24 Biến đổi câu truy vấn có chu trình .......... Error! Bookmark not defined.
Hình 2. 25 Truy vấn mẫu và số liệu thống kê ........... Error! Bookmark not defined.



5

Hình 3. 1 Quan hệ với các bộ tham gia nối ............... Error! Bookmark not defined.
Hình 3. 2 Hai dãy truy xuất trang dữ liệu của hình 3.1 ........... Error! Bookmark not
defined.
Hình 3. 3 Đồ thị kết nối trang của CSDL trong hình 3.1 ........ Error! Bookmark not
defined.
Hình 3. 4 Quan hệ giữa kích thƣớc tập trang và hệ số chọn ... Error! Bookmark not
defined.
Hình 3. 5 Một đồ thị kết nối trang tổng quát............. Error! Bookmark not defined.
Hình 3. 6 Giá trị lát cắt biểu diễn lƣợng bộ nhớ đệm cần thiết Error! Bookmark not
defined.
Hình 3. 7 Kích thƣớc thƣớc bộ nhớ đệm của heuristic 1 và 2 Error! Bookmark not
defined.
Hình 3. 8 Kích thƣớc trung bình của danh sách tìm về........... Error! Bookmark not
defined.
Hình 3. 9 Đồ thị kết nối trang và đồ thị không chu trình tƣơng ứng ................ Error!
Bookmark not defined.
Hình 3. 10 Đồ thị kết nối trang ................................. Error! Bookmark not defined.
Hình 3. 11 Đồ thị không chu trình thu đƣợc từ hình 3.10 ....... Error! Bookmark not
defined.
Hình 3. 12 Hai quan hệ đƣợc phân mảnh .................. Error! Bookmark not defined.
Hình 3. 13 Cấu hình trƣớc khi xử lý nối ................... Error! Bookmark not defined.
Hình 3. 14 Một ví dụ về phân mảnh trên các trạm.... Error! Bookmark not defined.
Hình 3. 15 Mô tả cách tạo bản sao cho bộ ................ Error! Bookmark not defined.
Hình 3. 16 Tính toán chi phí từ dƣới – lên ............... Error! Bookmark not defined.
Hình 3. 17 PERF của R và S ..................................... Error! Bookmark not defined.
Hình 3. 18 Mô tả quan hệ .......................................... Error! Bookmark not defined.



6

LỜI NÓI ĐẦU
Cơ sở dữ liệu (CSDL) là một trong những lĩnh vực đƣợc quan tâm nhiều trong công
nghệ thông tin. Ra đời từ những năm 60 đến nay, đã xuất hiện nhiều thế hệ quản trị
CSDL, và cũng đã có nhiều ứng dụng trong khoa học kỹ thuật cũng nhƣ trong các
ngành kinh tế khác.
Việc nghiên cứu CSDL đã và đang phát triển ngày càng phong phú, đa dạng. Từ
những năm 70, mô hình dữ liệu quan hệ do E.F. Codd đƣa ra đã tạo một cơ sở vững
chắc cho các vấn đề nghiên cứu về CSDL. Với ƣu điểm về tính cấu trúc, và khả
năng hình thức hóa phong phú, CSDL quan hệ dễ dàng mô phỏng các hệ thống
thông tin đa dạng trong thực tiễn, làm tăng khả năng xử lý, quản trị, khai thác dữ
liệu, thông tin. Trên thực tế nhiều hệ quản trị CSDL thƣơng mại, xây dựng trên mô
hình quan hệ, đã và đang đƣợc lƣu hành, sử dụng rộng rãi trên thị trƣờng
nhƣ:DBASE, ORACLE, MS SQL…
Cho đến nay đã có hàng loạt các vấn đề về CSDL đƣợc nghiên cứu, giải quyết. Với
mục đích tìm hiểu để nâng cao khả năng ứng dụng của của các hệ CSDL, luận văn
tập trung vào việc nghiên cứu vấn đề “tối ƣu hóa câu truy vấn trong CSDL phân
tán”.
CSDL phân tán nói riêng và các hệ phân tán nói chung là một lĩnh vực nghiên cứu
không mới, nhƣng gần đây cùng với sự phát triển nhanh chóng và mạnh mẽ của
công nghệ truyền thông, mạng Internet và đặc biệt là xu thế phát triển của thƣơng
mại điện tử, thì CSDL phân tán đã trở thành một lãnh vực thu hút nhiều sự quan tâm
của các nhà nghiên cứu cũng nhƣ các nhà sản xuất phần mềm.
Nhƣ ta đã biết, thành công ngày càng tăng của công nghệ CSDL quan hệ trong việc
xử lý dữ liệu một phần là do tính dễ dùng khả năng khai thác, tìm kiếm dữ liệu của
các ngôn ngữ phi thủ tục (nhƣ SQL), và chính nó đã cải thiện đáng kể công việc
phát triển ứng dụng và khả năng sáng tạo của ngƣời dùng. Các ngôn ngữ phi thủ tục
của CSDL quan hệ đã cho phép diễn tả câu truy vấn phức tạp một cách chính xác và
đơn giản. Đặc biệt là để có đƣợc câu trả lời cho một câu truy vấn thì ngƣời sử dụng



7

không cần phải xác định chính xác trình tự tiến hành các thao tác/phép toán trong
một câu truy vấn. Trình tự này đƣợc xử lý bởi Bộ xử lý truy vấn (query processor)
của hệ quản trị CSDL, và đó là bài toán xử lý truy vấn hay tối ƣu hóa truy vấn.
Tối ƣu hóa truy vấn là việc xác định một chiến lƣợc thực hiện truy vấn sao cho có
thể cực tiểu hóa đƣợc hàm chi phí. Đây là bài toán khó, đặc biệt là trong môi trƣờng
phân tán bài toán này thuộc lớp NP-Hard. Để tránh một chi phí tối ƣu hóa quá lớn
thì cách tiếp cận dùng các heuristic đƣợc sử dụng để có thể đạt đƣợc một chiến lƣợc
thực thi gần tối ƣu. Các yếu tố cần đƣợc xem xét khi giải bài toán này là: sự phân
tán dữ liệu, chi phí xử lý cục bộ, chi phí truyền…
Các yếu tố quyết định đến việc cực tiểu hàm chi phí có thể có nhiều, nhƣng những
yếu tố quan trọng nhất là trình tự thực hiện tối ƣu các phép nối, việc chọn các bản
sao, các mảnh phải truy xuất, cũng nhƣ việc chọn các trạm thực hiện và việc sử
dụng các giải thuật truy xuất dữ liệu cục bộ và phân tán.
Với những nét chính ở trên, nội dung của bản luận văn này trình bày các nguyên lý
chung, các kỹ thuật, thuật toán liên quan đến vấn đề tối ƣu hóa truy vấn và một số
phƣơng án đề xuất cho việc giải quyết bài toán tối ƣu này. Luận văn đƣợc chia làm
3 phần:
Chƣơng 1: KHÁI QUÁT VỀ CƠ SỞ DỮ LIỆU PHÂN TÁN - Chƣơng này trình
bày những kiến thức cơ bản của hệ CSDL phân tán, kiến trúc tham chiếu, các kiểu
phân mảnh, các mức trong suốt phân tán.
Chƣơng 2: MỘT SỐ NGUYÊN LÝ CHUNG CỦA TỐI ƢU HÓA CÂU TRUY
VẤN - Chƣơng này trình bày nguyên lý chung của tối ƣu hóa truy vấn trong CSDL
nói chung và trong CSDL phân tán nói riêng. Trong chƣơng này cũng có trình bày
một số thuật toán kinh điển để tối ƣu hóa câu truy vấn đƣợc sử dụng trong các hệ
CSDL quan hệ nhƣ INGRES, SYSTEM R…
Chƣơng 3: Chƣơng 3 MỘT SỐ ĐỀ XUẤT KHÁC VỀ XỬ LÝ PHÉP NỐI

TRONG CÁC HỆ CSDL - Chƣơng này trình bày một số các đề xuất cải tiến, các
kỹ thuật xử lý truy vấn dựa trên việc xử lý các nối và có nhận xét, đánh giá và so
sánh.


8

Chƣơng 1 KHÁI QUÁT VỀ CƠ SỞ DỮ LIỆU PHÂN TÁN
Chƣơng này trình bày một cách khái quát những kiến thức cơ sở về mô hình quan
hệ (lƣợc đồ quan hệ, ngôn ngữ dữ liệu quan hệ…), về hệ CSDL phân tán (các kiến
trúc, đặc trƣng, và các vấn đề của CSDL phân tán…)[4]. Chƣơng này cung cấp
những kiến thức cơ sở cho các chƣơng sau.

1.1 Cơ sở dữ liệu quan hệ
Cơ sở dữ liệu (CSDL) là một tập hợp dữ liệu có cấu trúc, liên quan đến các hiện
tƣợng thực tế mà chúng ta cố gắng mô hình hóa chúng. CSDL quan hệ là loại CSDL
đƣợc cấu trúc theo dạng bảng (table).
Về hình thức quan hệ (relation) là một tập con của tích Descartes của một hoặc
nhiều miền trị (domain) xác định trên tập các thuộc tính (attributes).
Một quan hệ r xác định trên tập thuộc tính   {A1 , A2 ,... An } , khi đó :

r  Dom( A1 )  Dom( A2 )  ...  Dom( An )
Mỗi hàng của quan hệ đƣợc gọi là một bộ (tuple), nhƣ vậy quan hệ r là một tập hợp
các n-bộ có dạng:

r  {( a1 , a2 ,..., an ) | ai  Dom( Ai ), với i  1,2,...n}
Trong đó Dom( Ai ) là miền giá trị của thuộc tính Ai .
Số thuộc tính của quan hệ gọi là bậc của quan hệ.
Quan hệ r có thể bị thay đổi theo thời gian do việc thực hiện các phép toán cập nhật
trên r (thêm vào, loại bỏ, sửa đổi các bộ).

Lƣợc đồ quan hệ (relation scheme). Một lƣợc đồ quan hệ R là một cặp có thứ tự

R  , F  , trong đó  là tập hữu hạn các thuộc tính của quan hệ, F là tập các
điều kiện giữa các thuộc tính (F còn gọi là tập các ràng buộc toàn vẹn).
Một ràng buộc trên tập các thuộc tính { A1 , A2 ,..., An } là một tính chất trên tập tất cả
các quan hệ xác định trên tập thuộc tính này.


9

Còn khi nói đến một lƣợc đồ quan hệ, trong đó chỉ tập trung vào khía cạnh mô tả
cấu trúc của một quan hệ mà không quan tâm đến bộ cụ thể, ta sẽ dùng ký hiệu:

R( A1 , A2 ,..., An )
Với R là tên của quan hệ, A1 , A2 ,..., An là danh sách tên các thuộc tính.
Thể hiện quan hệ. Với lƣợc đồ quan hệ R, theo thời gian, nhiều quan hệ có cấu
trúc và ràng buộc toàn vẹn đƣợc mô tả bởi lƣợc đồ này. Mỗi quan hệ nhƣ vậy còn
đƣợc gọi là một thể hiện của lƣợc đồ R. Lƣợc đồ quan hệ mô tả cấu trúc của quan
hệ. Tại mỗi thời điểm lƣợc đồ quan hệ sẽ có một thể hiện quan hệ cụ thể.
Khóa của một lƣợc đồ quan hệ là một tập con các thuộc tính không rỗng nhỏ nhất
sao cho giá trị của các thuộc tính trong khóa cho phép xác định duy nhất mỗi bộ của
quan hệ. Các thuộc tính có mặt trong ít nhất một khóa gọi là các thuộc tính khóa.
Một tập có chứa khóa đƣợc gọi là siêu khóa (supperkey). Ta có thể định nghĩa một
cách hình thức nhƣ sau:
Cho lƣợc đồ quan hệ R  , F  , K   , K đƣợc gọi là khóa của lƣợc đồ quan
hệ R nếu thỏa mãn 2 điều kiện sau:
i.

Bất kỳ hai bộ khác nhau t1 , t 2  r , r là một thể hiện của R, luôn có


t1[ K ]  t 2 [ K ] .
ii.

Không tồn tại K '  K thỏa mãn điều kiện trên.

Tập K sẽ là siêu khóa nếu chỉ thỏa mãn điều kiện (i).

1.2 Các dạng chuẩn.
Chuẩn hóa – là một quá trình từng bƣớc thay thế một tập quan hệ đã cho bằng các
tập quan hệ có cấu trúc ngày càng đơn giản và chuẩn tắc hơn [Tsichritzis and
Lochovsky, 1977]. Mục đích của chuẩn hóa là loại bỏ những bất thƣờng của một
quan hệ. Quan hệ đƣợc chuẩn hóa là quan hệ trong đó mỗi miền của một thuộc tính
chỉ chứa những giá trị nguyên tố (atomic), tức là không phân nhỏ đƣợc nữa và do đó
mỗi giá trị trong quan hệ cũng là nguyên tố.
Theo lý thuyết ban đầu Codd đƣa ra có 3 dạng chuẩn của quan hệ:


10

Về sau Boyce và Codd đã định nghĩa một phiên bản sửa đổi của dạng 3NF, thƣờng
đƣợc gọi là dạng chuẩn Boyce-Codd (BCNF). Tiếp sau đó là các dạng chuẩn 4NF
[Fagin, 1977] và chuẩn 5NF [Fagin, 1979]
Yêu cầu của chuẩn hóa là không làm mất mát thông tin khi thay một quan hệ bằng
các quan hệ khác. Nếu chúng ta có thể nối các quan hệ kết quả để tạo thành quan hệ
ban đầu, thì quá trình phân rã đó đƣợc gọi là phân rã không mất thông tin.
Một yêu cầu khác đối với quá trình chuẩn hóa là bảo toàn phụ thuộc (dependency
preservation). Phân rã đƣợc gọi là bảo toàn phụ thuộc nếu hợp của các phụ thuộc
hàm của các quan hệ đƣợc phân rã tƣơng đƣơng với bao đóng (closure) của các phụ
thuộc hàm trong quan hệ ban đầu.
Định nghĩa dạng chuẩn 1NF. Một lƣợc đồ quan hệ R đƣợc gọi là ở dạng chuẩn 1NF

nếu và chỉ nếu toàn bộ các miền có mặt trong R đều chỉ chứa các giá trị nguyên tố
[2].
Định nghĩa dạng chuẩn 2NF. Lƣợc đồ quan hệ R ở dạng chuẩn 2NF nếu nó ở dạng
chuẩn 1NF và nếu mỗi thuộc tính không khóa của R phụ thuộc hàm đầy đủ vào mỗi
một khóa [2].
Định nghĩa dạng chuẩn 3NF. Lƣợc đồ quan hệ R ở dạng chuẩn 3NF nếu nó ở dạng
chuẩn 1NF và nếu mỗi thuộc tính không khóa của R là không phụ thuộc hàm bắc
cầu vào mỗi một khóa [2].
Định nghĩa dạng chuẩn BCNF. Lƣợc đồ quan hệ với tập các phụ thuộc hàm đƣợc
gọi là ở dạng chuẩn BCNF nếu X  A thỏa trên R, A X thì X là một siêu khóa
của R [2].


11

Định nghĩa phụ thuộc hàm đầy đủ. Cho lƣợc đồ quan hệ R với tập thuộc tính

  {A1 , A2 ,... An } , X và Y là hai tập thuộc tính khác nhau X   và Y   . Y là
phụ thuộc hàm đầy đủ vào X nếu Y là phụ thuộc hàm vào X nhƣng không phụ thuộc
vào bất kỳ một tập con thực sự nào của X [2].

1.3 Ngôn ngữ dữ liệu quan hệ [4].
Các ngôn ngữ thao tác dữ liệu (DML) đƣợc phát triển cho mô hình quan hệ (đƣợc
gọi là ngôn ngữ truy vấn – query language) đƣợc chia thành hai nhóm cơ bản.: các
ngôn ngữ dựa trên đại số quan hệ (relational algebra) và các ngôn ngữ dựa trên
phép tính quan hệ. Khác biệt giữa chúng là cách thức ngƣời sử dụng đƣa ra câu truy
vấn. Đại số quan hệ thuộc loại thủ tục (procedural), trong đó ngƣời dùng cần phải
đặc tả, nhờ một số toán tử, xem làm thế nào để thu đƣợc kết quả. Ngƣợc lại phép
tính quan hệ thuộc loại phi thủ tục (nonpropcedural), ngƣời sử dụng chỉ cần đặc tả
các mối liên hệ cần phải bảo đảm trong kết quả. Cả hai đều đƣợc Codd đƣa ra và

đều tƣơng đƣơng về khả năng diễn tả.
Đại số quan hệ đƣợc sử dụng nhiều hơn trong các nghiên cứu về CSDL phân tán vì
nó ở mức thấp hơn và tƣơng ứng trực tiếp hơn với chƣơng trình đƣợc trao đổi trên
mạng. Về cơ bản thì phép tính quan hệ có thể đƣợc dịch thành đại số quan hệ.
Đại số quan hệ là cơ sở quan trọng trong việc tối ƣu hóa truy vấn, sau đây sẽ trình
bày một số các phép toán trên các quan hệ.
Đại số quan hệ có một tập hợp các phép toán trên các quan hệ. Mỗi toán tử nhận
một hoặc hai quan hệ làm toán hạng và cho ra một quan hệ mới (quan hệ kết quả),
đến lƣợt nó lại có thể sử dụng làm toán hạng cho một toán tử khác. Các phép toán
này cho phép vấn tin và cập nhật CSDL quan hệ.
Có năm phép toán cơ bản và năm phép khác có thể đƣợc định nghĩa theo năm phép
toán cơ bản này. Đó là các phép chọn (selection), chiếu (projection), hợp (union),
trừ (set difference), và tích Descartes. Hai phép toán đầu tiên thuộc loại một ngôi,
ba phép toán sau thuộc loại hai ngôi. Các phép toán bổ sung có thể là: giao
(intersection), nối  (  -join), nối tự nhiên (natural join), nối nửa (semi join) và
phép chia (division) [4]. Trong đó toán hạng của phép toán hai ngôi phải khả hợp


12

TÀI LIỆU THAM KHẢO
[1] Nguyễn Bá Tƣờng (2001), CƠ SỞ DỮ LIỆU Lý thuyết và thực hành, NXB Khoa
học và kỹ thuật.
[2] Lê Tiến Vƣơng (1996), Nhập môn CƠ SỞ DỮ LIỆU QUAN HỆ, NXB Khoa học
và kỹ thuật.
[3] Hồ Thuần, Hồ Cẩm Hà (2004, 2005), Các hệ CƠ SỞ DỮ LIỆU lý thuyết và
thực hành, tập 1,2, NXB Giáo dục
[4] Jeffrey D. Ulman, biên dịch Trần Đức Quang (2002), Nguyên lý các hệ CƠ SỞ
DỮ LIỆU và CƠ SỞ TRI THỨC, tập I và II, NXB Thống kê.
[5]Kenneth H. Rosen, ngƣời dịch: Phạm Văn Thiều, Đặng Hữu Thịnh (1998), Toán

rời rạc Ứng dụng trong tin học, NXB Khoa học và kỹ thuật.
[6] M. Tamer Ozsu, Patrick Valduriez, biên dịch Trần Đức Quang (1999), Nguyên
lý các hệ CƠ SỞ DỮ LIỆU phân tán, tập I, NXB Thống kê.
[7] Clement T.Yu, Weiyi Meng (1998), Principles of Database Query Processing
for Advanced Applications, Morgan Kaufmann Publishers, Inc.
[8] Ramez Elmasri, Shamkant Navathe (2002), Fundamentals of Database Systems,
3rd Edition.
[9] Sakti Pramanik, David Ittiner (1985), Use of Graph-Theoretic Models for
Optimal Relational Database Accesses to Perform Join, pages 57-76 , ACM
Transaction on Database Systems.
[10] Zhe Li, Kenneth A. Ross (1994), Better Semijoin Using Tuple Bit-Vectors,
Technical Report No. CUCS-010-94.
[11] Zhe Li, Kenneth A. Ross (1995), PERF Join: An Alternative To Two-way
Semijoin And Bloomjoin, Department of Computer Science, Columbia University,
New York.
[12] Ramzi A. Haraty, Roula C.Fany (2001), Query Acceleration in Distributed
Database Systems, Colombian Journal of Computation. Volume 2, Number 1.



×