Hệ quản trị cơ sở dữ liệu (tiếng Anh: Database Management System DBMS), là phần mềm hay hệ thống được thiết kế để quản trị một cơ sở dữ liệu. Cụ thể, các chương trình thuộc loại này hỗ trợ khả năng lưu trữ, sửa chữa, xóa và tìm kiếm thông tin trong một cơ sở dữ liệu (CSDL). Có rất nhiều loại hệ quản trị CSDL khác nhau: từ phần mềm nhỏ chạy trên máy tính cá nhân cho đến những hệ quản trị phức tạp chạy trên một hoặc nhiều siêu máy tính. Tuy nhiên, đa số hệ quản trị CSDL trên thị trường đều có một đặc điểm chung là sử dụng ngôn ngữ truy vấn theo cấu trúc mà tiếng Anh gọi là Structured Query Language (SQL). Các hệ quản trị CSDL phổ biến được nhiều người biết đến là MySQL, Oracle, PostgreSQL, SQL Server, DB2, Infomix, v.v. Phần lớn các hệ quản trị CSDL kể trên hoạt động tốt trên nhiều hệ điều hành khác nhau như Linux, Unix và MacOS ngoại trừ SQL Server của Microsoft chỉ chạy trên hệ điều hành Windows.
1 TRƢỜNG ĐẠI HỌC SƢ PHẠM KỸ THUẬT HƢNG YÊN KHOA CÔNG NGHỆ THÔNG TIN ĐỀ CƢƠNG BÀI GIẢNG HỌC PHẦN: CƠ SỞ DỮ LIỆU Trình độ đào tạo Hệ đào tạo : : Đại học Chính quy TRƢỜNG ĐẠI HỌC SƢ PHẠM KỸ THUẬT HƢNG YÊN KHOA CÔNG NGHỆ THÔNG TIN ĐỀ CƢƠNG BÀI GIẢNG HỌC PHẦN: CƠ SỞ DỮ LIỆU Trình độ đào tạo: Đại học Hệ đào tạo : Chính quy Ngành : CNTT NĂM 2014-2015 2 MỤC LỤC 1. CÁC KHÁI NIỆM CƠ BẢN VỀ HỆ CƠ SỞ DỮ LIỆU 7 1.1. Dữ liệu - thông tin 7 1.1.1. Dữ liệu 7 1.1.2.Thông tin 9 1.2. Các hệ thống xử lý truyền thống 9 1.3. Hệ cơ sở dữ liệu 10 1.3.1. CSDL là gì? 10 1.3.2. Hệ quản trị CSDL 11 1.3.2.Các chức năng của một hệ quản trị cơ sở dữ liệu 12 1.3.3.Các đặc trƣng của giải pháp cơ sở dữ liệu 13 1.3.4. Lƣợc đồ và trạng thái cơ sở dữ liệu 15 1.4. Các mô hình dữ liệu 16 Các loại mô hình cơ sở dữ liệu 17 1.4.1. Mô hình thực thể - liên kết (thực thể -quan hệ) 18 1.4.2. Mô hình dữ liệu quan hệ 18 1.4.3. Mô hình dữ liệu mạng 18 1.4.4. Mô hình dữ liệu phân cấp 19 2. MÔ HÌNH THỰC THỂ LIÊN KẾT 20 2.1. Sử dụng mô hình quan niệm bậc cao cho việc thiết kế cơ sở dữ liệu 20 2.2. Các thành phần cơ bản của mô hình ER 22 2.2. 1. Thực thể và thuộc tính 22 2.2. 2. Kiểu thực thể, tập thực thể, khóa và tập giá trị 23 2.2.3. Kiểu liên kết, tập liên kết và các thể hiện 25 2.2.4.Cấp liên kết, tên vai trò và kiểu liên kết đệ quy 26 2.2.5. Các ràng buộc trên các kiểu liên kết 27 2.2.6.Thuộc tính của các kiểu liên kết 28 2.2.7.Các kiểu thực thể yếu 28 2.3. Ví dụ về thiết kế CSDL dựa trên mô hình ER 29 2.4. Tổng kết mô hình thực thể - liên kết 31 2. 4.1 Tóm tắt 31 2.4.2.Câu hỏi luyện tập 31 3. MÔ HÌNH QUAN HỆ - CHUYỂN MÔ HÌNH ER SANG MÔ HÌNH QUAN HỆ 33 3.1.Các khái niệm 33 3.1.1.Thuộc tính (Attribute) 33 3.1.2.Lƣợc đồ quan hệ (relation schema) 34 3.1.3. Quan hệ (relation) 34 3.1.4.Bộ (tuple) 35 3.1.5.Siêu khóa - khóa (super key - key) 35 3.2. Cơ sở dữ liệu quan hệ và lƣợc đồ cơ sở dữ liệu quan hệ 37 3.3. Ràng buộc toàn vẹn 39 3.3.1. Khái niệm ràng buộc toàn vẹn 39 3 3.3.2. Các yếu tố của ràng buộc toàn vẹn 40 3.3.3. Phân loại ràng buộc toàn vẹn 41 3.4. Các phép tính trên cơ sở dữ liệu quan hệ 45 3.4.1 .Các phép toán cập nhật trên quan hệ 45 3.4.2. Tìm kiếm dữ liệu (truy vấn dữ liệu) 47 3.5. Các quy tắc chuyển đổi từ lƣợc đồ CSDL ER sang thiết kế quan hệ 47 3.6. Chuyển đổi mô hình cụ thể 52 4. BÀI TẬP VÀ THẢO LUẬN VỀ THIẾT KẾ CSDL DỰA TRÊN 2 Ô HÌNH CSDL: ER VÀ QUAN HỆ 53 4.1. Nhắc lại lý thuyết 53 4.2. Bài tập – thảo luận 53 5. NGÔN NGỮ ĐẠI SỐ QUAN HỆ 53 5.1. Các phép toán đại số quan hệ 53 5.1.1.Phép chọn (SELECT) 53 5.1.2. Phép chiếu (PROJECT) 55 5.1.3. Phép đặt lại tên (RENAME) 56 5.1.4. Các phép toán lý thuyết tập hợp 57 5.1.5.Phép nối (JOIN) 58 5.1.6.Tập hợp đầy đủ các phép toán quan hệ 60 5.1.7.Phép chia 61 6. CÁC PHÉP TOÁN ĐẠI SỐ QUAN HỆ (TIẾP) 61 6.1.Các phép toán quan hệ bổ sung 61 6.1.1.Các hàm nhóm và các phép nhóm 61 6.1.2.Các phép toán khép kín đệ quy 62 6.2. Một số ví dụ về truy vấn trong đại số quan hệ 63 7. CƠ BẢN VỀ TỐI ƢU HÓA MỘT CÂU HỎI TRUY VẤN 64 7.1 Mở đầu 64 7.2 Tổng quan về tối ƣu hóa câu hỏi 64 7.3. Phƣơng pháp ƣớc lƣợng cây đại số quan hệ 66 7.4 Nguyên tắc tối ƣu hóa 67 7.5. Kỹ thuật tối ƣu hoá các biểu thức đại số quan hệ. 67 7.5.1. Biểu thức quan hệ 67 7.5.2. Biến đổi biểu thức quan hệ 68 7.5.3. Các quy tắc tƣơng đƣơng 68 7.5.4 Một số nhận xét khi thực hiện tối ƣu hóa câu hỏi 71 7.6. Ví dụ tối ƣu hóa các câu hỏi 72 7.7. Bài tập 73 8. BÀI TẬP – THẢO LUẬN VỀ NGÔN NGỮ ĐẠI SỐ QUAN HỆ 76 8.1. Nhắc lại lý thuyết 76 8.2. Bài tập – thảo luận 76 9. NGÔN NGỮ TRUY VẤN CẤU TRÚC SQL 76 4 9.1. SQL là chuẩn ngôn ngữ ANSI để truy cập CSDL 76 9.1.1. SQL là gì? 76 9.1.2. SQL là một chuẩn 77 9.2. Bảng CSDL 77 9.3. Ngôn ngữ truy vấn cấu trúc (SQL) 77 9.3.1. SQL là ngôn ngữ thao tác dữ liệu (DML - Data Manipulation Language) 77 9.3.2. SQL là ngôn ngữ định nghĩa dữ liệu (DDL - Data Definition Language) 78 9.4. Các kiểu dữ liệu 78 9.5. Câu lệnh định nghĩa dữ liệu (create database, create table, alter table, drop table ) 79 9.5.1. Tạo một CSDL 79 9.5.2. Tạo một bảng trong một CSDL 79 9.5.3. Các ràng buộc toàn vẹn (TBTV) và cách tạo ràng buộc trên bảng 80 9.5.4.Lệnh sửa đổi bảng(alter table) 84 9.6. Bài tập 85 10.THỰC HÀNH CÂU LỆNH CREATE DATABASE, CREATE TABLE, ALTER TABLE, DROP TABLE 86 11. TRUY VẤN DỮ LIỆU VÀ CẬP NHẬT DỮ LIỆU 86 11.1. Cập nhật dữ liệu 86 11.1.1. Câu lệnh thêm dữ liệu (insert) 86 11.1.2. Câu lệnh sửa đổi dữ liệu (update) 87 11.1.3. Câu lệnh xóa dữ liệu (delete) 87 11.2. Truy vấn cơ bản 88 11.2.1. Cú pháp cơ bản của câu lệnh select cơ bản 88 11.2.2. SQL và đại số quan hệ 89 11.2.3. Mệnh đề select 89 11.2.4. Mệnh đề where 90 11.2.5. Mệnh đề order by 92 11.2.6. Kết nối bảng 93 11.3. Các bài tập về truy vấn cơ bản 94 12. CÁC PHÉP TOÁN TẬP HỢP VÀ TRUY VẤN LỒNG 94 12.1. Các phép toán tập hợp 94 12.1.1. Toán tử UNION 94 12.1.2. Toán tử EXCEPT và INTERSECT 95 12.2. Truy vấn lồng 95 12.2.1. Truy vấn lồng phân cấp 96 12.2.2. Truy vấn lồng tƣơng quan 96 12.3. Bài tập liên quan đến các phép toán tập hợp và truy vấn lồng 97 13. THỰC HÀNH RBTV 97 14. THỰC HÀNH VỀ CẬP NHẬT DỮ LIỆU 97 15. THỰC HÀNH VỀ TRUY VẤN CƠ BẢN 97 16. THỰC HÀNH VỀ CÁC PHÉP TOÁN TẬP HỢP VÀ TRUY VẤN LỒNG 97 17. HÀM KẾT HỢP VÀ GOM NHÓM, MỘT SỐ TRUY VẤN KHÁC 97 5 17.1. Hàm kết hợp 97 17.1.1. Hàm count(), min(), max(), sum(), avg() 97 17.2. Gom nhóm 100 17.2.1. Cú pháp 100 17.2.2. Điều kiện trên nhóm 100 17.3. Thứ tự thực hiện câu truy vấn có mệnh đề Group by và Having 101 17.4. Bài tập liên quan đến hàm kết hợp và gom nhóm 102 17.5. Một số dạng truy vấn khác 102 17.5.1. Truy vấn con ở mệnh đề From 102 17.5.2. Điều kiện kết nối ở mệnh đề From 102 17.6. Các bài tập liên quan đến một số dạng truy vấn khác 103 18. THỰC HÀNH HÀM KẾT HỢP VÀ GOM NHÓM 103 19. THỰC HÀNH MỘT SỐ DẠNG TRUY VẤN KHÁC 103 20. KIỂM TRA THỰC HÀNH 103 21. PHỤ THUỘC HÀM 103 21.1. Khái niệm 103 21.2. Một số tính chất của phụ thuộc hàm 105 21.3. Định nghĩa suy dẫn theo quan hệ 106 21.4. Hệ tiên đề Amstrong (Armstrong‟s Axioms) 107 21.5. Định nghĩa suy dẫn theo hệ tiên đề Amstrong 108 21.6. Bao đóng của tập thuộc tính (closures of attribute sets) 108 21.6.1. Thuật toán tìm bao đóng của một tập thuộc tính 111 21.6.2. Thuật toán cơ bản tìm F + 114 22. PHỦ CỦA TẬP PHỤ THUỘC HÀM 115 22.1. Định nghĩa tƣơng đƣơng 115 22.2. Các tập phụ thuộc hàm tƣơng đƣơng 116 22.3. Phụ thuộc hàm không dƣ thừa 117 22.3.1. Phụ thuộc hàm dƣ thừa 117 22.3.2. Phủ không dƣ 118 22.4 Phủ thu gọn 119 22.4.1. Phụ thuộc hàm có vế trái dƣ thừa: 119 22.4.2. Tập phụ thuộc hàm có vế phải một thuộc tính: 119 22.4.3. Tập phụ thuộc hàm không dƣ thừa (phủ không dƣ): 119 22.4.4. Tập phụ thuộc hàm tối thiểu: 120 23. BÀI TẬP VỀ PHỤ THUỘC HÀM 121 23.1. Nhắc lại lý thuyết 121 23.2. Bài tập áp dụng 121 24. KHÓA CỦA LƢỢC ĐỒ QUAN HỆ 121 24.1. Siêu khóa và khóa 121 24.2. Họ Sperner và khóa 122 24.3. Một số vấn đề về khóa 123 6 24.3.1.Tìm một khoá của lƣợc đồ quan hệ 123 24.3.2. Kiểm tra một tập cho trƣớc có phải là khoá hay không? 124 24.3.3. Giao của tất cả các khoá 124 24.3.4. Thuật toán kiểm tra một lƣợc đồ đã cho có một hay nhiều khoá 127 24.3.5. Thuật toán tìm tất cả các khoá của lƣợc đồ quan hệ 127 25. BÀI TẬP VỀ KHÓA CỦA LƢỢC ĐỒ QUAN HỆ 130 25.1. Nhắc lại lý thuyết 130 25.2. Bài tập 130 26. CÁC DẠNG CHUẨN CƠ BẢN CỦA LƢỢC ĐỒ QUAN HỆ 130 26.1. Một số khái niệm liên quan 130 26.2. Các dạng chuẩn 131 26.2.1. Dạng chuẩn 1( 1NF-first normal form) 132 26.2.2. Dạng chuẩn 2NF (second normal form) 133 26.2.3. Dạng chuẩn 3 (3NF- Third normal form) 135 26.2.4. Dạng chuẩn Boyce Codd ( BCNF- Boyce Codd normal form) 135 26.4. Mối quan hệ giữa các dạng chuẩn cơ bản 136 27. PHÉP TÁCH LƢỢC ĐỒ QUAN HỆ 137 27.1. Tách lƣợc đồ quan hệ 137 27.2. Phép tách bảo toàn phụ thuộc hàm 141 27.3. Tách không mất thông tin thành các lƣợc đồ ở dạng BCNF 141 27.4. Bài tập và thảo luận về phép tách 143 27.5.Tổng kết 143 28. BÀI TẬP – THẢO LUẬN VỀ CÁC DẠNG CHUẨN HÓA VÀ PHÉP TÁCH CỦA LĐ 144 28.1. Nhắc lại lý thuyết 144 28.2. Bài tập – thảo luận 144 7 1. CÁC KHÁI NIỆM CƠ BẢN VỀ HỆ CƠ SỞ DỮ LIỆU Lý thuyết CSDL là lĩnh vực của tin học nhằm nghiên cứu các cơ chế, nguyên lý, phƣơng pháp tổ chức, lƣu trữ dữ liệu trên các thiết bị mang tin, nhằm khai thác có hiệu quả dữ liệu đƣợc lƣu trữ. Các cơ sở dữ liệu và các hệ cơ sở dữ liệu đã trở thành một thành phần chủ yếu trong cuộc sống hàng ngày của xã hội hiện đại. Trong vòng một ngày con ngƣời có thể có nhiều hoạt động cần có sự giao tiếp với cơ sở dữ liệu nhƣ: đến ngân hàng để rút tiền và gửi tiền, đăng ký chỗ trên máy bay hoặc khách sạn, truy cập vào thƣ viện đã tin học hoá để tìm sách báo, đặt mua tạp chí ở một nhà xuất bản…Tại các ngân hàng, các cửa hàng, ngƣời ta cũng cập nhật tự động việc quản lý tiền bạc, hàng hoá. Tất cả các giao tiếp nhƣ trên đƣợc gọi là các ứng dụng của cơ sở dữ liệu truyền thống. Trong các cơ sở dữ liệu truyền thống, hầu hết các thông tin đƣợc lƣu giữ và truy cập là văn bản hoặc số. Những năm gần đây, những tiến bộ về kỹ thuật đã đƣa đến những ứng dụng mới của cơ sở dữ liệu. Các cơ sở dữ liệu đa phƣơng tiện bây giờ có thể lƣu trữ hình ảnh, phim và tiếng nói. Các hệ thống thông tin địa lý có thể lƣu trữ và phân tích các bản đồ, các dữ liệu về thời tiết và các ảnh vệ tinh. Kho dữ liệu và các hệ thống phân tích trực tuyến đƣợc sử dụng trong nhiều công ty để lấy ra và phân tích những thông tin có lợi từ các cơ sở dữ liệu rất lớn nhằm đƣa ra các quyết định. Các kỹ thuật cơ sở dữ liệu động và thời gian thực đƣợc sử dụng trong việc kiểm tra các tiến trình công nghiệp và sản xuất. Các kỹ thuật tìm kiếm cơ sở dữ liệu đang đƣợc áp dụng cho World Wide Web để cung cấp việc tìm kiếm các thông tin cần thiết cho ngƣời sử dụng bằng cách duyệt qua Internet. Để hiểu đƣợc các cơ sở kỹ thuật của cơ sở dữ liệu chúng ta phải bắt đầu từ các cơ sở kỹ thuật của cơ sở dữ liệu truyền thống. Mục đích của giáo trình này là nghiên cứu các cơ sở kỹ thuật đó. Trong chƣơng này chúng ta sẽ định nghĩa cơ sở dữ liệu, hệ quản trị cơ sở dữ liệu, mô hình cơ sở dữ liệu và các thuật ngữ cơ bản khác. 1.1. Dữ liệu - thông tin 1.1.1. Dữ liệu Dữ liệu là các sự kiện không có cấu trúc, không có ý nghĩa. Mọi thông tin đƣợc quản lý trên máy tính điện tử theo bất kỳ phƣơng cách gì cũng đều phải đƣợc thể hiện bằng các dữ liệu ghi trên một thiết bị lƣu trữ nào đó. Trong tin học, dữ liệu được hiểu là sự biểu diễn các thông tin đưa vào máy tính điện tử để xử lý và thƣờng có các dạng sau đây: 8 Hình 1-1. Các dạng dữ liệu cơ bản Để lƣu trữ trong máy tính điện tử cả dữ liệu số, phi số và tri thức đều đƣợc mã hoã bằng các số nhị phân. - Dữ liệu dạng số bao gồm các số nguyên và các số thực. Ví dụ: 8 (Số nguyên), -57 (Số nguyên), 43.56 (Số thực). Một dạng dữ liệu khác đặc trƣng cho các đại lƣợng logic thƣờng đƣợc “ số hoá ” qua các giá trị 0 và 1. - Dữ liệu phi số bao gồm các văn bản (dạng chữ), âm thanh và hình ảnh. - Dữ liệu dạng tri thức: bao gồm các sự kiện và các luật dẫn. Ví dụ: Bạn Hà đạt điểm tổng kết 9 ở môn Tin học (sự kiện). Nếu học sinh đạt tổng kết từ 8 trở lên ở môn nào thì học sinh ấy đƣợc xếp loại giỏi ở môn đó (Luật dẫn). Tuỳ theo mục đích xử lý chúng ta có thể tiếp tục phân chia dữ liệu thành các cấu trúc nhỏ hơn hoặc gộp các dữ liệu thành các cấu trúc lớn hơn, phức tạp hơn. Vài ví dụ tiêu biểu về dữ liệu: + An đạt 550 điểm trên tổng số 600 điểm. + Nhà tôi cách trƣờng 10km. + Hà sinh ngày 23 tháng 6 năm 883. + Nhạc đƣợc ghi trên băng từ. + Bức hình của bạn. Bản thân dữ liệu không có ý nghĩa nếu không đƣợc sắp sếp hay kết hợp thêm vài dữ liệu nữa. Ví dụ nhƣ điểm của An. Thật tốt khi biết An đƣợc điểm cao nhƣng khi dữ liệu này đƣợc kèm thêm một dữ liệu khác nhƣ: + An đạt 500 trên tổng số 600 điểm. + Hoà đạt 300 trên tổng số 600 điểm. Thì chúng ta có thể làm đƣợc nhiều hơn. Bây giờ chúng ta có thể so sánh chúng và biết thêm một ít về An: + An đạt 500 điểm và + An đạt điểm cao hơn Hoà. Dữ liệu Dữ liệu dạng phi số Dữ liệu dạng số Tri thức Số nguyên Số thực Sự kiện Luật dẫn Hình ảnh Âm thanh Văn bản 9 Xa hơn nếu chúng ta có điểm các sinh viên lớp An, ta sẽ biết nhiều hơn nữa. Ta có thể tính xem An đứng thứ mấy trong lớp. Vì vậy dữ liệu đƣợc xem là quan trọng chỉ khi nào đƣợc xử lý. Để hiểu rõ hơn hãy xem một ví dụ khác: + Bình sinh ngày 20 tháng 10 năm 881. Kết hợp với với một dữ liệu nào đó nhƣ ngày hiện tại: + Hôm nay là ngày 20 tháng 10 năm 2004 sẽ cho ta biết đƣợc Bình bao nhiêu tuổi. 1.1.2.Thông tin a. Khái niệm Khi dữ liệu được xử lý để cho nó có ý nghĩa hơn thì lúc đó sẽ được gọi là thông tin. Một vài ví dụ về thông tin: a. An đạt điểm cao hơn Hoà. b. Chuyến tàu bị trễ mấy 30 phút. c. Giờ thì bình 24 tuổi b. Đặc điểm của thông tin Thông tin mang lại cho con ngƣời sự hiểu biết, nhận thức tốt hơn về những đối tƣợng trong đời sống xã hội, trong thiên nhiên, giúp cho họ thực hiện hợp lý công việc cần làm để đạt tới mục đích một cách tốt nhất. Con ngƣời có nhu cầu đọc báo, nghe đài, xem phim, video, đi tham quan, du lịch, tham khảo ý kiến ngƣời khác, để nhận đƣợc thêm thông tin mới. Nốt nhạc trong bản sô-nát ánh trăng của Beethoven làm cho ngƣời nghe cảm thấy đƣợc sự tƣơi mát, êm dịu của đêm trăng. Những thông tin về cảm xúc của tác giả đó đƣợc truyền đạt lại. Thông tin có thể đƣợc phát sinh, đƣợc lƣu trữ, đƣợc truyền, đƣợc tìm kiếm, đƣợc xử lý, đƣợc sao chép, nhân bản. Thông tin cũng có thể méo mó, bị biến dạng, sai lệch hoặc bị phá huỷ do nhiễu tác động hay do ngƣời xuyên tạc. Thông tin đƣợc thể hiện dƣới nhiều dạng hình thức khác nhau nhƣ sóng ánh sáng, sóng âm, sóng điện từ, các ký hiệu viết trên giấy hoặc khắc trên gỗ, trên đá, trên các tấm kim loại… Chúng còn đƣợc gọi là những vật mang tin. Cùng một thông tin có thể đƣợc biểu diễn bằng những dữ liệu khác nhau. Cũng là năm đơn vị, trong hệ thập phân ta dùng ký hiệu “5” nhƣng trong hệ đếm La mã lại dùng kí hiệu: “V”. Dữ liệu (kí hiệu) có thể là biểu diễn các thông tin khác nhau. Cùng kí hiệu “I” nhƣng trong tiếng Anh có nghĩa là đại từ nhân xƣng ngôi thứ nhất (tôi) còn trong toán học đó lại là chữ số La mã có giá trị là 1 đơn vị. c. So sánh dữ liệu và thông tin Dữ liệu Thông tin 1. Một tập hợp các sự kiện và số liệu 1. Dữ liệu đƣợc tổ chức và sắp xếp 2. Không có giá trị nhiều 2. Luôn luôn có ích. 3. Đƣợc chuyển thành thông tin 3. Cũng có thể chuyển thành dữ liệu. 1.2. Các hệ thống xử lý truyền thống 10 Tiếp cận CSDL đã giải quyết 3 vấn đề của hệ tập tin theo lối cũ: Vấn đề 1: cấu trúc logic và cấu trúc vật lý Kiến trúc bên trong HQTCSDL quan hệ tách biệt rõ ràng giữa: - cấu trúc luận lý của tất cả tập tin và chƣơng trình ứng dụng khai thác tập tin này và - cấu trúc vật lý của csdl và phần lƣu trữ các tập tin. Tiếp cận này tạo cho ngƣời quản trị CSDL có thể thay đổi cấu trúc vật lý hay nơi lƣu trữ của tập tin mà không ảnh hƣởng đến chƣơng trình ứng dụng. Vấn đề 2: dƣ thừa dữ liệu Khi HQTCSDLQH đƣợc giới thiệu, nhiều tổ chức mong tích hợp các tập tin đã phân tán khắp trong tổ chức vào một CSDL tập trung. Dữ liệu có thể chia sẻ cho nhiều ứng dụng khác nhau và ngƣời sử dụng có thể khai thác đồng thời các tập con dữ liệu liên quan đến họ. Điều này làm hạn chế sự dƣthừa dữ liệu. Vấn đề 3: Sự khai thác dữ liệu của ngƣời sử dụng Trong hệ QTCSDLQH ngƣời dùng có thể trực tiếp khai thác dữ liệu thông qua việc sử dụng các câu truy vấn hay các công cụ báo cáo đƣợc cung cấp bởi hệ QTCSDL. - Cơ sở dữ liệu là một tập các dữ liệu về một đối tƣợng cần đƣợc cần đƣợc quản lý, đƣợc lƣu trữ trên các thiết bị mang tin, và đƣợc quản lý theo một cơ chế thống nhất, nhằm thực hiện tốt các chức năng sau: + Mô tả dữ liệu. + Cập nhật dữ liệu. + Tìm kiếm nói riêng, khai thác dữ liệu nói chung. - Hệ quản trị CSDL (database management system) là một hệ thống phần mềm giúp ngƣời sử dụng có thể thực hiện các chức năng: mô tả dữ liệu, cập nhật và tìm kiếm. - Ngƣời quản trị CSDL là ngƣời có thể thực hiện các thao tác sau: + Tạo lập dữ liệu + Bổ sung dữ liệu + Xoá dữ liệu + Tìm kiếm + Bảo quản 1.3. Hệ cơ sở dữ liệu 1.3.1. CSDL là gì? Cơ sở dữ liệu và kỹ thuật cơ sở dữ liệu đã có ảnh hƣởng rất lớn đến việc sử dụng máy tính. Có thể nói rằng cơ sở dữ liệu đóng vai trò quan trọng trong mọi lĩnh vực có sử dụng máy tính nhƣ giáo dục, thƣơng mại, kỹ nghệ, khoa học, thƣ viện,… Thuật ngữ cơ sở dữ liệu trở thành một thuật ngữ phổ dụng. [...]... cơ sở dữ liệu sang một trạng thái khác Việc phân biệt giữa lƣợc đồ cơ sở dữ liệu và trạng thái cơ sở dữ liệu là rất quan trọng Khi chúng ta định nghĩa một cơ sở dữ liệu mới, ta chỉ đặc tả lƣợc đồ cơ sở dữ liệu cho hệ quản trị cơ sở dữ liệu Tại thời điểm này, trạng thái của cơ sở dữ liệu là một trạng thái rỗng, không có dữ liệu Chúng ta nhận đƣợc trạng thái ban đầu của cơ sở dữ liệu khi ta nhập dữ liệu. .. cơ sở dữ liệu Hệ quản trị cơ sở dữ liệu phải có phần mềm kiểm tra cạnh tranh để đảm bảo rằng các ngƣời sử dụng cập nhật đến cùng một cơ sở dữ liệu 14 phải đƣợc thực hiện theo cách đƣợc kiểm tra để cho kết quả của các cập nhật là đúng đắn 1.3.4 Lược đồ và trạng thái cơ sở dữ liệu Trong một mô hình dữ liệu cần phải phân biệt rõ giữa mô tả của cơ sở dữ liệu và bản thân cơ sở dữ liệu Mô tả của một cơ sở. .. một cơ sở dữ liệu Nó là một hệ thống phần mềm phổ dụng, làm dễ quá trình định nghĩa, xây dựng và thao tác cơ sở dữ liệu cho các ứng dụng khác nhau Định nghĩa một 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 các dữ liệu sẽ đƣợc lƣu trữ trong cơ sở Xây dựng một cơ sở dữ liệu là quá trình 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. .. Các dữ liệu trong một cơ sở dữ liệu có thể thay đổi một cách thƣờng xuyên Các dữ liệu trong một cơ sở dữ liệu tại một thời điểm cụ thể đƣợc gọi là một trạng thái cơ sở dữ liệu hoặc là ảnh (snapshot) của cơ sở dữ liệu Nhiều trạng thái quan hệ có thể đƣợc xây dựng để làm tƣơng ứng với một lƣợc đồ cơ sở dữ liệu cụ thể Mỗi khi chúng ta chèn vào hoặc loại bỏ một bản ghi, sửa đổi giá trị của một mục dữ liệu. .. ra các cơ sở dữ liệu tốt và trên cơ sở đó sẽ có các ứng dụng tốt Ngƣợc lại, mô hình không tốt sẽ đƣa đến thiết kế cơ sở dữ liệu tồi và dẫn đến các ứng dụng không đúng Một mô hình cơ sở dữ liệu là một tập hợp các khái niệm (kí hiệu) dùng để biểu diễn các cấu trúc của cơ sở dữ liệu Cấu trúc của một cơ sở dữ liệu là 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... Các tính chất của một cơ sở dữ liệu Một cơ sở dữ liệu có các tính chất sau: 1 Một cơ sở dữ liệu biểu thị một khía cạnh nào đó của thế giới thực nhƣ hoạt động của một công ty, một nhà trƣờng, một ngân hàng… Những thay đổi của thế giới thực phải đƣợc phản ánh một cách trung thực vào trong cơ sở dữ liệu Những thông tin đƣợc đƣa vào trong cơ sở dữ liệu tạo thành một không gian cơ sở dữ liệu hoặc là một “thế... đối với cơ sở dữ liệu, chúng ta nhận đƣợc một trạng thái cơ sở dữ liệu khác Tại mọi thời điểm, cơ sở dữ liệu có một trạng thái hiện tại Hệ quản trị cơ sở dữ liệu có trách nhiệm đảm bảo rằng mỗi trạng thái cơ sở dữ liệu là một trạng thái vững chắc, nghĩa là một trạng thái thoả mãn cấu trúc và các ràng buộc đƣợc đặc tả trong lƣợc đồ Vì vậy, việc đặc tả một lƣợc đồ đúng đắn cho hệ quản trị cơ sở dữ liệu. .. phƣơng tiện lƣu trữ đƣợc hệ quản trị cơ sở dữ liệu kiểm soát 11 Thao tác một cơ sở dữ liệu bao gồm các chức năng nhƣ truy vấn cơ sở dữ liệu để lấy ra các dữ liệu cụ thể, cập nhật cơ sở dữ liệu để phản ánh các thay đổi trong thế giới nhỏ và tạo ra các báo cáo từ các dữ liệu Các hệ quản trị cơ sở dữ liệu dùng để thể hiện một cơ sở dữ liệu tin học hoá có thể là phổ dụng (là một phần mềm đóng gói) hoặc có thể... thiết kế cơ sở dữ liệu là việc cài đặt một cơ sở dữ liệu bằng cách sử dụng một hệ quản trị cơ sở dữ liệu có sẵn Hầu hết các hệ quản trị cơ sở dữ liệu sử dụng một mô hình dữ liệu cài đặt (thể hiện), chẳng hạn nhƣ mô hình quan hệ hoặc đối tƣợng, vì vậy lƣợc đồ quan niệm đƣợc chuyển từ mô hình dữ liệu bậc cao thành mô hình dữ liệu cài đặt Bƣớc này gọi là thiết kế logic hoặc là ánh xạ mô hình dữ liệu Kết... nguồn cung cấp dữ liệu, một mức độ tƣơng tác với các sự kiện trong thế giới thực và một nhóm ngƣời quan tâm tích cực đến các nội dung của nó Một cơ sở dữ liệu có thể có cỡ tuỳ ý và có độ phức tạp thay đổi Có những cơ sở dữ liệu chỉ gồm vài trăm bản ghi (nhƣ cơ sở dữ liệu phục vụ việc quản lý lƣơng ở một cơ quan nhỏ), và có những cơ sở dữ liệu có dung lƣợng rất lớn (nhƣ các cơ sở dữ liệu phục vụ cho . giữa mô tả của cơ sở dữ liệu và bản thân cơ sở dữ liệu. Mô tả của một cơ sở dữ liệu đƣợc gọi là lược đồ cơ sở dữ liệu, nó đƣợc xác định rõ trong quá trình thiết kế cơ sở dữ liệu và không bị. giữa lƣợc đồ cơ sở dữ liệu và trạng thái cơ sở dữ liệu là rất quan trọng. Khi chúng ta định nghĩa một cơ sở dữ liệu mới, ta chỉ đặc tả lƣợc đồ cơ sở dữ liệu cho hệ quản trị cơ sở dữ liệu. Tại. này chúng ta sẽ định nghĩa cơ sở dữ liệu, hệ quản trị cơ sở dữ liệu, mô hình cơ sở dữ liệu và các thuật ngữ cơ bản khác. 1.1. Dữ liệu - thông tin 1.1.1. Dữ liệu Dữ liệu là các sự kiện không