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

Tối ưu truy vấn cơ sở dữ liệu quan hệ và cơ sở dữ liệu phân tán bằng phương pháp heuristic

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 (348.28 KB, 11 trang )

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

Đinh Thị Lan Phƣơng

TỐI ƢU TRUY VẤN CƠ SỞ DỮ LIỆU QUAN HỆ
VÀ CƠ SỞ DỮ LIỆU PHÂN TÁN
BẰNG PHƢƠNG PHÁP HEURISTIC

LUẬN VĂN THẠC SĨ

Hà Nội - 2007
1


MỤC LỤC
LỜI CẢM ƠN ..................................................................................................................1
MỤC LỤC ....................................................................................................................... 2
CÁC THUẬT NGỮ VIẾT TẮT.................................... Error! Bookmark not defined.
MỞ ĐẦU ......................................................................................................................... 4
Chƣơng 1. TỔNG QUAN VỀ CƠ SỞ DỮ LIỆU ........................................................... 6
1.1 CƠ SỞ DỮ LIỆU QUAN HỆ ...............................................................................6
1.1.1 Khái niệm .......................................................................................................6
1.1.2 Tiêu chuẩn của một cơ sở dữ liệu. ..................................................................6
1.2 HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU ........................................................................7
1.2.1 Hệ quản trị cơ sở dữ liệu ................................................................................7
1.2.2 Các chức năng của hệ quản trị cơ sở dữ liệu ..................................................7
1.2.3 Cách thức truy nhập CSDL ...........................................................................7
1.3 MÔ HÌNH DỮ LIỆU QUAN HỆ ..........................................................................8
1.3.2 Các phép toán trên quan hệ ............................................................................9


1.3.3 Các dạng chuẩn của mô hình quan hệ .......................................................... 10
1.4 HỆ CƠ SỞ DỮ LIỆU PHÂN TÁN .................... Error! Bookmark not defined.
1.4.1 Các khái niệm về cơ sở dữ liệu phân tán ...... Error! Bookmark not defined.
1.4.2 Các mục tiêu của hệ quản trị cơ sở dữ liệu phân tán. . Error! Bookmark not
defined.
1.4.3 Kiến trúc hệ quản trị cơ sở dữ liệu phân tán. Error! Bookmark not defined.
1.4.4 Phân đoạn, nhân bản và cấp phát dữ liệu ..... Error! Bookmark not defined.
1.5 KẾT LUẬN CHƢƠNG 1 ................................... Error! Bookmark not defined.
Chƣơng 2. TỔNG QUAN VỀ TỐI ƢU HOÁ TRUY VẤN ....... Error! Bookmark not
defined.
2.1 BÀI TOÁN TỐI ƢU HÓA TRUY VẤN ............ Error! Bookmark not defined.
2.2 BỘ TỐI ƢU TRUY VẤN .................................. Error! Bookmark not defined.
2.2.1. Không gian tìm kiếm ................................... Error! Bookmark not defined.
2.2.2 Chiến lƣợc tìm kiếm ..................................... Error! Bookmark not defined.
2.2.3 Mô hình chi phí ............................................ Error! Bookmark not defined.
2.3 KẾT LUẬN CHƢƠNG 2 .................................... Error! Bookmark not defined.
Chƣơng 3. MỘT SỐ PHƢƠNG PHÁP TỐI ƢU TRUY VẤN ... Error! Bookmark not
defined.
3.1 MỘT SỐ PHƢƠNG PHÁP TỐI ƢU HOÁ TRUY VẤN TRONG MÔI
TRƢỜNG TẬP TRUNG ........................................... Error! Bookmark not defined.
3.1.1 Thuật toán INGRES ..................................... Error! Bookmark not defined.
3.1.2 Thuật toán System R .................................... Error! Bookmark not defined.
2


3.2 MỘT SỐ PHƢƠNG PHÁP TỐI ƢU HOÁ TRUY VẤN TRONG MÔI
TRƢỜNG PHÂN TÁN ............................................. Error! Bookmark not defined.
3.2.1 Thuật toán INGRES phân tán ...................... Error! Bookmark not defined.
3.2.2 Thuật toán System R* ................................. Error! Bookmark not defined.
3.2.3 Thuật toán SDD-1......................................... Error! Bookmark not defined.

3.3 KẾT LUẬN CHƢƠNG 3 .................................... Error! Bookmark not defined.
Chƣơng 4. TỐI ƢU TRUY VẤN BẰNG PHƢƠNG PHÁP HEURISTIC .......... Error!
Bookmark not defined.
4.1 CÁC CHIẾN LƢỢC TỐI ƢU TỔNG QUÁT.... Error! Bookmark not defined.
4.2 CÁC PHÉP BIẾN ĐỔI ĐẠI SỐ QUAN HỆ ..... Error! Bookmark not defined.
4.2.1 Biểu thức quan hệ ......................................... Error! Bookmark not defined.
4.2.2 Biến đổi tƣơng đƣơng của đại số quan hệ .... Error! Bookmark not defined.
4.3 THUẬT TOÁN HEURISTIC ............................. Error! Bookmark not defined.
4.4 VÍ DỤ TỐI ƢU HOÁ CÂU HỎI THEO HEURISTIC .... Error! Bookmark not
defined.
4.5 KẾT LUẬN CHƢƠNG 4 .................................... Error! Bookmark not defined.
KẾT LUẬN ................................................................... Error! Bookmark not defined.
TÀI LIỆU THAM KHẢO ............................................................................................. 10

3


M U
1. Đặt vấn đề
Trong thời đại của nền kinh tế tri thức mà chúng ta đang sống, mọi hoạt
động muốn đạt hiệu quả cao thì nhất thiết phải có đ-ợc thông tin, tri thức cần
thiết một cách nhanh chóng và chính xác. Thông tin có thể có đ-ợc ở mọi nơi, v
CSDL là một trong những nguồn cung cấp thông tin.
Vấn đề đặt ra là khối l-ợng thông tin l-u trữ lớn song đòi hỏi việc xử lý
thông tin phải nhanh chóng và hiệu quả. Để lấy đ-ợc thông tin cần thiết ta cần
thực hiện hàng loạt các thao tác trên CSDL thông qua các câu truy vấn. Từ câu
truy vấn ban đầu có thể thực hiện theo các ph-ơng pháp khác nhau để có kết quả
song cần phải hạ thấp chi phí thực hiện truy vấn gọi là tối -u hoá truy vấn. Tuy
nhiên để có đ-ợc ph-ơng án tối -u nhất thì có thể chi phí cho quá trình tối -u lại
rất cao.

Xuất phát từ những đặc điểm chung và tính thời sự nêu trên, tôi đã chọn đề
tài nghiên cứu về tối -u hoá truy vấn và đi sâu vào tìm hiểu về ph-ơng pháp tối
-u truy vấn bằng Heuristic mong đ-ợc đóng góp một phần nhỏ bé trong việc
nghiên cứu về các ph-ơng pháp tối -u hoá truy vấn dữ liệu để khai thác thông tin
một cách có hiệu quả và nhanh chóng, trợ giúp cho những ng-ời sử dụng dữ liệu
thực hiện tốt công việc của mình.
2. Mục tiêu của luận văn
Mục tiêu của đề tài là nghiên cứu các ph-ơng pháp tối -u hoá truy vấn, đặc
biệt tập trung nghiên cứu ph-ơng pháp tối -u hoá bằng Heuristic. Luận văn bao
gồm các vấn đề chính sau đây:
- Nghiên cứu về cơ sở dữ liệu quan hệ và cơ sở dữ liệu phân tán.
- Tìm hiểu bài toán tối -u hoá truy vấn.
- Tìm hiểu một số ph-ơng pháp tối -u hoá trong môi tr-ờng tập trung và
phân tán.
- Nghiên cứu ph-ơng pháp tối -u hoá truy vấn bằng Heuristic
3. Bố cục của luận văn

4


Luận văn gồm 4 ch-ơng:
Ch-ơng 1: Tổng quan về cơ sở dữ liệu quan hệ và cơ sở dữ liệu phân tán.
Ch-ơng 2: Bài toán tối -u hoá truy vấn.
Ch-ơng 3: Một số ph-ơng pháp tối -u hoá truy vấn trong môi tr-ờng tập
trung và phân tán
Ch-ơng4: Ph-ơng pháp tối -u hoá truy vấn bằng Heuristic, ví dụ minh hoạ.

5



Chƣơng 1. TỔNG QUAN VỀ CƠ SỞ DỮ LIỆU

1.1 CƠ SỞ DỮ LIỆU QUAN HỆ

1.1.1 Khái niệm
Đƣợc phát triển từ những năm 60, cho đến nay các hệ cơ sở dữ liệu (CSDL)
đƣợc tập trung nghiên cứu và phát triển ứng dụng rất mạnh. Khái niệm CSDL
cũng đã đƣợc định nghĩa dƣới nhiều góc độ khác nhau, ta có thể hiểu CSDL theo
khái niệm là một tập hợp dữ liệu của một tổ chức, xí nghiệp,… đƣợc lƣu trữ
trong máy tính, đƣợc nhiều ngƣời sử dụng và cách tổ chức của nó đƣợc chi phối
bằng một mô hình dữ liệu[5].
Một ngân hàng dữ liệu thƣờng là tập hợp các thông tin lƣu trữ trong máy
tính có liên quan đến một lĩnh vực khoa học, kinh tế hoặc văn hoá, thể thao theo
một cách đầy đủ nhất có thể có. Dữ liệu trong ngân hàng thực chất chỉ là một
kho dữ liệu trong khi đó một CSDL của một tổ chức hàm chứa cả các thông tin
liên quan đến việc bảo mật, cấu trúc lƣu trữ thông tin và sự chia sẻ tài nguyên.

1.1.2 Tiêu chuẩn của một cơ sở dữ liệu.
Một CSDL cần thoả mãn các tiêu chuẩn sau[1, 4, 6]:
1. Biểu diễn tốt thế giới thực: cung cấp một hình ảnh trung thực của thực tại.
Một CSDL trung thực cho phép ngƣời dùng có các thông tin thoả mãn việc sử
dụng và cập nhật.
2. Không dư thừa thông tin: mỗi thông tin đảm bảo không bị trùng lặp, chỉ có
mặt một lần trong CSDL do đó sự lựa chọn dữ liệu là duy nhất.
3. Tính độc lập của các chương trình đối với dữ liệu: tƣơng ứng với sự cần thiết
làm giảm giá thành bảo trì các chƣơng trình. Những thay đổi về cấu trúc của hệ
CSDL là do sự thay đổi của thế giới thực chứ không phải do một ứng dụng cụ
thể và nó cho phép nhiều ứng dụng cùng chia sẻ một bộ dữ liệu.
4. Tính an toàn và bí mật của dữ liệu: CSDL đƣợc đảm bảo chỉ những ngƣời có
trách nhiệm mới có thể truy cập đến các thông tin và sử dụng chúng. Ngoài ra

cũng cần có sự đảm bảo an toàn cho các vật mang thông tin chống lại mọi sự
huỷ hoại.

6


5. Hiệu suất ứng dụng: Mặc dù chia sẻ cùng một nguồn chung, các ứng dụng
phải có hiệu suất trong CSDL giống nhau nhƣ trong sử dụng thông tin truyền
thông.
Các tiêu chuẩn trên là thiết yếu nhất cho một CSDL hoàn thiện và tối ƣu, tuy
nhiên các tiêu chuẩn khác nhau sẽ đƣợc ƣu tiên ít nhiều khác nhau tuỳ theo từng
mục đích và ứng dụng cụ thể.
1.2 HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU

1.2.1 Hệ quản trị cơ sở dữ liệu
Hệ quản trị cơ sở dữ liệu (QTCSDL) là hệ thống phần mềm đặc biệt cho
phép khai thác một cách hợp lý các CSDL. Một hệ QTCSDL bao gồm các phần
mềm cho phép mô tả, lƣu trữ, thao tác, xử lý các tập hợp dữ liệu. Đồng thời, hệ
QTCSDL đảm bảo sự an toàn và bí mật của các dữ liệu trong một môi trƣờng có
nhiều ngƣời sử dụng với những yêu cầu khác nhau có thể có những tác động
truy nhập đồng thời lên dữ liệu.

1.2.2 Các chức năng của hệ quản trị cơ sở dữ liệu
Một hệ QTCSDL phải đảm bảo đƣợc các chức năng tối thiểu sau:
- Mô tả dữ liệu.
- Tìm kiếm dữ liệu đã đƣợc lƣu trữ.
- Cập nhật dữ liệu (thêm, bớt, sửa đổi,…).
- Chuyển hoá dữ liệu giữa các mức độ lƣợc đồ.
- Điều khiển tính an toàn và toàn vẹn dữ liệu.
- Quản lý dữ liệu ở mức thấp (mức các giao tác xử lý dữ liệu).


1.2.3 Cách thức truy nhập CSDL
Truy nhập CSDL là phƣơng pháp khai thác tệp do chƣơng trình ứng dụng sử
dụng để chọn những bản ghi. Trong hệ CSDL có các loại truy nhập sau:
1. Tổ chức truy nhập tuần tự: là phƣơng pháp đọc tuần tự các bản ghi của
tệp, từ đầu tệp cho đến bản ghi cần tìm.Trong kiểu tổ chức này các bản
ghi đƣợc lƣu trữ lần lƣợt, muốn đọc bản ghi thứ n, ta phải lần lƣợt đi qua
(n-1) bản ghi trƣớc đó. Tuy nhiên ta không cần đọc toàn bộ nội dung các

7


bản ghi mà chỉ cần đọc một phần thông tin tối thiểu đủ để xác định xem
đó có phải là bản ghi cần hay không.
2. Tổ chức truy nhập trực tiếp: Cho phép truy nhập trực tiếp đến các đơn vị
thông tin cần tìm mà không cần đọc lần lƣợt từ đầu. Để truy nhập phải
tuân theo phƣơng pháp đã xác định khi tổ chức lƣu trữ. Có hai loại tổ
chức truy nhập là tệp trực tiếp và tệp có chỉ số. Ta phải sử dụng một phần
thông tin của bản ghi làm khoá của bản ghi đó. Qua đặc trƣng của khoá
cho phép xác định chính xác bản ghi cần tìm.
3. Truy nhập ngẫu nhiên: Kiểu tổ chức này lƣu trữ các bản ghi tại địa chỉ
theo một khoá nào đó. Ta thƣờng dùng một thuật toán, một hàm ngẫu
nhiên để tính toán ra địa chỉ của bản ghi. Hàm địa chỉ đƣợc xây dựng theo
nhiều phƣơng pháp khác nhau nhƣ phƣơng pháp tính địa chỉ tuyến tính,
phƣơng pháp dùng hàm mã cắt v.v…
1.3 MÔ HÌNH DỮ LIỆU QUAN HỆ
Mô hình dữ liệu là tập hợp các khái niệm dùng để biểu diễn các cấu trúc của
CSDL. Cấu trúc của một CSDL bao gồm các kiểu dữ liệu, các mối liên kết và
các ràng buộc phải tuân theo trên các dữ liệu. Nhiều mô hình còn có thêm tập
hợp các phép toán cơ bản để đặc tả các thao tác trên CSDL.

Mô hình quan hệ đƣợc Ted Codd đƣa ra vào những năm 1970 và đƣợc sử
dụng rất rộng rãi bởi tính đơn giản và cơ sở toán học của nó.
1.3.1 Khái niệm về quan hệ
Một lƣợc đồ quan hệ R, kí hiệu là R(A1, A2,…,An) đƣợc tạo nên từ một
tên quan hệ R, một danh sách các thuộc tính A1, A2,…,An. Số thuộc tính của
quan hệ gọi là bậc của quan hệ.
Một quan hệ r tƣơng ứng với lƣợc đồ R là :
r(R )  D1 x D2 x…x Dn trong đó Di với (1  i  n) là miền giá trị
của thuộc tính Ai.
Một quan hệ đƣợc biểu diễn nhƣ một bảng, trong đó các giá trị của một
thuộc tính đƣợc ghi trong một cột và một bộ giá trị của quan hệ đƣợc ghi trên
một dòng.

8


1.3.2 Các phép toán trên quan hệ
Có năm phép toán cơ bản và năm phép toán khác có thể đƣợc định nghĩa
theo năm phép toán cơ bản này. Đó là phép chọn, phép chiếu, phép hợp, phép
trừ và phép tích Descartes. Các phép toán bổ sung có thể là: giao, nối, nối tự
nhiên, nối nửa và phép chia.
Phép chọn trên quan hệ R với vị từ p là tập tất cả các bộ t của R thoả p:
 p ( R)  {t  R / p(t )}

Phép chiếu của quan hệ R trên tập các thuộc tính X của quan hệ R, là một
quan hệ trên tập thuộc tính X, đƣợc xây dựng bằng cách loại bỏ trong quan hệ R
những thuộc tính không nằm trong X.
 X ( R)  {t[ X ] | t  R}

Phép hợp. Hợp của hai quan hệ R và S, là tập tất cả các bộ thuộc R hoặc

thuộc S hoặc thuộc cả hai. Các bộ trùng lặp bị loại bỏ.
R  S= {t| tR hoặc t  S }
Phép trừ: Hiệu của hai quan hệ R và S là tập tất cả các bộ của R không
thuộc S
R-S = {t| tR và t S }
Tích Descartes. Tích Descartes của hai quan hệ R bậc n và S bậc m có kết
quả là tập các (n+m) bộ sao cho mỗi bộ này có n thành phần đầu thuộc R và m
thành phần sau thuộc S.
R x S = {t | t có dạng (a1, a2,…,an, b1, b2,…, bm ) trong đó (a1, a2,…,an)  R
và (b1,b2,…,bm)S}
Phép giao: Giao của 2 quan hệ R và S, là tập tất cả các bộ t thuộc cả hai
quan hệ R và S.
R S = {t | t R, t S } = R - (R-S)
Nối - . Phép nối là một dẫn xuất của tích Descartes. Có nhiều kiểu nối, và
kiểu nối tổng quát là nối  hay đơn giản là nối. Với F là vị từ nối:
R  F S = F (R x S)

9


Nối tự nhiên. Giả sử hai quan hệ R và S có tập thuộc tính chung là X. Phép
nối tự nhiên của hai quan hệ R và S là quan hệ trên tập thuộc tính của R và tập Y
các thuộc tính của S không nằm trong X
R  S = {(u,v)|uR  v = s[Y] sS s[X] = u[X]}
Nối nửa của hai quan hệ R và S theo vị từ p cho kết quả là:
R < p S =X (R  P S ) với X là tập các thuộc tính của R
Phép chia. Chia quan hệ R bậc n cho quan hệ S bậc m (trong đó n>m và m
 0) là tập các bộ t trên bộ n-m thuộc tính sao cho với mọi bộ uS thì (t,u) R
RS = A’(R)-A’((A’(R)xS)-R), với A’ là tập thuộc tính của R không thuộc S.


1.3.3 Các dạng chuẩn của mô hình quan hệ
Các quan hệ dùng trên mỗi hệ QTCSDL phải thoả mãn điều kiện[4]:
- Hạn chế tối thiểu sự dƣ thừa thông tin.
- Cho phép các cập nhật nhanh nhất.
- Tránh những sự rời rạc liên quan đến quá trình cập nhật.
Chuẩn hoá - là một quá trình từng bƣớc thay thế một tập quan hệ đã cho
bằng tập các quan hệ có cấu trúc ngày càng đơn giản và chuẩn tắc hơn. Mục
đích của chuẩn hoá là loại bỏ những bất thƣờng của một quan hệ. Quan hệ đƣợc
chuẩn hoá là quan hệ trong đó mỗi miền giá trị của một thuộc tính chỉ chứa
những giá trị nguyên tố tức là không phân nhỏ ra đƣợ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ệ. Về sau
Boyce và Codd đã định nghĩa một phiên bản sửa đổi của dạng chuẩn ba, thƣờng
gọi là dạng chuẩn Boyce-Codd (BCNF). Tiếp sau đó là các dạng chuẩn bốn
(4NF) và chuẩn năm (5 NF) đƣợc đề nghị dựa trên các phụ thuộc hàm đa trị và
các phụ thuộc hàm nối.

TÀI LIỆU THAM KHẢO
Tài liệu tiếng Việt:

10


[1]. Nguyễn Kim Anh, Nguyên lý các hệ cơ sở dữ liệu, NXB ĐH Quốc Gia Hà
Nội, 2004
[2]. Trần Tiến Dũng, Giáo trình lý thuyết và thực hành Oracle, NXB Giáo dục,
2000
[3]. Đỗ Phúc, Bài giảng cơ sở dữ liệu nâng cao (Dành cho lớp cao học CNTT),
2004
[4]. Đỗ Phúc - Nguyễn Tăng Tỵ, Giáo trình cơ sở dữ liệu, NXB Đại học QG TP

Hồ Chí Minh, 2006
[5]. 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ê.
[6]. Nguyễn Bá Tƣờng, Nhập môn cơ sở dữ liệu phân tán, NXB Khoa học và kỹ
thuật, 2005
[7]. Phạm Thế Quế, Giáo trình CSDL, Lý thuyết và thực hành, NXB Bƣu Điện,
2004
[8].Tìm hiểu một số vấn đề về tối ưu hoá truy vấn, luận văn thạc sỹ, Nguyễn Thị
Vân Anh
Tài liệu tiếng Anh:
[9]. Advanced Database Systems CS632 Spring 2001
/>[10]. Distributed Database by Farnoush Banaei – Kashani excerpt from
“Principles of Distributed Database System”, M.Tamer Özsu and Patrick
Valduriez, April 19,2006
/>[11]. INGRES. 15-823. Advanced Topics in Database Systems Performance. 2,
2001 Anastassia
/>[12]. Query Optimization />
11



×