Luận Văn: Tối Ưu Truy Vấn CSDL Quan Hệ & Phân Tán Bằng Heuristic

Tối ưu truy vấn CSDL quan hệ và phân tán giúp tăng tốc độ, hiệu quả. Tìm hiểu các kỹ thuật, chiến lược cải thiện hiệu suất truy vấn dữ liệu.

Chuyên ngành

Cơ sở dữ liệu

Người đăng

Ẩn danh

Thể loại

Luận văn thạc sĩ

2007

81
2
0

Phí lưu trữ

30 Point

Mục lục chi tiết

LỜI CẢM ƠN

CÁC THUẬT NGỮ VIẾT TẮT

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

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

1.2. Tiêu chuẩn của một cơ sở dữ liệu

1.3. HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU

1.4. Hệ quản trị cơ sở dữ liệu

1.5. Các chức năng của hệ quản trị cơ sở dữ liệu

1.6. Cách thức truy nhập CSDL

1.7. MÔ HÌNH DỮ LIỆU QUAN HỆ

1.8. Các phép toán trên quan hệ

1.9. Các dạng chuẩn của mô hình quan hệ

1.10. HỆ CƠ SỞ DỮ LIỆU PHÂN TÁN

1.11. Các khái niệm về cơ sở dữ liệu phân tán

1.12. Các mục tiêu của hệ quản trị cơ sở dữ liệu phân tán

1.13. Kiến trúc hệ quản trị cơ sở dữ liệu phân tán

1.14. Phân đoạn, nhân bản và cấp phát dữ liệu

KẾT LUẬN CHƢƠNG 1

2. TỔNG QUAN VỀ TỐI ƢU HOÁ TRUY VẤN

2.1. BÀI TOÁN TỐI ƢU HÓA TRUY VẤN

2.2. BỘ TỐI ƢU TRUY VẤN

2.2.1. Không gian tìm kiếm

2.2.2. Chiến lƣợc tìm kiếm

2.2.3. Mô hình chi phí

KẾT LUẬN CHƢƠNG 2

3. MỘT SỐ PHƢƠNG PHÁP TỐI ƢU TRUY VẤN

3.1. MỘT SỐ PHƢƠNG PHÁP TỐI ƢU HOÁ TRUY VẤN TRONG MÔI TRƢỜNG TẬP TRUNG

3.1.1. Thuật toán INGRES

3.1.2. Thuật toán System R

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

3.2.1. Thuật toán INGRES phân tán

3.2.2. Thuật toán System R*

3.2.3. Thuật toán SDD-1

KẾT LUẬN CHƢƠNG 3

4. TỐI ƢU TRUY VẤN BẰNG PHƢƠNG PHÁP HEURISTIC

4.1. CÁC CHIẾN LƢỢC TỐI ƢU TỔNG QUÁT

4.2. CÁC PHÉP BIẾN ĐỔI ĐẠI SỐ QUAN HỆ

4.2.1. Biểu thức quan hệ

4.2.2. Biến đổi tƣơng đƣơng của đại số quan hệ

4.3. THUẬT TOÁN HEURISTIC

4.4. VÍ DỤ TỐI ƢU HOÁ CÂU HỎI THEO HEURISTIC

KẾT LUẬN CHƢƠNG 4

TÀI LIỆU THAM KHẢO

MỞ ĐẦU

1.1. Đặt vấn đề

1.2. Mục tiêu của luận văn

1.3. Bố cục của luận văn

Tóm tắt

I. Giới thiệu Tối ưu Truy Vấn CSDL Quan Hệ Phân Tán

Trong kỷ nguyên kinh tế tri thức, việc truy cập thông tin nhanh chóng và chính xác là yếu tố then chốt. Cơ sở dữ liệu (CSDL) đóng vai trò là nguồn cung cấp thông tin quan trọng. Tuy nhiên, với khối lượng dữ liệu lớn, yêu cầu đặt ra là phải xử lý thông tin một cách hiệu quả. Tối ưu truy vấn là quá trình giảm thiểu chi phí thực hiện truy vấn, giúp lấy thông tin cần thiết một cách nhanh chóng. Tuy nhiên, việc tìm phương án tối ưu nhất có thể tốn kém. Luận văn này đi sâu vào tối ưu truy vấn CSDL quan hệ và phân tán, đặc biệt là phương pháp Heuristic. Mục tiêu là đóng góp vào việc nghiên cứu các phương pháp tối ưu hóa, giúp khai thác thông tin hiệu quả và nhanh chóng. Theo Đinh Thị Lan Phương trong luận văn Thạc Sĩ năm 2007, "Để 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." Tối ưu hóa hiệu suất CSDL là việc làm cần thiết để đáp ứng nhu cầu ngày càng cao về tốc độ và khả năng mở rộng của các ứng dụng.

1.1. Khái niệm Cơ Sở Dữ Liệu Quan Hệ và Phân Tán

Cơ sở dữ liệu (CSDL) là tập hợp dữ liệu của một tổ chức, lưu trữ trong máy tính, được nhiều người sử dụng. CSDL quan hệ được phát triển từ những năm 60, dựa trên mô hình quan hệ đơn giản và cơ sở toán học vững chắc. Hệ quản trị cơ sở dữ liệu (QTCSDL) là hệ thống phần mềm cho phép khai thác CSDL một cách hợp lý, đảm bảo an toàn và bí mật dữ liệu trong môi trường đa người dùng. CSDL phân tán là một tập hợp các dữ liệu thuộc về một hệ thống có liên quan với nhau một cách logic và đƣợc phân bố trên một mạng máy tính. Hệ quản trị CSDL phân tán đƣợc định nghĩa là một hệ thống phần mềm cho phép quản lý các CSDL phân tán và làm cho việc phân tán trở nên trong suốt với ngƣời sử dụng.

1.2. Vai trò của Tối Ưu Truy Vấn SQL trong Ứng Dụng

Trong hầu hết các ứng dụng, truy vấn SQL là cách chính để tương tác với CSDL. Tối ưu hóa truy vấn SQL giúp giảm thời gian phản hồi của ứng dụng, cải thiện trải nghiệm người dùng. Các kỹ thuật như Indexing CSDL, viết truy vấn hiệu quả, và sử dụng Execution plan CSDL là rất quan trọng. Một truy vấn SQL được tối ưu hóa có thể chạy nhanh hơn đáng kể so với một truy vấn không được tối ưu, đặc biệt khi làm việc với lượng dữ liệu lớn. Các hệ quản trị CSDL cung cấp công cụ giúp phân tích hiệu năng truy vấn.

1.3. Mục Tiêu của Luận Văn về Tối Ưu Truy Vấn

Luận văn này tập trung vào các phương pháp tối ưu hóa truy vấn, đặc biệt là phương pháp Heuristic. Nội dung chính bao gồm: Nghiên cứu về CSDL quan hệ và phân tán; Tìm hiểu bài toán tối ưu hóa truy vấn; Nghiên cứu các phương pháp tối ưu hóa trong môi trường tập trung và phân tán; Nghiên cứu phương pháp tối ưu hóa truy vấn bằng Heuristic, ví dụ minh họa. Mục tiêu là cung cấp kiến thức toàn diện về tối ưu hóa truy vấn, giúp người đọc áp dụng hiệu quả trong thực tế.

II. Thách Thức và Vấn Đề trong Tối Ưu Hóa CSDL

Bài toán tối ưu hóa truy vấn là việc chọn chiến lược tốt nhất trong không gian các chiến lược thực thi. Chiến lược được chọn phải giảm thiểu chi phí, bao gồm thời gian CPU, thời gian truy cập dữ liệu (với CSDL tập trung), và chi phí truyền dữ liệu (với CSDL phân tán). Trong CSDL phân tán, việc chọn vị trí xử lý dữ liệu là một thách thức lớn. Việc tăng số lượng quan hệ làm cho không gian giải pháp tăng lên, đòi hỏi giải pháp gần tối ưu thay vì tối ưu tuyệt đối. Các yêu cầu của phép biến đổi tƣơng đƣơng là: Các phép biến đổi phải thực sự hữu ích đối với phần lớn các dạng truy vấn hay một lớp các truy vấn thƣờng dùng mà không cần chi phí quá nhiều để thực hiện quá trình biến đổi đó.

2.1. Các Yếu Tố Ảnh Hưởng Hiệu Suất CSDL Quan Hệ

Nhiều yếu tố ảnh hưởng đến hiệu suất CSDL quan hệ, bao gồm thiết kế lược đồ, kích thước dữ liệu, phần cứng, và cấu hình hệ thống. Các yếu tố chính cần xem xét là: số lượng bảng, kích thước bảng, số lượng chỉ mục, loại chỉ mục, và thống kê CSDL. Việc giám sát hiệu năng CSDL giúp xác định các vấn đề và đưa ra giải pháp Database performance tuning thích hợp. Sử dụng các công cụ phân tích SQL performance monitoring là một phần quan trọng của việc duy trì hiệu suất cao.

2.2. Khó Khăn trong Tối Ưu Hóa CSDL Phân Tán

Trong CSDL phân tán, việc tối ưu hóa phức tạp hơn do phải xem xét vị trí dữ liệu và chi phí truyền dữ liệu. Các thách thức bao gồm: phân tán dữ liệu, quản lý giao dịch phân tán, đồng bộ dữ liệu, và xử lý lỗi. Distributed database optimization đòi hỏi phải cân nhắc các yếu tố như độ trễ mạng, băng thông, và tính sẵn sàng của các nút. Các kỹ thuật như Data partitioning, Database replication, và Database sharding được sử dụng để cải thiện hiệu suất và khả năng mở rộng.

2.3. Vấn đề Deadlock CSDL và Cách Xử Lý

Deadlock CSDL là tình trạng khi hai hoặc nhiều giao dịch chờ đợi lẫn nhau để giải phóng tài nguyên, dẫn đến hệ thống bị treo. Để giải quyết deadlock, các hệ quản trị CSDL sử dụng các kỹ thuật như: phát hiện deadlock, ngăn chặn deadlock, và giải quyết deadlock bằng cách hủy bỏ một trong các giao dịch. Quan trọng là thiết kế CSDL để giảm thiểu khả năng xảy ra deadlock. Việc theo dõi và phân tích Giám sát hiệu năng CSDL giúp xác định nguyên nhân và đưa ra giải pháp phòng ngừa.

III. Phương Pháp Tối Ưu Truy Vấn Heuristic Hiệu Quả Nhất

Phương pháp tối ưu truy vấn heuristic sử dụng các quy tắc để biến đổi truy vấn, nhằm giảm chi phí thực thi. Các quy tắc này thường dựa trên kinh nghiệm và kiến thức về CSDL. Ưu điểm của phương pháp heuristic là đơn giản và nhanh chóng, nhưng không đảm bảo tìm được phương án tối ưu nhất. Quan trọng là lựa chọn các quy tắc phù hợp với đặc điểm của CSDL và truy vấn. Các quy tắc biến đổi đại số quan hệ: Các phép biến đổi phải bảo toàn kết quả của truy vấn trƣớc và sau khi biến đổi, có nghĩa là hai biểu thức trƣớc và sau khi biến đổi phải cho cùng một kết quả khi thay các lƣợc đồ trong biểu thức bởi các thể hiện cụ thể. Các phép biến đổi phải làm giảm chi phí thực hiện câu hỏi.

3.1. Chiến Lược Tối Ưu Tổng Quát và Các Phép Biến Đổi

Các chiến lược tối ưu tổng quát bao gồm việc đẩy phép chọn xuống, đẩy phép chiếu xuống, và loại bỏ các phép nối thừa. Các phép biến đổi đại số quan hệ như kết hợp phép chọn, phân tách phép chọn, và thay đổi thứ tự các phép nối giúp cải thiện hiệu suất. Quan trọng là phân tích truy vấn và xác định các phép biến đổi phù hợp. Việc sử dụng công cụ Execution plan CSDL giúp đánh giá hiệu quả của các phép biến đổi.

3.2. Thuật Toán Heuristic và Ứng Dụng Thực Tế

Thuật toán Heuristic là một tập hợp các quy tắc được áp dụng tuần tự để biến đổi truy vấn. Ví dụ, quy tắc "đẩy phép chọn xuống" sẽ di chuyển các phép chọn gần hơn đến các bảng dữ liệu. Ứng dụng thực tế cho thấy, việc áp dụng các quy tắc heuristic giúp giảm đáng kể thời gian thực thi truy vấn. Việc kết hợp các quy tắc heuristic với các phương pháp tối ưu khác giúp đạt được hiệu quả cao hơn.

3.3. Ví Dụ Minh Họa Tối Ưu Hóa Truy Vấn Bằng Heuristic

Xét truy vấn SQL phức tạp. Áp dụng quy tắc "đẩy phép chọn xuống" giúp giảm số lượng bản ghi được xử lý trong các phép nối, giảm thời gian thực thi. Việc sử dụng chỉ mục cũng giúp tăng tốc độ truy xuất dữ liệu. Query optimization techniques hiệu quả hơn khi được kết hợp với kiến thức về cấu trúc dữ liệu và đặc điểm của hệ thống CSDL.

IV. Các Phương Pháp Tối Ưu Truy Vấn Phổ Biến Nhất Hiện Nay

Hiện nay có nhiều phương pháp tối ưu hóa truy vấn, bao gồm: Quy hoạch động (dynamic programming), thuật toán di truyền (genetic algorithm), và phương pháp dựa trên chi phí (cost-based optimization). Quy hoạch động tìm phương án tối ưu bằng cách xây dựng các phương án thực thi từ các quan hệ cơ sở, nối thêm nhiều quan hệ tại mỗi bƣớc cho đến khi thu đƣợc các phƣơng án khả thi. Quy hoạch động hầu nhƣ có bản chất vét cạn, đảm bảo tìm ra đƣợc các phƣơng án khả thi với chi phí chấp nhận đƣợc khi số quan hệ trong truy vấn không lớn. Tuy nhiên lối tiếp cận này có chi phí cao khi số quan hệ lớn hơn 5 hoặc 6.

4.1. Thuật Toán INGRES và Các Phiên Bản Phân Tán

Thuật toán INGRES tách dần câu truy vấn thành các phần nhỏ hơn và tối ưu hoá riêng lẻ. Trong đó thực hiện các phép toán đơn quan hệ và cố gắng làm giảm kết quả trung gian khi sắp xếp thứ tự các phép toán đa quan hệ. INGRES sử dụng thuật toán tối ƣu hoá động, nó tách dần câu truy vấn dạng phép tính quan hệ thành các phần nhỏ hơn. Nó là tổ hợp của hai giai đoạn phân rã và tối ƣu. Biến đổi câu truy vấn q có n biến thành một tập tuần tự n câu truy vấn con q1  q2  …  qn, trong đó qi sử dụng kết quả của qi-1. Quá trình phân rã câu truy vấn đƣợc thực hiện bởi hai kĩ thuật cơ bản : Kĩ thuật tách và kĩ thuật thay thế.

4.2. Thuật Toán System R và Các Phiên Bản Mở Rộng

Thuật toán System R sử dụng kỹ thuật tìm kiếm vét cạn nhờ sử dụng các số liệu thống kê về CSDL, nhằm tìm ra phƣơng án thực thi để cài đặt cho cây truy vấn “tối ƣu”. Đầu vào của bộ tối ƣu hoá của System R là cây truy vấn do phân rã câu truy vấn SQL mang lại. Kết quả mang lại là một phƣơng án thực thi để cài đặt cho cây truy vấn “tối ƣu”. Thay vì thực hiện một cách có hệ thống phép chọn, phép nối nhƣ trong INGRES, System R chỉ thực hiện điều đó nếu nó dẫn đến một kết quả tốt hơn.

4.3. Thuật Toán SDD 1 và Ứng Dụng trong CSDL Phân Tán

Thuật toán SDD-1 sử dụng nối nửa để hạ thấp tổng chi phí của các câu truy vấn nối trong CSDL phân tán. Trở ngại lớn nhất của phƣơng pháp nối đƣợc mô tả ở phần trên là toàn bộ quan hệ - toán hạng phải đƣợc truyền giữa các trạm, phép kết nối nửa làm việc nhƣ một tác nhân rút gọn kích thƣớc giống nhƣ phép chọn. Kết nối của hai quan hệ R và S trên thuộc tính A, lƣu tại trạm 1 và 2 tƣơng ứng, có thể tính bằng cách thay một hoặc hai toán hạng bằng một nối nửa với quan hệ kia.

V. Ứng Dụng Thực Tiễn và Kết Quả Nghiên Cứu Đáng Chú Ý

Nhiều nghiên cứu đã chứng minh hiệu quả của việc tối ưu hóa truy vấn. Các ứng dụng thực tế cho thấy, việc áp dụng các kỹ thuật tối ưu giúp giảm đáng kể thời gian thực thi truy vấn, cải thiện hiệu suất hệ thống. Quan trọng là lựa chọn phương pháp tối ưu phù hợp với đặc điểm của CSDL và truy vấn. Tùy vào CSDL quan hệ hay phân tán, các chiến lược sử dụng là khác nhau, và cho hiệu quả khác nhau.

5.1. Tối Ưu Hóa Truy Vấn Trong Thương Mại Điện Tử

Trong thương mại điện tử, tối ưu hóa truy vấn giúp cải thiện thời gian tải trang, tăng tỷ lệ chuyển đổi, và cải thiện trải nghiệm người dùng. Các truy vấn phức tạp như tìm kiếm sản phẩm, hiển thị danh mục, và tính toán giá trị giỏ hàng cần được tối ưu hóa để đáp ứng nhu cầu của người dùng. Giảm thời gian phản hồi là yếu tố then chốt để duy trì sự hài lòng của khách hàng.

5.2. Tối Ưu Hóa Truy Vấn Trong Hệ Thống Ngân Hàng

Trong hệ thống ngân hàng, tối ưu hóa truy vấn giúp cải thiện tốc độ giao dịch, giảm rủi ro, và tăng cường bảo mật. Các truy vấn liên quan đến tài khoản, giao dịch, và báo cáo cần được tối ưu hóa để đảm bảo tính chính xác và kịp thời. Việc giám sát hiệu năng và áp dụng các kỹ thuật Database performance tuning là rất quan trọng.

5.3. Tối Ưu Hóa Truy Vấn Trong Mạng Xã Hội

Trong mạng xã hội, tối ưu hóa truy vấn giúp cải thiện tốc độ tải trang, hiển thị nội dung, và tương tác người dùng. Các truy vấn liên quan đến bạn bè, bài viết, và thông báo cần được tối ưu hóa để đáp ứng nhu cầu của hàng triệu người dùng. Các hệ thống Scale CSDL lớn thường sử dụng Database shardingDatabase replication để cải thiện hiệu suất và khả năng mở rộng.

VI. Kết Luận và Tương Lai của Tối Ưu Truy Vấn CSDL

Tối ưu hóa truy vấn là một lĩnh vực quan trọng trong quản trị CSDL. Các phương pháp và kỹ thuật liên tục được phát triển để đáp ứng nhu cầu ngày càng cao về tốc độ và khả năng mở rộng của các ứng dụng. Quan trọng là hiểu rõ các phương pháp tối ưu và áp dụng chúng một cách hiệu quả. Cần liên tục học hỏi và cập nhật kiến thức để theo kịp sự phát triển của lĩnh vực. Tương lai của tối ưu truy vấn sẽ tập trung vào việc tự động hóa, học máy, và tối ưu hóa cho các hệ thống phân tán quy mô lớn.

6.1. Tổng Kết Các Phương Pháp Tối Ưu Chính

Các phương pháp tối ưu chính bao gồm: Quy tắc Heuristic, Quy hoạch Động, các thuật toán nâng cao và các thuật toán trong môi trường phân tán. Lựa chọn phương pháp phù hợp tùy thuộc vào đặc điểm của CSDL, truy vấn, và yêu cầu hiệu suất. Quan trọng là đánh giá hiệu quả của các phương pháp và điều chỉnh khi cần thiết. Cần tìm các phương pháp tối ưu phù hợp với yêu cầu cụ thể, trong đó Tối ưu hóa hệu suất CSDL.

6.2. Hướng Nghiên Cứu Mới và Xu Hướng Phát Triển

Hướng nghiên cứu mới tập trung vào việc áp dụng học máy để tự động hóa quá trình tối ưu hóa truy vấn. Các hệ thống Scale CSDL tự động có khả năng phân tích truy vấn, dự đoán hiệu suất, và điều chỉnh cấu hình để đạt được hiệu quả tối ưu. Xu hướng phát triển bao gồm: tối ưu hóa cho CSDL NoSQL, tối ưu hóa cho các hệ thống phân tán quy mô lớn, và tối ưu hóa cho các ứng dụng thời gian thực.

6.3. Tầm Quan Trọng Của Theo Dõi và Giám Sát Hiệu Năng

Việc theo dõi và giám sát hiệu năng CSDL là rất quan trọng để đảm bảo hiệu suất hệ thống. Các công cụ giám sát giúp xác định các vấn đề, phân tích truy vấn chậm, và đưa ra giải pháp Database performance tuning. Cần thiết lập các ngưỡng cảnh báo để phát hiện sớm các vấn đề và ngăn chặn chúng ảnh hưởng đến hiệu suất hệ thống.

24/09/2025

Trích đoạn nội dung tài liệu

Đặ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. 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 5 TIEU LUAN MOI download : skknchat@gmail.com 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ạ. 6 TIEU LUAN MOI download : skknchat@gmail.com Chƣơng 1.

TỔNG QUAN VỀ CƠ SỞ DỮ LIỆU 1.1 CƠ SỞ DỮ LIỆU QUAN HỆ 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.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. 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.

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

7 TIEU LUAN MOI download : skknchat@gmail. 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ể.2 HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU 1.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.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).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 8 TIEU LUAN MOI download : skknchat@gmail.com 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. 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. 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.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 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. 9 TIEU LUAN MOI download : skknchat@gmail.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. 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.

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) 10 TIEU LUAN MOI download : skknchat@gmail.com Nối tự nhiên.

Nội dung được bảo vệ bản quyền — Tải xuống đầy đủ