1. Trang chủ
  2. » Luận Văn - Báo Cáo

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

11 295 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 11
Dung lượng 348,28 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

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

Trang 1

1

ĐẠ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

Trang 2

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.

Trang 3

3

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

Trang 4

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

Trang 5

5

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¹

Trang 6

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

Trang 7

7

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

Trang 8

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

Trang 9

9

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:

)}

( / {t ) (R 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

}

| ] [ {t ) (R 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)

Trang 10

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:

Trang 11

11

[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

http://www.cs.cornell.edu/courses/cs632/2001sp/

[10] Distributed Database by Farnoush Banaei – Kashani excerpt from

“Principles of Distributed Database System”, M.Tamer Özsu and Patrick

Valduriez, April 19,2006

http://infolab.usc.edu/csci585/Spring2006/Lectures/Session17-Query.pdf

[11] INGRES 15-823 Advanced Topics in Database Systems Performance 2,

2001 Anastassia

http://www.cs.cmu.edu/~natassa/courses/15-823/S01/lectures/3_Ingres.pdf

[12] Query Optimization http://dbserver.kaist.ac.kr/~parkcs/qo.html

PHANCO

NG

Ngày đăng: 16/11/2016, 21:03

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w