Chương 1: Tổng quan về Hệ cơ sở dữ liệu. - Chương 2: Mô hình dữ liệu - Chương 3: Ngôn ngữ truy vấn quan hệ - Chương 4: Phụ thuộc hàm - Chương 5: Chuẩn hoá dữ liệu. TỔNG QUAN VỀ HỆ CƠ SỞ DỮ LIỆU Mục tiêu về kiến thức: Trang bị cho sinh viên những khái niệm cơ bản về Cơ sở dữ liệu và hệ cơ sở dữ liệu, khái niệm về Dũ liệu và Thông tin, các kiến thức về mô hình trừu tượng 3 lớp, các ngôn ngữ cơ sở dữ liệu, cách thiết kế cơ sở diuwx liệu và phân loại các hệ cơ sở dữ liệu. Mục tiêu về kỹ năng: Nắm chắc được các khái niệm cơ bản nhất của chương như các ngôn ngữ cơ sở dữ liệu và phân loại được các hệ cơ sở dữ liệu.
CÁC KHÁI NIỆM CƠ BẢN 1. Cơ sở dữ liệu và Hệ quản trị cơ sở dữ liệu Cơ sở dữ liệu (CSDL) là một hệ thống các thông tin có cấu trúc được lưu trữ trên các thiết bị như băng từ, đĩa từ,… để có thể thoả mãn yêu cầu khai thác đồng thời của nhiều người sử dụng. CSDL gắn liền với đại số, logic toán và một số lĩnh vực khác. Giảm sự trùng lắp thông tin xuống mức thấp nhất và do đó bảo đảm được tính nhất quán và toàn vẹn dữ liệu.
Đảm bảo dữ liệu có thể 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. Hệ quản trị cơ dữ liệu: Để giải quyết tốt những vấn đề mà cách tổ chức CSDL đặt ra như đã nói ở trên, cần thiết phải có những phần mềm chuyên dùng để khai thác chúng. Những phần mềm này được gọi là các hệ quản trị CSDL.
Các hệ quản trị CSDL có nhiệm vụ hỗ trợ cho các nhà phân tích thiết kế CSDL cũng như những người khai thác CSDL. Hiện nay trên thị trường phần mềm đã có những hệ quản trị CSDL hỗ trợ được nhiều tiện ích như: MS Access, Visual Foxpro, SQL Server Oracle, … 1. Hệ Quản trị cơ sở dữ liệu, ưu điểm và nhược điểm Như chúng ta đã biết, kích thước và độ phức tạp của CSDL rất khác nhau, ví dụ như danh bạ điện thoại của một quốc gia, một thành phố. chứa tới hàng triệu số và những thông tin cần thiết về khách hàng.
Trong trường Đại học có tới hàng ngàn sinh viên. Nhà trường phải quản lý tất cả những thông tin liên quan đến sinh viên như: Tên, ngày sinh, quê quán, địa chỉ, kết 3 quả học tập. Vấn đề là bộ nhớ cần phải được giải quyết. Tuy nhiên, quan trọng hơn ở đây lại là cách thức tổ chức dữ liệu trong một CSDL để phục vụ cho việc truy cập, tìm kiếm, cập nhật.
nhanh chóng và an toàn hơn. Để giải quyết tốt tất cả các vấn đề đặt ra cho một CSDL như đã nêu trên, cần phải có một hệ thống các phần mềm chuyên dụng được gọi là hệ quản trị CSDL (Database Management System - DBMS). Đó là các công cụ hỗ trợ tích cực cho các nhà phân tích và thiết kế CSDL và những người khai thác CSDL. Các khái niệm: Một hệ quản trị CSDL là một tập hợp các chương trình giúp cho người sử dụng quản lý cấu trúc và dữ liệu của CSDL, điều khiển truy xuất dữ liệu trong CSDL, duy trì và khai thác một CSDL.
Định nghĩa một CSDL: Tạo cấu trúc dữ liệu tương ứng với mô hình dữ liệu được chọn, 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 CSDL. Xây dựng một CSDL: 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ị CSDL kiểm soát. Thao tác một CSDL: Bao gồm các chức năng như truy vấn CSDL để lấy ra các dữ liệu cụ thể, cập nhật CSDL để 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. Cho đến nay có khá nhiều hệ quản trị CSDL mạnh được đưa ra thị trường như: Visual FoxPro, Microsoft Access, SQL Server, DB2, Sybase, Paradox, Informix, Oracle.
với các chất lượng khác nhau. Các chức năng của một hệ quản trị cơ sở dữ liệu: Cung cấp môi trường tạo lập CSDL: Một hệ quản trị CSDL phải cung cấp một môi trường cho người dùng dễ dàng khai báo kiểu dữ liệu, các cấu trúc dữ liệu thể hiện thông tin và các ràng buộc trên dữ liệu. Với các hệ quản trị CSDL hiện nay, người dùng có thể tạo lập CSDL thông qua các giao diện đồ hoạ. Để thực hiện được chức năng này, mỗi hệ quản trị CSDL cung cấp cho người dùng một ngôn ngữ định nghĩa dữ liệu.
Ta có thể hiểu ngôn ngữ định nghĩa dữ liệu thực chất là 4 hệ thống các ký hiệu để mô tả CSDL. Cung cấp môi trường cập nhật và khai thác dữ liệu: Ngôn ngữ để người dùng diễn tả yêu cầu cập nhật hay tìm kiếm, kết xuất thông tin được gọi là ngôn ngữ thao tác dữ liệu. Thao tác dữ liệu gồm: Cập nhật (nhập thêm, sửa, xoá dữ liệu) và Khai thác (tìm kiếm, kết xuất dữ liệu). Trong thực tế, ngôn ngữ định nghĩa dữ liệu và ngôn ngữ thao tác dữ liệu là 2 thành phần của một ngôn ngữ CSDL duy nhất.
Ngôn ngữ CSDL được sử dụng phổ biến hiện nay là SQL (Structured Query Language) cung cấp công cụ kiểm soát, điều khiển truy cập vào CSDL Để góp phần đảm bảo được các yêu cầu đặt ra cho một hệ CSDL, hệ quản trị CSDL phải có các bộ chương trình thực hiện những nhiệm vụ sau: Phát hiện và ngăn chặn sự truy cập không được phép. Chức năng này góp phần đáp ứng yêu cầu an toàn và bảo mật thông tin. Duy trì tính nhất quán của dữ liệu. Tổ chức và điều khiển các truy cập đồng thời để bảo vệ các ràng buộc toàn vẹn và tính nhất quán.
Khôi phục CSDL khi có sự cố ở phần cứng hay phần mềm. Quản lí các mô tả dữ liệu. Nói chung, mọi hệ quản trị CSDL đều có thể cung cấp các chương trình nêu trên, nhưng các hệ quản trị CSDL khác nhau có chất lượng và khả năng khác nhau khi đáp ứng các nhu cầu thực tế. Chẳng hạn, một hệ quản trị CSDL dùng trên một máy tính cá nhân chỉ cung cấp những phương tiện bảo vệ dữ liệu, duy trì tính nhất quán dữ liệu, khôi phục dữ liệu một cách hạn chế.
Trong khi đó, những hệ quản trị CSDL lớn, phục vụ cùng lúc cho nhiều người dùng, ngoài các phương tiện kể trên có thể có thêm những chức năng khác như xử lí các truy cập đồng thời. Các hệ quản trị CSDL luôn phát triển theo hướng đáp ứng các đòi hỏi ngày càng cao hơn của người dùng, bởi vậy các chức năng của hệ quản trị CSDL ngày càng được mở rộng hơn. Các thành phần của một hệ quản trị cơ sở dữ liệu Ngôn ngữ giao tiếp giữa người sử dụng và CSDL, bao gồm: Ngôn ngữ mô tả dữ liệu (Data Definition Language - DDL), cho phép khai báo cấu trúc CSDL, khai báo các mối liên hệ của dữ liệu (Data Relationship) và các quy tắc (Rules, Constraint) quản lý áp đặt lên các dữ liệu đó. Ngôn ngữ thao tác dữ liệu (Data Manipulation Language - DML), cho phép người sử dụng có thể thêm (Insert), xóa (Delete), sửa (Update) dữ liệu trong CSDL.
Ngôn ngữ truy vấn dữ liệu (Data Query Language - DQL), cho phép những người khai thác (chuyên nghiệp hoặc không chuyên) sử dụng để tìm kiếm các thông tin cần thiết trong CSDL. Ngôn ngữ quản lý dữ liệu (Data Control Language - DCL), cho phép những người quản trị hệ thống khai báo bảo mật thông tin và cấp quyền hạn khai thác CSDL cho người sử dụng. Từ điển dữ liệu (Data Dictionary): Dùng để ghi nhận các thành phần cấu trúc của CSDL, mô tả các ánh xạ liên kết, mật mã, quyền hạn sử dụng, các chương trình ứng dụng. Có biện pháp phân quyền và bảo mật tốt khi có yêu cầu bảo mật.
Cơ chế giải quyết vấn đề tranh chấp dữ liệu. Mỗi hệ quản trị CSDL cũng có thể cài đặt một cơ chế riêng để giải quyết các vấn đề này. Một số biện pháp sau đây được sử dụng: Cấp quyền ưu tiên cho từng người sử dụng (người quản trị CSDL thực hiện). Đánh dấu yêu cầu truy xuất dữ liệu, phân chia thời gian, người nào có yêu cầu trước thì có quyền truy xuất dữ liệu trước.
Hệ quản trị CSDL cũng phải có cơ chế sao lưu (Backup) và phục hồi (Restore) dữ liệu khi có sự cố xảy ra. Cung cấp một giao diện (Interface) tốt, dễ sử dụng, dễ hiểu cho những người sử dụng không chuyên. Phải bảo đảm tính độc lập giữa dữ liệu và chương trình. Khi có sự thay đổi dữ liệu (như sửa đổi cấu trúc lưu trữ các bảng dữ liệu.) 6 thì các chương trình ứng dụng đang chạy trên CSDL đó vẫn không cần phải được viết lại, hay cũng không làm ảnh hưởng đến những người sử dụng khác.
Dữ liệu và thông tin Thông tin là một khái niệm rất trừu tượng. Thông tin được hiểu như là sự thông báo, trao đổi, giải thích về một đối tượng nào đó và thường được thể hiện dưới dạng các tín hiệu như chữ số, chữ viết, âm thanh, dòng điện. Chẳng hạn thông tin về kết quả học tập của học sinh được giáo viên chủ nhiệm ghi trong sổ liên lạc giúp cho các bậc phụ huynh biết về tình hình học tập của con em mình. Nói một cách tổng quát, thông tin là sự hiểu biết của con người về một thực thể nào đó, có thể thu thập, lưu trữ, xử lí được.
Dữ liệu cũng là một khái niệm rất trừu tượng, là thông tin đã được đưa vào máy tính. Dữ liệu sau khi tập hợp lại và xử lí sẽ cho ta thông tin. Hay nói cách khác, dữ liệu là thông tin đã được mã hoá trong máy tính. Chẳng hạn, con số điểm thi là một dữ liệu hoặc con số về nhiệt độ trong ngày là một dữ liệu, hình ảnh về con người, phong cảnh cũng là những dữ liệu,.
MÔ HÌNH TRỪU TƯỢNG BA LỚP 1. Khái niệm mô hình cơ sở dữ liệu Các loại cấu trúc CSDL và mối liên hệ giữa chúng đóng vai trò rất lớn trong việc xác định tính hiệu quả của hệ quản trị CSDL. Vì vậy, thiết kế CSDL trở thành hoạt động chính trong môi trường CSDL. Việc thiết kế CSDL được thực hiện đơn giản hơn nhiều khi ta sử dụng các mô hình.
Các mô hình là sự trừu tượng đơn giản của các sự kiện trong thế giới thực.