Giáo trình Cơ sở dữ liệu - Trịnh Hoàng Nam

pdf
Số trang Giáo trình Cơ sở dữ liệu - Trịnh Hoàng Nam 237 Cỡ tệp Giáo trình Cơ sở dữ liệu - Trịnh Hoàng Nam 8 MB Lượt tải Giáo trình Cơ sở dữ liệu - Trịnh Hoàng Nam 3 Lượt đọc Giáo trình Cơ sở dữ liệu - Trịnh Hoàng Nam 66
Đánh giá Giáo trình Cơ sở dữ liệu - Trịnh Hoàng Nam
4 ( 13 lượt)
Nhấn vào bên dưới để tải tài liệu
Đang xem trước 10 trên tổng 237 trang, để tải xuống xem đầy đủ hãy nhấn vào bên trên
Chủ đề liên quan

Nội dung

TRƯỜNG ĐẠ ẠI HỌC NGÂN HÀNG TP. HỒ CHÍ MINH KHOA CÔNG NGH NGHỆ THÔNG TIN GIÁO TRÌNH NHÓM BIÊN SOẠN: SO Trịnh nh Hoàng Nam (Ch (Chủ biên) Nguyễn Nguy Thị Trà Linh Tạ Thị Hoàng Mai MỤC LỤC LỜI MỞ ĐẦU ......................................................................................................... 1 CHƯƠNG 1: TỔNG QUAN VỀ HỆ THỐNG CƠ SỞ DỮ LIỆU ..................... 3 1.1 Hệ thống hướng tập tin.................................................................................... 5 1.2 Hệ thống hướng cơ sở dữ liệu ......................................................................... 6 1.3 Mục tiêu của các hệ cơ sở dữ liệu ................................................................... 7 1.4 Hệ quản trị cơ sở dữ liệu ................................................................................. 8 1.5 Người dùng cơ sở dữ liệu .............................................................................. 13 1.6 Ngôn ngữ và giao diện ngôn ngữ dữ liệu ...................................................... 15 CHƯƠNG 2: MÔ HÌNH THỰC THỂ KẾT HỢP ............................................ 22 2.1. Mô hình thực thể kết hợp ............................................................................... 24 2.2. Một ứng dụng của mô hình thực thể kết hợp................................................. 25 2.3. Các khái niệm trong mô hình thực thể kết hợp ............................................. 27 2.4. Các vấn đề khi thiết kế mô hình thực thể kết hợp ..........................................40 CHƯƠNG 3: MÔ HÌNH THỰC THỂ KẾT HỢP MỞ RỘNG ...................... 49 3.1 Những hạn chế của mô hình thực thể kết hợp............................................... 51 3.2 Các khái niệm trong mô hình thực thể kết hợp mở rộng .............................. 52 3.3 Một ứng dụng của mô hình thực thể kết hợp mở rộng ................................. 63 3.4 Các công cụ mô hình thiết kế cơ sở dữ liệu .................................................. 64 CHƯƠNG 4: MÔ HÌNH DỮ LIỆU QUAN HỆ ................................................ 71 4.1 Các khái niệm cơ bản .................................................................................... 73 4.2 Ràng buộc toàn vẹn trên mô hình quan hệ và lược đồ dữ liệu quan hệ ........ 80 4.3 Các toán tử cập nhật trên quan hệ ................................................................. 85 CHƯƠNG 5: ĐẠI SỐ QUAN HỆ VÀ PHÉP TÍNH QUAN HỆ ..................... 94 5.1 Phép toán một ngội........................................................................................ 96 5.2 Các phép toán hai ngôi .................................................................................. 99 5.3 Các phép toán khác .................................................................................... 108 5.4 Phép tính quan hệ trên bộ ............................................................................ 112 5.5 Phép tính quan hệ trên miền ........................................................................ 120 CHƯƠNG 6: THIẾT KẾ CƠ SỞ DỮ LIỆU QUAN HỆ ................................ 128 6.1 Các giai đoạn thiết kế cơ sở dữ liệu quan hệ .............................................. 130 6.2 Thiết kế cơ sở dữ liệu ý niệm ...................................................................... 133 6.3 Thiết kế cơ sở dữ liệu luận lý ...................................................................... 139 CHƯƠNG 7: NGÔN NGỮ TRUY VẤN CÓ CẤU TRÚC ............................. 162 7.1 Định nghĩa dữ liệu và các kiểu dữ liệu ........................................................ 164 7.2 Các ràng buộc cơ bản trong SQL ................................................................ 168 7.3 Các câu lệnh thay đổi lược đồ cơ sở dữ liệu................................................ 174 7.4 Các truy vấn cơ bản trong SQL ................................................................... 176 7.5 Các câu truy vấn phức tạp ........................................................................... 185 7.6 Các lệnh cập nhật dữ liệu trong SQL........................................................... 196 CHƯƠNG 8: LÝ THUYẾT THIẾT KẾ CƠ SỞ DỮ LIỆU QUAN HỆ ....... 206 8.1 Phụ thuộc hàm ............................................................................................. 208 8.2 Hệ tiên đề các phụ thuộc hàm và phép suy dẫn logic .................................. 211 8.3 Một số vấn đề khi thiết kế lược đồ cơ sở dữ liệu quan hệ ........................... 223 8.4 Phân tách quan hệ ........................................................................................ 224 8.5 Các dạng chuẩn của mô hình dữ liệu quan hệ ............................................ 231 8.6 Các phương pháp chuẩn hóa cơ sở dữ liệu quan hệ ................................... 237 CHƯƠNG 9: TỐI ƯU HÓA TRUY VẤN ....................................................... 250 9.1 Tổng quan về tối ưu hóa truy vấn ................................................................ 252 9.2 Phương pháp ước lượng cây đại số quan hệ ................................................ 253 9.3 Nguyên tắc tối ưu hóa .................................................................................. 254 9.4 Kỹ thuật tối ưu hóa các biểu thức đại số quan hệ ........................................ 256 9.5 Tối ưu hóa bằng khung nhìn ........................................................................ 265 LỜI MỞ ĐẦU Trong thời đại bùng nổ thông tin, vai trò của hệ thống thông tin ngày càng trở nên quan trọng đối với mọi lĩnh vực hoạt động của doanh nghiệp, đặc biệt trong việc nâng cao khả năng cạnh tranh thông qua các hoạt động phát triển sản phẩm, giảm giá thành, mở rộng thị trường, … Phần lớn các hệ thống thông tin trong doanh nghiệp đều đòi hỏi phải duy trì toàn bộ dữ liệu ở quá khứ, không ngừng bổ sung thêm các dữ liệu mới được ghi nhận ở hiện tại, và dự đoán các kết quả sẽ xuất hiện trong tương lai. Các dữ liệu này không chỉ được sử dụng để thống kê, phân tích, đánh giá tổ chức ở thời điểm hiện tại, mà còn có khả năng hỗ trợ đưa ra những quyết định ở nhiều cấp quan trọng khác nhau. Chính vì lẽ đó, cơ sở dữ liệu trở thành một bộ phận gắn liền với hệ thống thông tin của doanh nghiệp, và được coi là một phần không thể tách rời khỏi doanh nghiệp. Thuật ngữ Cơ sở dữ liệu giờ đây được áp dụng rộng rãi trong nhiều lĩnh vực ngoài Công nghệ thông tin, như là Tài chính – Ngân hàng, Kế toán – Kiểm toán, Thẩm định dự án, … Bản thân môn học Cơ sở dữ liệu cũng xuất hiện ở các chương trình đào tạo khác nhau với nhiều trình độ khác nhau từ trung cấp, cao đẳng, đến đại học, và cả sau đại học. Trên thị trường hiện nay có khá nhiều tài liệu tham khảo về Cơ sở dữ liệu, nhưng hầu hết đều nhắm đến đối tượng người đọc là những sinh viên khối ngành Công nghệ thông tin hoặc có những kiến thức nhất định về công nghệ thông tin. Xuất phát từ thực tế đó, chúng tôi bắt tay biên soạn giáo trình Cơ sở dữ liệu với cách tiếp cận đơn giản dễ hiểu, phù hợp với mọi đối tượng người đọc, kể cả những người chưa từng tham gia bất kỳ lớp học nào về công nghệ thông tin. 1 Giáo trình tập trung trình bày những kiến thức cần thiết về cơ sở dữ liệu, từ những khái niệm cơ bản khi mới bắt đầu làm quen, cho đến những vấn đề quan trọng, có tính quyết định tới sự thành bại khi xây dựng một cơ sở dữ liệu thực tế. Với các kiến thức lý thuyết được trình bày một cách cô đọng, ngắn gọn và dễ hiểu; các ví dụ minh họa đa dạng, phong phú, chúng tôi hy vọng giáo trình này đáp ứng được nhu cầu nghiên cứu và học tập của nhiều đối tượng người học khác nhau. Mặc dù có rất nhiều cố gắng trong công tác biên soạn, nhưng giáo trình chắc chắn sẽ có ít nhiều khiếm khuyết. Chúng tôi rất mong nhận được các ý kiến đóng góp để có thể hoàn thiện giáo trình trong lần tái bản tiếp theo. TP. Hồ Chí Minh, tháng 07 năm 2011 NHÓM BIÊN SOẠN 2 C CH HƯ ƯƠ ƠN NG G TỔNG QUAN VỀ 1 HỆ THỐNG CƠ SỞ DỮ LIỆU Mục tiêu Chương này cung cấp cho người đọc các khái niệm cơ bản về cơ sở dữ liệu giúp có cái nhìn ban đầu về cơ sở dữ liệu, hệ quản trị cơ sở dữ liệu và mối tương quan giữa chúng với nhau. Nội dung  Hệ thống hướng tệp tin  Hệ thống hướng cơ sở dữ liệu  Hệ quản trị cơ sở dữ liệu  Người dùng cơ sở dữ liệu  Ngôn ngữ và giao diện ngôn ngữ dữ liệu Email: namth@buh.edu.vn 3 Giới thiệu Khái niệm cơ sở dữ liệu ra đời từ rất sớm, và kể từ đó, cơ sở dữ liệu trở thành một bộ phận không thể tách rời đối với các hệ thống thông tin trên máy tính. Cơ sở dữ liệu ra đời trong bối cảnh hàng loạt vấn đề phát sinh trong các hệ thống sử dụng tệp tin làm phương tiện để lưu trữ dữ liệu. Chúng ta bắt đầu tìm hiểu cơ sở dữ liệu bằng việc giới thiệu một loại công cụ hỗ trợ giao tiếp với cơ sở dữ liệu, đó là hệ quản trị cơ sở dữ liệu. Tiếp theo chúng ta phân loại các đối tượng người dùng cơ sở dữ liệu dựa trên quyền hạn và trách nhiệm của họ đối với cơ sở dữ liệu. Cuối cùng, chúng ta làm quen với ba nhóm ngôn ngữ mà qua đó chúng ta tương tác với hệ quản trị cơ sở dữ liệu: ngôn ngữ định nghĩa dữ liệu, ngôn ngữ thao tác dữ liệu, và ngôn ngữ điều khiển dữ liệu. Email: namth@buh.edu.vn 4 1.1 HỆ THỐNG HƯỚNG TỆP TIN Một tệp tin có thể xem là một cặp hồ sơ lưu trữ các thông tin liên quan đến từng công việc riêng biệt. Việc xử lý để lấy ra thông tin theo yêu cầu được thực hiện một cách thủ công. Tuy nhiên, theo thời gian, khối lượng thông tin ngày càng lớn, việc xử lý để lấy các thông tin theo yêu cầu ngày càng trở nên phức tạp. Do đó, máy tính được đưa vào sử dụng. Các cặp hồ sơ được chuyển thành tệp trên máy tính và việc xử lý thông tin được thể hiện bằng cách lập trình. Hình 1.1. Mô hình hoạt động hệ thống hướng tệp tin. Việc áp dụng hệ thống hướng tệp tin có một số ưu điểm như sau:  Việc xây dựng các ứng dụng cũng như các tệp tin dữ liệu đáp ứng cho từng công việc riêng biệt cho nên về cơ bản ít tốn thời gian, không đòi hỏi đầu tư nhiều về thời gian, vật chất, đồng thời lại có thể nhanh chóng đưa vào sử dụng.  Thông tin được khai thác chỉ phục vụ cho một số ít người sử dụng với một số mục đích cụ thể, cho nên tính an toàn cao, khả năng đáp ứng nhanh chóng, kịp thời. Tuy nhiên, các hệ thống kiểu này cũng có nhiều nhược điểm, cụ thể như sau:  Dư thừa thông tin, cùng một thông tin được lưu trữ nhiều điểm khác nhau. Điều này gây ra việc lãng phí bộ nhớ, dễ dàng gây sai sót trong khi cập nhật Email: namth@buh.edu.vn 5 dữ liệu, dữ liệu trở nên thiếu đồng bộ, không nhất quán, thậm chí còn xung đột lẫn nhau.  Sự phụ thuộc chặt chẽ giữa chương trình ứng dụng. Mỗi khi có sự thay đổi về cấu trúc tệp và các dữ liệu trong tệp, chương trình ứng dụng khai thác thông tin trên tệp đó cũng phải thay đổi theo. Điều này gây ra khó khăn lớn cho việc bảo trì hệ thống. Để khắc phục những nhược điểm nói trên, hệ thống hướng cơ sở dữ liệu ra đời và không ngừng phát triển cho đến ngày nay. 1.2 HỆ THỐNG HƯỚNG CƠ SỞ DỮ LIỆU Dữ liệu là những sự kiện có thể ghi lại được, và thường không có ý nghĩa. Trong khi đó, thông tin là ý nghĩa của dữ liệu sau khi đã được người sử dụng xử lý trong một ngữ cảnh cụ thể nào đó. Cơ sở dữ liệu là hệ thống các dữ liệu có cấu trúc được lưu trữ trên các thiết bị lưu trữ thứ cấp để thỏa mãn nhu cầu khai thác thông tin của nhiều người sử dụng hoặc nhiều chương trình ứng dụng với nhiều mục đích khác nhau. Trong khái niệm này, chúng ta cần nhấn mạnh cơ sở dữ liệu phải là một tập hợp các dữ liệu có liên quan về mặt luận lý, chứ không phải là những dữ liệu rời rạc, không có mối quan hệ với nhau. Các dữ liệu này phải có cấu trúc, và chúng phải có khả năng đáp ứng các nhu cầu khai thác thông tin của nhiều người sử dụng. Sự ra đời của các hệ thống hướng cơ sở dữ liệu đã giải quyết triệt để những vấn đề mà hệ thống hướng tệp tin gặp phải trước đó, cụ thể như sau:  Giảm sự trùng lặp dữ liệu xuống mức thấp nhất, và do đó đảm bảo được tính nhất quán và toàn vẹn dữ liệu.  Đảm bảo dữ liệu có thể được truy xuất theo nhiều cách khác nhau.  Khả năng chia sẻ thông tin cho nhiều người sử dụng và nhiều ứng dụng khác nhau dùng dữ liệu đó. Email: namth@buh.edu.vn 6 1.3 MỤC TIÊU CỦA HỆ THỐNG HƯỚNG CƠ SỞ DỮ LIỆU Hệ thống hướng cơ sở dữ liệu với những ưu điểm tuyệt đối của nó so với hệ thống hướng tệp tin ra đời trước đó đã nhanh chóng được giới chuyên môn chấp nhận và đưa vào triển khai. Khi xây dựng một hệ thống hướng cơ sở dữ liệu thương mại hay phi thương mại, chúng ta đều hướng tới thực hiện các mục tiêu chính yếu sau đây: a) Đảm bảo ý nghĩa của dữ liệu. Dữ liệu có tính chia sẻ, nhiều người có quyền sử dụng, thậm chí là thay đổi giá trị của dữ liệu, từ đó làm thay đổi ý nghĩa của dữ liệu. Do đó, dữ liệu cần thường xuyên được theo dõi, kiểm tra, rà soát, và cập nhật để phản ánh đúng giá trị mà nó đại diện. b) Đảm bảo tính riêng tư và quyền khai thác dữ liệu của người sử dụng. Mặc dù dữ liệu có tính chia sẻ, nhưng không phải tất cả dữ liệu đều được chia sẻ, hoặc là không phải bất kỳ người sử dụng nào cũng có quyền khai thác như nhau đối với một dữ liệu cụ thể. Người sử dụng không chỉ có thể thiết lập các thông số liên quan đến việc chia sẻ dữ liệu dùng chung, mà còn có thể cấp quyền và thu hồi quyền khai thác dữ liệu đối với những người dùng khác trong hệ thống. c) Đảm bảo giải quyết xung đột dữ liệu. Xuất phát từ việc dữ liệu được chia sẻ, sự xung đột về quyền khai thác dữ liệu sẽ xuất hiện giữa những người dùng khác nhau trong hệ thống. Cùng một dữ liệu đó, cùng lúc có nhiều yêu cầu thực hiện thêm, sửa, hay xóa. Hệ thống nhìn chung không thể xử lý đồng thời tất cả các yêu cầu đó cùng lúc. Do đó, chúng ta cần phải duy trì cơ chế ưu tiên truy xuất dữ liệu cũng như cơ chế giải quyết tình trạng khóa chết trong quá trình khai thác cạnh tranh. d) Đảm bảo toàn vẹn dữ liệu khi có sự cố. Cơ sở dữ liệu thường được xem là một bộ sưu tập dữ liệu trong một khoảng thời gian dài thường là vài năm, vài chục năm, thậm chí cả trăm năm. Do đó, để đảm bảo dữ liệu được lưu Email: namth@buh.edu.vn 7
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.