Giáo trình Cơ sở dữ liệu - Trịnh Hoàng Nam
lượt xem 71
download
Cuốn sách Cơ sở dữ liệu này dành cho những ai muốn tìm hiểu khái quát về các cơ sở dữ liệu quan hệ, cả lý thuyết lẫn thực hành. Các cơ sở dữ liệu quan hệ là những hệ quản trị cơ sở dữ liệu phổ dụng nhất trên thế giới và được hỗ trợ bởi nhiều thực thi kinh doanh khác nhau. Mời các bạn cùng tham khảo.
Bình luận(0) Đăng nhập để gửi bình luận!
Nội dung Text: Giáo trình Cơ sở dữ liệu - Trịnh Hoàng Nam
- TRƯỜNG ĐẠ HỌC NGÂN HÀNG TP. HỒ CHÍ MINH ẠI KHOA CÔNG NGH THÔNG TIN NGHỆ GIÁO TRÌNH NHÓM BIÊN SOẠN: SO Trịnh Hoàng Nam (Ch biên) nh (Chủ Nguyễn Thị Trà Linh Nguy 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
- CHƯƠNG CHƯƠNG 1 TỔNG QUAN VỀ 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
- trữ liên tục, chúng ta cần phải xây dựng cơ chế sao lưu, phục hồi nhằm đảm bảo dữ liệu được nguyên vẹn và không bị gián đoạn trong trường hợp hệ thống gặp sự cố. 1.4 HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU 1.4.1 Định nghĩa Hệ quản trị cơ sở dữ liệu nhìn chung là một hệ thống phần mềm hướng đến việc thực hiện các nhiệm vụ sau đây: Định nghĩa cơ sở dữ liệu bao gồm việc đặc tả các kiểu dữ liệu, các cấu trúc, và các ràng buộc cho dữ liệu sẽ được lưu trữ trong cơ sở dữ liệu. Xây dựng cơ sở dữ liệu bao gồm việc lưu trữ các dữ liệu trên các phương tiện lưu trữ được hệ quản trị cơ sở dữ liệu kiểm soát. Thao tác cơ sở dữ liệu bao gồm việc thực hiện các chức năng truy vấn cơ sở dữ liệu để lấy ra những thông tin cần thiết, cập nhật cơ sở dữ liệu để phản ánh sự các thay đổi trong thế giới thực và tạo ra các báo cáo từ dữ liệu trong cơ sở dữ liệu. Nói cách khác, hệ quản trị cơ sở dữ liệu là công cụ giúp người sử dụng hay các chương trình ứng dụng tương tác với cơ sở dữ liệu. Cả ba yếu tố này hình thành nên một hệ thống hướng cơ sở dữ liệu (xem hình 1.2). Hình 1.2. Mô hình hoạt động của hệ thống hướng cơ sở dữ liệu. Email: namth@buh.edu.vn 8
- 1.4.2 Phân loại Thực tế, có rất nhiều tiêu chí có thể được sử dụng để phân loại các hệ quản trị cơ sở dữ liệu. Ở đây, chúng tôi chỉ giới thiệu ba tiêu chí quan trọng nhất, đó là mô hình dữ liệu, tính đa người dùng, và tính phân tán của hệ quản trị cơ sở dữ liệu. a) Dựa trên mô hình dữ liệu Mô hình dữ liệu quan hệ (relational data model): là mô hình dữ liệu chủ yếu được sử dụng trong hầu hết các hệ quản trị cơ sở dữ liệu thương mại hiện nay. Mô hình dữ liệu phân cấp ( hierarchical data model)và mô hình dữ liệu mạng (network data model): phổ biến trong quá khứ, những ứng dụng lâu đời vẫn còn sử dụng các mô hình này cho tới ngày nay. Mô hình dữ liệu đối tượng (object oriented data model): được hiện thực trong một số hệ thống thương mại nhưng chưa được sử dụng rộng rãi. Mô hình dữ liệu đối tượng – quan hệ (object relational data model): ra đời do quá trình phát triển các hệ quản trị cơ sở dữ liệu có liên quan nối tiếp với nhau, là sự kết hợp của mô hình quan hệ và nhiều khái niệm trong cơ sở dữ liệu đối tượng. b) Dựa trên số người dùng mà hệ thống hỗ trợ Hệ thống đơn người dùng (single-user database management system): chỉ hỗ trợ mỗi người dùng tại một thời điểm. Loại này thường chỉ sử dụng với các máy PC. Hệ thống đa người dùng (multi-user database management system): hỗ trợ nhiều người dùng đồng thời, loại này chiếm đa số các loại hệ quản trị cơ sở dữ liệu. c) Dựa trên vị trí đặt hệ thống Hệ quản trị cơ sở dữ liệu tập trung (centralized data management system): là hệ quản trị cơ sở dữ liệu có dữ liệu chỉ chứa tại một nơi duy nhất. Loại này vẫn có thể hỗ trợ đa người dùng. Email: namth@buh.edu.vn 9
- Hệ quản trị cơ sở dữ liệu phân tán (distributed data management system): chứa dữ liệu và phần mềm hệ quản trị cơ sở dữ liệu tại nhiều nơi khác nhau, kết nối với nhau thông qua đường truyền mạng. 1.4.3 Các chức năng của một hệ quản trị cơ sở dữ liệu Một hệ quản trị cơ sở dữ liệu được đánh giá là tốt, nếu thực hiện được các chức năng cơ bản sau đây: Lưu trữ các định nghĩa, các mô tả về bản thân cơ sở dữ liệu (siêu dữ liệu) trong một từ điển dữ liệu. Hệ quản trị cơ sở dữ liệu sử dụng từ điển dữ liệu để tìm kiếm các cấu trúc dữ liệu và các mối liên kết theo yêu cầu của người sử dụng. Mọi sự thay đổi trong cơ sở dữ liệu đều được ghi nhận vào từ điển dữ liệu. Nói cách khác, sự độc lập giữa chương trình ứng dụng và dữ liệu được đảm bảo tối đa. Tạo ra các cấu trúc phức tạp theo yêu cầu để lưu trữ dữ liệu. Người sử dụng được giải phóng khỏi việc định nghĩa và lập trình cho các đặc trưng vật lý của dữ liệu. Công việc này do hệ quản trị cơ sở dữ liệu đảm nhiệm. Chuyển đổi yêu cầu ý niệm về dữ liệu của người sử dụng thành các câu lệnh xác định vị trí lưu trữ vật lý và lấy ra các dữ liệu theo yêu cầu. Tạo ra một cơ chế phân quyền và gán quyền chặt chẽ, đảm bảo sự riêng tư và an toàn bảo mật trong cơ sở dữ liệu. Hỗ trợ cơ chế cho phép nhiều người sử dụng cùng truy cập đến cơ sở dữ liệu. Cung cấp các phương thức sao lưu, phục hồi dữ liệu nhằm đảm bảo sự an toàn và toàn vẹn dữ liệu. Cung cấp các phương tiện ngôn ngữ hỗ trợ người sử dụng thực hiện các tác vụ liên quan tới cơ sở dữ liệu. Email: namth@buh.edu.vn 10
- 1.4.4 Cấu trúc tổng thể của hệ quản trị cơ sở dữ liệu Một hệ quản trị cơ sở dữ liệu được phân thành nhiều phân hệ, mỗi phân hệ thực hiện một chức năng trong hệ thống tổng thể. Hình 1.3 minh họa các thành phần cơ bản của một hệ quản trị cơ sở dữ liệu. Trong số các thành phần cấu thành nên hệ quản trị cơ sở dữ liệu, bản thân cơ sở dữ liệu và từ điển dữ liệu thường được lưu trữ trên ổ đĩa cứng và do hệ điều hành quản lý theo cơ chế input, output. Bộ quản lý dữ liệu lưu trữ cấp cao sử dụng các thông tin về hệ quản trị cơ sở dữ liệu vốn được lưu trữ trên ở đĩa cứng. Đường kẻ đứt nối và các điểm đánh dấu A, B, C, D, E cho biết tác động của bộ quản lý dữ liệu lưu trữ cấp cao đối với hoạt động của hệ quản trị cơ sở dữ liệu. Nhiệm vụ chính của bộ quản lý dữ liệu lưu trữ cấp cao là đảm bảo quá trình trao đổi dữ liệu giữa ổ đĩa lưu trữ với dữ liệu của hệ thống thông qua việc quản lý hoạt động của các bộ đệm trong bộ nhớ chính. Một khi dữ liệu nằm trong các bộ đệm của bộ nhớ chính, không chỉ bản thân hệ quản trị cơ sở dữ liệu mà cả những trình ứng dụng cũng có thể sử dụng dữ liệu này. Trình biên dịch ngôn ngữ định nghĩa dữ liệu thực hiện các định nghĩa lược đồ được khai báo trong các lệnh định nghĩa dữ liệu và lưu giữ thông tin về các lược đồ này trong từ điển dữ liệu của hệ quản trị cơ sở dữ liệu. Từ điển dữ liệu về cơ bản là nơi chứa đựng toàn bộ thông tin về cơ sở dữ liệu như là tên, kích thước các tệp tin, tên và kiểu của các thực thể dữ liệu, thông tin về các lược đồ, các ràng buộc trong cơ sở dữ liệu. Các thành phần của hệ quản trị cơ sở dữ liệu sẽ sử dụng các thông tin trong từ điển dữ liệu mỗi khi có nhu cầu. Bộ xử lý cơ sở dữ liệu chịu trách nhiệm xử lý các truy cập cơ sở dữ liệu mỗi khi chúng xuất hiện. Nó tiếp nhận và thực thi các yêu cầu từ người sử dụng hoặc trình ứng dụng thông qua các trình biên dịch tương ứng như là trình biên dịch ngôn ngữ định nghĩa dữ liệu, trình biên dịch ngôn ngữ thao tác dữ liệu, trình biên dịch truy Email: namth@buh.edu.vn 11
- vấn, ... Các thành phần này phối hợp hoạt động thành một thể thống nhất, đảm bảo thực hiện đầy đủ các chức năng của một hệ quản trị cơ sở dữ liệu. Hình 1.3. Cấu trúc tổng thể của hệ quản trị cơ sở dữ liệu 1.5 NGƯỜI DÙNG CƠ SỞ DỮ LIỆU Như đã trình bày ở trên, hệ quản trị cơ sở dữ liệu là bộ công cụ hỗ trợ thực hiện các hoạt động trên một (số) cơ sở dữ liệu nào đó. Tuy nhiên, không phải người sử dụng nào cũng được quyền thao tác trực tiếp hoặc gián tiếp (thông qua trình ứng dụng) trên hệ quản trị cơ sở dữ liệu. Ở đây, chúng ta sẽ phân biệt một số nhóm người dùng cơ sở dữ liệu dựa trên sự phân loại quyền thực hiện các thao tác trên hệ quản trị cơ sở dữ liệu. Email: namth@buh.edu.vn 12
- 1.5.1 Nhóm quản trị cơ sở dữ liệu Quản trị viên cơ sở dữ liệu là nhóm người dùng được phân quyền mạnh nhất trong hệ thống hướng cơ sở dữ liệu, nhóm người dùng này có quyền thực hiện mọi thao tác trên cơ sở dữ liệu, hệ quản trị cơ sở dữ liệu và các phần mềm có liên quan nhằm đảm bảo hoạt động hiệu quả, chính xác, nhanh chóng và liên tục của hệ thống. Cụ thể, nhóm quản trị cơ sở dữ liệu có quyền thực hiện các hoạt động sau đây: Phân quyền truy cập cơ sở dữ liệu. Giám sát quá trình vận hành cơ sở dữ liệu. Sao lưu, khôi phục cơ sở dữ liệu. Phân bổ tài nguyên phần cứng, phần mềm khi hệ thống có nhu cầu. Chịu trách nhiệm trong trường hợp hệ thống có lỗ hổng bảo mật hoặc thời gian đáp ứng chậm. 1.5.2 Nhóm thiết kế cơ sở dữ liệu Nhóm thiết kế cơ sở dữ liệu là nhóm người chịu trách nhiệm về việc phân tích và thiết kế cơ sở dữ liệu, đảm bảo cơ sở dữ liệu được thiết kế đúng đắn, chính xác, hiệu quả, an toàn, đáp ứng tất cả các yêu cầu về dữ liệu trong hiện tại và tương lai. Cụ thể, nhóm thiết kế cơ sở dữ liệu thực hiện các công việc sau đây: Lựa chọn các cấu trúc phù hợp để biểu diễn và lưu trữ dữ liệu. Làm việc với những người dùng cơ sở dữ liệu tiềm năng để nắm bắt được yêu cầu của họ nhằm đảm bảo các bản thiết kế phù hợp với yêu cầu. Liên hệ với từng nhóm người dùng để xây dựng các khung nhìn dữ liệu cho phù hợp với cấu trúc cơ sở dữ liệu và yêu cầu của mỗi nhóm. Bản thiết kế cuối cùng phải thỏa mãn yêu cầu của tất cả các nhóm. Thông thường, nhóm thiết kế cơ sở dữ liệu được xếp chung với nhóm quản trị cơ sở dữ liệu. Email: namth@buh.edu.vn 13
- 1.5.3 Nhóm người dùng cuối Người dùng cuối là nhóm người có nhu cầu truy cập cơ sở dữ liệu để thực hiện các thao tác khai thác hay quản lý nội dung của cơ sở dữ liệu. cơ sở dữ liệu tồn tại chính là để đáp ứng nhu cầu dữ liệu của nhóm người dùng này. Cụ thể, nhóm người dùng cuối có nhu cầu thực hiện các thao tác sau đây: Truy xuất dữ liệu phục vụ nhu cầu tương tác hoặc thống kê với nhiều khung nhìn khác nhau. Cập nhật dữ liệu theo hình thức trực tuyến hoặc theo phiên. Tùy từng sự phân quyền, gán quyền cụ thể, người dùng cuối có thể tương tác trực tiếp với cơ sở dữ liệu thông qua hệ quản trị cơ sở dữ liệu, hoặc tương tác gián tiếp với cơ sở dữ liệu thông qua các chương trình ứng dụng có khai báo sử dụng cơ sở dữ liệu. 1.5.4 Nhà phân tích hệ thống và nhân viên lập trình ứng dụng Nhà phân tích hệ thống có nhiệm vụ xác định yêu cầu của những người dùng cuối để xây dựng đặc tả các giao tác đáp ứng nhu cầu của họ. Sau đó, nhân viên lập trình ứng dụng sử dụng những đặc tả này để hiện thực chương trình, và họ tiến hành thử nghiệm, xử lý lỗi, lập tài liệu cũng như bảo trì những giao tác được xây dựng sẵn này. Cả hai loại người dùng này thường được gọi chung là kỹ sư phần mềm. Họ cần phải thật quen thuộc với cấu trúc của hệ quản trị cơ sở dữ liệu để hoàn thành công việc của mình. 1.5.5 Nhân viên bảo trì hệ thống Nhóm người dùng cuối cùng, nhưng không kém phần quan trọng đối với hệ thống hướng cơ sở dữ liệu đó là nhóm nhân viên bảo trì hệ thống. Những người này tuy không trực tiếp làm việc với cơ sở dữ liệu nhưng công việc của họ nhằm giúp cho hệ thống hoạt động liên tục 24/24. Nhiệm vụ chính của nhóm người dùng này bao: thiết kế, phát triển và vận hành hệ quản trị cơ sở dữ liệu. Nhóm nhân viên bảo trì hệ thống được phân loại như sau: Email: namth@buh.edu.vn 14
- Nhân viên thiết kế/ hiện thực hệ thống: làm nhiệm vụ thiết kế và hiện thực giao diện và các chức năng của hệ quản trị cơ sở dữ liệu nhằm cung cấp cho người sử dụng một phần mềm đóng gói hoàn chỉnh. Nhân viên phát triển công cụ: làm nhiệm vụ thiết kế và hiện thực các gói phần mềm đi kèm với hệ quản trị cơ sở dữ liệu nhằm nâng cao hiệu suất trong thiết kế và sử dụng cơ sở dữ liệu. Chúng bao gồm các gói phần mềm hỗ trợ việc thiết kế cơ sở dữ liệu, theo dõi hiệu suất, giao diện ngôn ngữ tự nhiên, đồ họa, giả lập, mô phỏng, và thử nghiệm dữ liệu. Những công cụ đi kèm này thường được các nhà cung cấp phát triển và đưa vào thị trường. 1.6 NGÔN NGỮ VÀ GIAO DIỆN NGÔN NGỮ DỮ LIỆU Hệ quản trị cơ sở dữ liệu về cơ bản là một phần mềm cung cấp nhiều tiện ích hỗ trợ người dùng thực hiện các thao tác quản lý, thiết kế, cập nhật và truy vấn dữ liệu. Tuy nhiên, cũng như nhiều hệ thống khác, để có thể thao tác được với hệ quản trị cơ sở dữ liệu, người dùng cần phải thực hiện đúng các cơ chế, nắm rõ các quy tắc do hệ quản trị cơ sở dữ liệu đặt ra. Nói cách khác, để hệ quản trị cơ sở dữ liệu thực hiện đúng ý đồ, người sử dụng cần phải truyền đạt mệnh lệnh theo đúng cách mà hệ quản trị cơ sở dữ liệu quy định. Hệ thống các hướng dẫn thực hiện mệnh lệnh do hệ quản trị cơ sở dữ liệu quy định được thể hiện thông qua tập ngôn ngữ và các giao diện dành riêng cho từng nhóm đối tượng người dùng. Chỉ những mệnh lệnh được quy định trong tập ngôn ngữ này mới được hệ quản trị cơ sở dữ liệu thực thi, ngược lại, người sử dụng sẽ nhận được thông báo lỗi tương ứng. Trong phần này, chúng ta sẽ lần lượt tìm hiểu ba ngôn ngữ dữ liệu phổ biến nhất được hệ quản trị cơ sở dữ liệu hỗ trợ người sử dụng: Ngôn ngữ định nghĩa dữ liệu. Ngôn ngữ thao tác dữ liệu. Email: namth@buh.edu.vn 15
- Ngôn ngữ điều khiển dữ liệu. 1.6.1 Ngôn ngữ định nghĩa dữ liệu Ngôn ngữ định nghĩa dữ liệu là loại ngôn ngữ được sử dụng để định nghĩa cấu trúc của các thành phần trong cơ sở dữ liệu. Khi đó hệ quản trị cơ sở dữ liệu đóng vai trò là một trình biên dịch chuyên xử lý các câu lệnh định nghĩa dữ liệu nhằm xác định đặc tả cấu trúc các lược đồ và lưu trữ các đặc tả này trong danh mục của cơ sở dữ liệu. Thông qua ngôn ngữ định nghĩa dữ liệu, chúng ta có thể tạo mới, chỉnh sửa, và xóa các lược đồ trong cơ sở dữ liệu. Do vai trò quan trọng của mình, cho nên ngôn ngữ định nghĩa dữ liệu được dành riêng cho nhóm quản trị và thiết kế cơ sở dữ liệu. 1.6.2 Ngôn ngữ thao tác dữ liệu Khi các lược đồ đã được hiện thực thành các cơ sở dữ liệu, người sử dụng có nhu cầu thực hiện các thao tác như thu thập, chèn, sửa, và xóa dữ liệu. Hệ quản trị cơ sở dữ liệu cung cấp cho người sử dụng ngôn ngữ thao tác dữ liệu như là một phương tiện giúp họ tương tác với cơ sở dữ liệu. Do tính phổ biến của mình, ngôn ngữ này dành cho mọi đối tượng người sử dụng. 1.6.3 Ngôn ngữ điều khiển dữ liệu Ngoài hai loại ngôn ngữ dữ liệu nói trên, hệ quản trị cơ sở dữ liệu còn cung cấp cho người dùng ngôn ngữ điều khiển dữ liệu nhằm hỗ trợ họ thực hiện các khai báo bảo mật thông tin và cấp quyền hạn khai thác cơ sở dữ liệu cho những người sử dụng khác trong hệ thống. Ngôn ngữ này dành cho nhóm quản trị viên cơ sở dữ liệu và một số người dùng đặc biệt khác trong hệ thống. Email: namth@buh.edu.vn 16
- 1.6.4 Các giao diện ngôn ngữ dữ liệu Để thuận tiện cho người sử dụng thực hiện các tác vụ trên cơ sở dữ liệu, hệ quản trị cơ sở dữ liệu cung cấp các giao diện thích hợp cho từng nhóm người sử dụng cơ sở dữ liệu cũng như cho từng ngôn ngữ dữ liệu. Các loại giao diện được hệ quản trị cơ sở dữ liệu hỗ trợ hiện nay bao gồm: Giao diện trình đơn dùng cho web client hay trình duyệt: loại này thường gồm các danh mục lựa chọn gọi là trình đơn nhằm hướng dẫn người dùng các bước tạo lập yêu cầu. Giao diện form: để thêm dữ liệu vào, người dùng có thể điền đầy đủ thông tin vào một form hướng dẫn. Ngoài ra, họ còn có thể điền chỉ một vài thông tin vào form rồi yêu cầu hệ quản trị cơ sở dữ liệu thu thập những dữ liệu trùng khớp với các mục đã điền. Các form thường xây dựng dành cho những dùng thông thường với các giao tác đã được tạo sẵn. Giao diện người dùng đồ họa: hiển thị mỗi lược đồ cho người dùng dưới dạng sơ đồ. Người dùng sẽ đặc tả truy vấn bằng việc thao tác với các sơ đồ này. Loại giao diện này thường bao gồm cả trình đơn và form. Giao diện ngôn ngữ tự nhiên: loại này chấp nhận các yêu cầu bằng tiếng Anh hay một ngôn ngữ khác. Một giao diện ngôn ngữ tự nhiên thường có “lược đồ” của riêng nó, tương tự như lược đồ ý niệm cơ sở dữ liệu, và một từ điển các từ vựng chính. Giao diện này hoạt động bằng cách tham khảo các từ vựng trong lược đồ của nó cũng như trong từ điển để thông dịch các yêu cầu. Nếu thông dịch thành công, giao diện này sẽ sinh một truy vấn cấp cao tương ứng và gửi đến hệ quản trị cơ sở dữ liệu yêu cầu xử lý. Ngược lại, giao diện sẽ phát sinh một hộp thoại yêu cầu người dùng hiệu chỉnh yêu cầu. Giao diện dành cho người dùng thông thường: những loại người dùng thông thường như các giao dịch viên ngân hàng, thường chỉ có một số thao tác lặp đi lặp lại trên cơ sở dữ liệu. Các nhà phân tích và thiết kế sẽ tạo cho Email: namth@buh.edu.vn 17
CÓ THỂ BẠN MUỐN DOWNLOAD
-
Giáo trình Cơ sở dữ liệu - Ngô Trần Thanh Thảo
176 p | 1613 | 686
-
Giáo trình Cơ sở dữ liệu quan hệ - Phạm Đức Nhiệm
101 p | 504 | 153
-
Giáo trình Cơ sở dữ liệu: Phần 1 - Đại học Kinh tế TP. HCM
134 p | 173 | 37
-
Giáo trình Cơ sở dữ liệu: Phần 1 - Cao Thị Nhạn, Nguyễn Thị Thanh Bình
54 p | 240 | 29
-
Giáo trình Cơ sở dữ liệu: Phần 1 - Sở Bưu chính Viễn Thông TP Hà Nội
48 p | 212 | 25
-
Giáo trình Cơ sở dữ liệu: Phần 2 - Sở Bưu chính Viễn Thông TP Hà Nội
81 p | 127 | 21
-
Giáo trình Cơ sở dữ liệu: Phần 1 - ĐH công nghiệp Tp.HCM
41 p | 179 | 19
-
Giáo trình Cơ sở dữ liệu - Trần Thị Thúy Mai (Biên soạn)
67 p | 31 | 14
-
Giáo trình Cơ sở dữ liệu (Tập 1): Phần 1 - TS. Nguyễn Thị Thu Thuỷ (Chủ biên)
126 p | 37 | 11
-
Giáo trình Cơ sở dữ liệu (Nghề: Quản trị mạng - Trình độ: Cao đẳng) - Trường Cao đẳng nghề Cần Thơ
48 p | 14 | 10
-
Giáo trình Cơ sở dữ liệu (Nghề Tin học ứng dụng - Trình độ Cao đẳng) - CĐ GTVT Trung ương I
76 p | 35 | 8
-
Giáo trình Cơ sở dữ liệu (Nghề: Lập trình máy tính-CĐ) - CĐ Cơ Giới Ninh Bình
88 p | 62 | 8
-
Giáo trình Cơ sở dữ liệu nâng cao (Ngành: Hệ thống thông tin) - CĐ Kinh tế Kỹ thuật TP.HCM
77 p | 44 | 8
-
Giáo trình Cơ sở dữ liệu (Nghề: Kỹ thuật sửa chữa, lắp ráp máy tính - Cao đẳng): Phần 2 - Trường CĐ nghề Việt Nam - Hàn Quốc thành phố Hà Nội
83 p | 31 | 6
-
Giáo trình Cơ sở dữ liệu (Nghề: Kỹ thuật sửa chữa, lắp ráp máy tính - Cao đẳng): Phần 1 - Trường CĐ nghề Việt Nam - Hàn Quốc thành phố Hà Nội
40 p | 30 | 6
-
Giáo trình Cơ sở dữ liệu (Ngành: Công nghệ thông tin - Cao đẳng) - Trường Cao đẳng Xây dựng số 1
55 p | 12 | 5
-
Giáo trình Cơ sở dữ liệu (Ngành: Công nghệ thông tin - Trình độ: Trung cấp) - Trường Trung cấp Kinh tế - Kỹ thuật Bình Thuận
97 p | 5 | 4
-
Giáo trình Cơ sở dữ liệu phân bổ - CĐ Nghề Công Nghiệp Hà Nội
93 p | 47 | 3
Chịu trách nhiệm nội dung:
Nguyễn Công Hà - Giám đốc Công ty TNHH TÀI LIỆU TRỰC TUYẾN VI NA
LIÊN HỆ
Địa chỉ: P402, 54A Nơ Trang Long, Phường 14, Q.Bình Thạnh, TP.HCM
Hotline: 093 303 0098
Email: support@tailieu.vn