Read more »
Dưới đây là khung chương trình chi tiết (Syllabus/Topic Outline) cho giáo trình môn Cơ sở dữ liệu (Database Systems). Khung này được thiết kế theo chuẩn đào tạo đại học ngành Công nghệ thông tin, đi từ tư duy lý thuyết cốt lõi đến kỹ năng thực hành và tối ưu hóa hệ thống.
PHẦN I: TỔNG QUAN VỀ HỆ CƠ SỞ DỮ LIỆU (DATABASE SYSTEMS OVERVIEW)
Chuyên đề 1: Nhập môn Cơ sở dữ liệu
Các khái niệm cơ bản: Dữ liệu (Data) là gì? Thông tin (Information) là gì? Định nghĩa Cơ sở dữ liệu (CSDL - Database).
Hệ quản trị cơ sở dữ liệu (DBMS - Database Management System): Định nghĩa, chức năng chính của một DBMS (Định nghĩa dữ liệu, cập nhật, truy xuất, an toàn dữ liệu, kiểm soát đồng thời).
Sự tiến hóa của lưu trữ dữ liệu: * Hệ thống lưu trữ dạng tập tin truyền thống (File-based systems) và các nhược điểm (Dư thừa dữ liệu, không nhất quán, phụ thuộc dữ liệu-chương trình).
Sự ra đời và ưu điểm của Hệ CSDL.
Kiến trúc ba mức của ANSI-SPARC:
Mức trong (Internal Level / Physical Level).
Mức khái niệm (Conceptual Level / Logical Level).
Mức ngoài (External Level / View Level).
Tính độc lập dữ liệu (Data Independence): Độc lập vật lý và độc lập logic.
Phân loại hệ CSDL: CSDL quan hệ (RDBMS), CSDL phi quan hệ (NoSQL), CSDL hướng đối tượng, CSDL phân tán.
PHẦN II: THIẾT KẾ CƠ SỞ DỮ LIỆU (DATABASE DESIGN)
Chuyên đề 2: Mô hình hóa dữ liệu bằng mô hình ER (Entity-Relationship Model)
Các thành phần cốt lõi của mô hình ER:
Thực thể (Entity): Tập thực thể (Entity set), thực thể mạnh, thực thể yếu (Weak entity).
Thuộc tính (Attribute): Thuộc tính đơn, thuộc tính hợp thành (Composite), thuộc tính đơn trị, thuộc tính đa trị (Multivalued), thuộc tính dẫn xuất (Derived), thuộc tính khóa (Key attribute).
Mối quan hệ (Relationship): Tập mối quan hệ, bậc của mối quan hệ (Nhị phân, tam phân, tự phản thức).
Các ràng buộc trong mô hình ER:
Tỷ lệ bản số (Cardinality Ratios): 1-1 (), 1-Nều (), N-Nều ().
Ràng buộc tham gia (Participation Constraints): Tham gia toàn phần (Total - bắt buộc), tham gia một phần (Partial - tùy chọn).
Mô hình ER mở rộng (EER - Extended ER): Khái niệm chuyên biệt hóa (Specialization), khái quát hóa (Generalization), kế thừa thuộc tính.
Quy trình xây dựng sơ đồ ER từ bài toán thực tế.
Chuyên đề 3: Mô hình dữ liệu quan hệ (Relational Data Model)
Các khái niệm cấu trúc: Hàng/Bản ghi (Tuple/Row), Cột/Thuộc tính (Attribute/Column), Bảng (Relation/Table), Miền giá trị (Domain).
Các loại Khóa (Keys):
Siêu khóa (Super Key).
Khóa dự tuyển (Candidate Key).
Khóa chính (Primary Key): Quy tắc chọn khóa chính.
Khóa ngoại (Foreign Key): Định nghĩa và vai trò liên kết giữa các bảng.
Các ràng buộc toàn vẹn (Integrity Constraints):
Ràng buộc miền giá trị (Domain Constraint).
Ràng buộc thực thể (Entity Integrity): Khóa chính không được mang giá trị NULL.
Ràng buộc tham chiếu (Referential Integrity): Khóa ngoại phải tham chiếu đến một khóa chính hợp lệ hoặc mang giá trị NULL.
Chuyển đổi lược đồ ER/EER sang lược đồ quan hệ (Relational Schema): Quy tắc chuyển đổi thực thể, mối quan hệ , , , xử lý thuộc tính đa trị và thực thể yếu.
PHẦN III: NGÔN NGỮ TRUY VẤN VÀ ĐẠI SỐ QUAN HỆ
Chuyên đề 4: Đại số quan hệ (Relational Algebra)
Ý nghĩa: Ngôn ngữ truy vấn hình thức (Procedural query language) làm nền tảng cho SQL.
Các phép toán tập hợp cơ bản: Phép hợp (Union ), Phép giao (Intersection ), Phép trừ (Set Difference ), Phép tích Đề-các (Cartesian Product ).
Các phép toán quan hệ đặc trưng:
Phép chọn (Selection ): Lọc các dòng theo điều kiện.
Phép chiếu (Projection ): Lọc các cột dữ liệu.
Phép đổi tên (Rename ).
Các phép toán tổ hợp (Phép kết): Phép kết tự nhiên (Natural Join ), Phép kết điều kiện (Theta Join), Phép kết ngoài (Outer Join: Left, Right, Full).
Phép chia (Division ).
Chuyên đề 5: Ngôn ngữ truy vấn cấu trúc SQL (Structured Query Language)
Ngôn ngữ định nghĩa dữ liệu (DDL - Data Definition Language):
CREATE,ALTER,DROP(Bảng, Ràng buộc, Chỉ mục).Ngôn ngữ thao tác dữ liệu (DML - Data Manipulation Language):
INSERT,UPDATE,DELETE.Ngôn ngữ truy vấn dữ liệu (DQL - Data Query Language):
Cấu trúc câu lệnh cơ bản:
SELECT ... FROM ... WHERE.Sắp xếp và giới hạn:
ORDER BY,LIMIT/OFFSET.Các hàm gộp (Aggregate Functions):
COUNT,SUM,AVG,MIN,MAX.Nhóm dữ liệu và lọc nhóm:
GROUP BY,HAVING.
Truy vấn nâng cao:
Liên kết bảng:
INNER JOIN,LEFT/RIGHT/FULL OUTER JOIN,CROSS JOIN,SELF JOIN.Truy vấn con (Subquery): Khái niệm lồng nhau, truy vấn con tương quan (Correlated Subquery). Các toán tử
IN,EXISTS,ANY,ALL.Toán tử tập hợp trong SQL:
UNION,INTERSECT,EXCEPT/MINUS.Bảng tạm thời và biểu thức dạng bảng chung (CTE - Common Table Expressions): Câu lệnh
WITH.
PHẦN IV: LÝ THUYẾT THIẾT KẾ KẾT CẤU VÀ CHUẨN HÓA (NORMALIZATION)
Chuyên đề 6: Phụ thuộc hàm (Functional Dependencies)
Định nghĩa phụ thuộc hàm ().
Hệ tiên đề Armstrong (Armstrong's Axioms): Tính phản xạ, tính gia tăng, tính bắc cầu.
Các quy tắc hệ quả: Quy tắc phân rã, quy tắc hợp thành, quy tắc bắc cầu giả.
Bao đóng của tập thuộc tính () và thuật toán tìm bao đóng.
Bao đóng của tập phụ thuộc hàm ().
Phủ tối tiểu (Minimal Cover) của tập phụ thuộc hàm.
Chuyên đề 7: Các dạng chuẩn (Normal Forms)
Đặt vấn đề: Hiện tượng bất thường khi thao tác dữ liệu (Anomalies): Bất thường khi chèn (Insertion), xóa (Deletion), cập nhật (Update).
Các dạng chuẩn dựa trên phụ thuộc hàm:
Dạng chuẩn 1 (1NF): Thuộc tính nguyên tố (Atomic values), không chứa thuộc tính đa trị hoặc lặp.
Dạng chuẩn 2 (2NF): Đạt 1NF và mọi thuộc tính không khóa phải phụ thuộc hàm đầy đủ vào khóa chính (Không phụ thuộc vào một phần của khóa chính ghép).
Dạng chuẩn 3 (3NF): Đạt 2NF và không có phụ thuộc bắc cầu từ thuộc tính không khóa vào khóa chính.
Dạng chuẩn Boyce-Codd (BCNF): Dạng chuẩn 3 nâng cao. Với mọi phụ thuộc hàm không hiển nhiên, phải là siêu khóa.
Thuật toán phân rã lược đồ quan hệ:
Phân rã bảo toàn phụ thuộc hàm (Dependency Preserving).
Phân rã kết nối không mất mát thông tin (Lossless Join Decomposition).
PHẦN V: QUẢN LÝ GIAO DỊCH VÀ ĐIỀU KHIỂN ĐỒNG THỜI (TRANSACTIONS & CONCURRENCY)
Chuyên đề 8: Giao dịch (Transaction) và Thuộc tính ACID
Khái niệm về một Giao dịch (Transaction).
Tính chất ACID:
Atomicity (Tính nguyên tử): Được thực hiện trọn vẹn hoặc không thực hiện gì (
COMMIT/ROLLBACK).Consistency (Tính nhất quán): Chuyển CSDL từ trạng thái hợp lệ này sang trạng thái hợp lệ khác.
Isolation (Tính độc lập/Cô lập): Các giao dịch chạy đồng thời không ảnh hưởng lẫn nhau.
Durability (Tính bền vững): Kết quả được lưu vĩnh viễn sau khi commit, kể cả khi hệ thống sập.
Các trạng thái của một Giao dịch (Active, Partially Committed, Committed, Failed, Aborted).
Chuyên đề 9: Điều khiển đồng thời (Concurrency Control)
Các vấn đề phát sinh khi thực thi đồng thời:
Mất dữ liệu cập nhật (Lost Update).
Đọc dữ liệu rác/chưa commit (Dirty Read).
Đọc không lặp lại được (Unrepeatable Read).
Dữ liệu bóng ma (Phantom Read).
Lịch trình (Schedules) và Tính khả tuần tự (Serializability): Lịch trình tuần tự, lịch trình đồng thời, khả tuần tự xung đột (Conflict Serializability).
Các kỹ thuật điều khiển đồng thời:
Kỹ thuật khóa (Locking): Khóa chia sẻ (Shared Lock - S), Khóa độc quyền (Exclusive Lock - X).
Giao thức khóa hai giai đoạn (2PL - Two-Phase Locking): Giai đoạn mở rộng (Growing) và Giai đoạn co lại (Shrinking). Strict 2PL.
Vấn đề Khóa chết (Deadlock): Phát hiện, phòng ngừa và xử lý khóa chết.
Mức cô lập giao dịch trong SQL (Transaction Isolation Levels): Read Uncommitted, Read Committed, Repeatable Read, Serializable.
PHẦN VI: LƯU TRỮ VẬT LÝ, CHỈ MỤC VÀ TỐI ƯU HÓA TRUY VẤN
Chuyên đề 10: Lưu trữ dữ liệu và Chỉ mục (Indexing)
Tổ chức tệp tin trên đĩa vật lý: Định dạng khối (Block), bản ghi độ dài cố định và độ dài thay đổi.
Khái niệm về Chỉ mục (Index): Tại sao cần Index? Đánh đổi giữa tốc độ truy vấn và tốc độ ghi dữ liệu.
Cấu trúc dữ liệu chỉ mục:
B-Tree và B+ Tree (Cấu trúc phổ biến nhất trong RDBMS).
Chỉ mục Băm (Hash Index).
Phân loại Chỉ mục: Chỉ mục cụm (Clustered Index), Chỉ mục không cụm (Non-clustered Index), Chỉ mục đơn cột và chỉ mục hỗn hợp (Composite Index).
Chuyên đề 11: Tối ưu hóa câu lệnh truy vấn (Query Optimization)
Quy trình xử lý một câu lệnh SQL của DBMS: Parsing (Phân tích cú pháp) Optimization (Tối ưu hóa) Execution (Thực thi).
Cây truy vấn (Query Tree) và các quy tắc tối ưu hóa logic (Thực hiện phép chọn sớm nhất có thể, thay thế tích Đề-các bằng phép kết...).
Xem xét kế hoạch thực thi (Execution Plan /
EXPLAINstatement).Các kỹ thuật tối ưu hóa cơ bản: Tránh
SELECT *, tận dụng Index, hạn chế subquery không cần thiết.
PHẦN VII: ĐẢM BẢO AN TOÀN VÀ ĐIỀU KHIỂN MỞ RỘNG
Chuyên đề 12: An toàn, Bảo mật và Phục hồi dữ liệu
Bảo mật dữ liệu (Database Security): * Phân quyền người dùng: Ngôn ngữ điều khiển dữ liệu (DCL - Data Control Language):
GRANT,REVOKE.Khái niệm Khung nhìn (View): Tạo bảng ảo để bảo mật dữ liệu tầng logic.
Tấn công SQL Injection và các biện pháp phòng chống (Sử dụng Prepared Statements).
Phục hồi dữ liệu (Database Recovery):
Các loại sự cố: Sự cố hệ thống, sự cố đĩa từ.
Hệ thống nhật ký (Log-based recovery): Cơ chế ghi nhật ký trước (Write-Ahead Logging - WAL).
Kỹ thuật Checkpoint.
Chuyên đề 13: Lập trình phía Máy chủ CSDL (Database Programming)
Thủ tục lưu trữ (Stored Procedures) và Hàm tự định nghĩa (User-Defined Functions).
Con trỏ (Cursors).
Bẫy sự kiện (Triggers): Khái niệm, phân loại (Before, After, Instead Of) và ứng dụng thực tế trong ràng buộc phức tạp.
PHẦN VIII: MỞ RỘNG VỀ CÁC HỆ CƠ SỞ DỮ LIỆU HIỆN ĐẠI (Tùy chọn nâng cao)
Chuyên đề 14: Hệ cơ sở dữ liệu phi quan hệ (NoSQL Databases)
Định lý CAP (Consistency, Availability, Partition Tolerance) và sự đánh đổi trong hệ thống phân tán.
Phân loại NoSQL:
Document-oriented (Ví dụ: MongoDB).
Key-Value store (Ví dụ: Redis).
Wide-column store (Ví dụ: Cassandra).
Graph database (Ví dụ: Neo4j).
Hóa Đơn Bán Hàng
| STT | Tên Mặt Hàng | Số Lượng | Đơn Giá | Thành Tiền | Hành động |
|---|---|---|---|---|---|
| TỔNG CỘNG HÓA ĐƠN: | 0 VNĐ | ||||



0 Reviews