Chương trình Tin học 11 – Định hướng Giáo dục phổ thông 2018
Việc hiểu rõ sự khác biệt giữa hai phương thức lưu trữ giúp xác định lý do tại sao các tổ chức hiện nay đều ưu tiên sử dụng Hệ CSDL:
| Tiêu chí | Lưu trữ bằng tệp (File) | Hệ cơ sở dữ liệu (Database) |
|---|---|---|
| Dư thừa dữ liệu | Cao. Thông tin thường bị lặp lại ở nhiều tệp khác nhau, gây lãng phí bộ nhớ. | Thấp. Dữ liệu được tổ chức tập trung, hạn chế tối đa việc lặp lại thông tin. |
| Tính nhất quán | Thấp. Dễ xảy ra mâu thuẫn khi cập nhật dữ liệu ở tệp này nhưng quên ở tệp khác. | Cao. Dữ liệu thay đổi tại một nơi sẽ tự động cập nhật đồng bộ cho toàn hệ thống. |
| Truy cập đồng thời | Hạn chế. Thường chỉ một người có quyền ghi tại một thời điểm; dễ mất dữ liệu nếu dùng chung. | Tối ưu. Hỗ trợ nhiều người dùng truy cập và sửa đổi dữ liệu đồng thời một cách an toàn. |
| Khả năng tìm kiếm | Chậm. Phải đọc qua toàn bộ tệp, hiệu suất giảm mạnh khi tệp có kích thước lớn. | Rất nhanh. Sử dụng ngôn ngữ SQL và chỉ mục (index) để truy xuất dữ liệu trong tích tắc. |
| Bảo mật | Kém. Khó phân quyền chi tiết cho từng người dùng trên cùng một tệp. | Chặt chẽ. Phân quyền chi tiết đến từng bảng, từng cột hoặc từng chức năng cụ thể. |
Trong lĩnh vực tin học, việc quản lý dữ liệu được chuyển đổi từ hình thức lưu trữ rời rạc sang hình thức lưu trữ tập trung và có cấu trúc.
1. Cơ sở dữ liệu (CSDL - Database): Là một tập hợp các dữ liệu có liên quan với nhau, chứa thông tin của một tổ chức nào đó, được lưu trữ trên các thiết bị nhớ để đáp ứng nhu cầu khai thác thông tin của nhiều người dùng với nhiều mục đích khác nhau.
2. Hệ quản trị cơ sở dữ liệu (Database Management System - DBMS): Là phần mềm cung cấp môi trường thuận tiện và hiệu quả để tạo lập, lưu trữ và khai thác thông tin của CSDL.
3. Hệ cơ sở dữ liệu: Là một hệ thống bao gồm ba thành phần chính: Phần mềm ứng dụng, Hệ quản trị CSDL và Cơ sở dữ liệu.
Một hệ CSDL khoa học cần đảm bảo các đặc trưng kỹ thuật sau nhằm tối ưu hóa việc quản lý và sử dụng dữ liệu:
| Đặc trưng | Nội dung khoa học và Ví dụ minh họa |
|---|---|
| Tính cấu trúc | Dữ liệu trong CSDL được tổ chức theo một khuôn dạng xác định, cho phép các thuật toán xử lý dữ liệu thực hiện một cách tự động. Ví dụ: Trong bảng QUẢN_LÝ_HỌC_SINH, dữ liệu phải tuân thủ định dạng: "Mã học sinh" là kiểu chuỗi ký tự, "Điểm trung bình" là kiểu số thực. |
| Tính không dư thừa | Hạn chế tối đa việc lưu trữ lặp lại một thông tin tại nhiều vị trí khác nhau, tránh lãng phí không gian lưu trữ và mâu thuẫn dữ liệu. Ví dụ: Thông tin cá nhân của một giáo viên chỉ được lưu tại bảng GIÁO_VIÊN. Các bảng khác (như bảng PHÂN_CÔNG_GIẢNG_DẠY) chỉ sử dụng "Mã giáo viên" để tham chiếu. |
| Tính nhất quán | Đảm bảo dữ liệu luôn đúng đắn và logic tại mọi thời điểm, đặc biệt là sau khi thực hiện các thao tác cập nhật (thêm, sửa, xóa). Ví dụ: Khi thay đổi số điện thoại của một khách hàng trong bảng thông tin gốc, dữ liệu này phải đồng bộ ở tất cả các báo cáo liên quan trong hệ thống. |
| Tính độc lập | Dữ liệu được tách biệt với các chương trình ứng dụng. Thay đổi cấu trúc lưu trữ vật lý hoặc thay đổi chương trình ứng dụng không làm ảnh hưởng đến thành phần còn lại. Ví dụ: Việc nâng cấp giao diện phần mềm quản lý thư viện không yêu cầu người dùng phải định nghĩa lại cấu trúc các bảng dữ liệu sách hiện có. |
| Tính an toàn và bảo mật | Bảo vệ dữ liệu khỏi các truy cập trái phép và khả năng khôi phục dữ liệu khi có sự cố phần cứng hoặc phần mềm. Ví dụ: Hệ thống phân quyền cho phép Học sinh chỉ có quyền đọc (Read) điểm số, trong khi Giáo viên quản nhiệm có quyền sửa đổi (Write) dữ liệu. |
Khóa là thành phần cốt lõi để định danh và liên kết dữ liệu giữa các bảng trong CSDL quan hệ.
1. Khóa chính (Primary Key): Là một hoặc một tập hợp các trường dùng để định danh duy nhất một bản ghi trong bảng. Giá trị của khóa chính không được phép để trống (NULL) và không được trùng lặp.
2. Khóa ngoài (Foreign Key): Là một trường (hoặc tập trường) trong một bảng nhưng lại tham chiếu đến khóa chính của một bảng khác. Khóa ngoài dùng để thiết lập mối liên kết giữa dữ liệu của hai bảng.
3. Ràng buộc khóa (Key Constraints):
Ngôn ngữ truy vấn có cấu trúc (SQL) là công cụ chuyên dụng để tương tác với các hệ quản trị CSDL quan hệ.
*) để trích xuất toàn bộ các thuộc tính trong bảng.=, <,
>, <>) và toán tử logic (AND, OR, NOT).ASC là sắp xếp tăng dần (mặc định), DESC là sắp xếp giảm dần.Yêu cầu: Truy xuất thông tin từ bảng SACH bao gồm: Tên sách và Giá tiền của các cuốn sách thuộc thể loại 'Tin học' có giá lớn hơn 100.000 VNĐ, kết quả sắp xếp theo giá tiền giảm dần.
Câu lệnh SQL:
Các hàm này được sử dụng để thực hiện các phép toán thống kê trên một tập hợp các giá trị: