Khóa học
Trung cấpDatabase14 giờ 54 phút · 15 giờ/tuần Chứng chỉ

Cơ sở dữ liệu quan hệ và SQL chuyên sâu

Khóa học Cơ sở dữ liệu quan hệ (Relational Database) và SQL toàn diện. Nắm vững đại số quan hệ, thiết kế ERD, chuẩn hóa dữ liệu, tối ưu hóa chỉ mục B-Tree, ACID, MVCC và giao tiếp ứng dụng.

NHV
Vũ Đình Bảo
27 bài họcCập nhật tháng 10 năm 2026

Mô tả khóa học

Dữ liệu là tài sản quý giá nhất của mọi hệ thống phần mềm. Khóa học Database Fundamentals (DBF) được xây dựng theo chuẩn mực kỹ thuật quốc tế, giúp người học không chỉ dừng lại ở việc viết câu lệnh SQL cơ bản, mà thấu hiểu sâu sắc toàn bộ cơ chế vận hành bên dưới nắp capo của hệ quản trị cơ sở dữ liệu hiện đại (PostgreSQL).

Khóa học dẫn dắt bạn qua 6 giai đoạn bài bản: Từ mô hình tập hợp quan hệ của Edgar Codd, tư duy truy vấn khai báo (Declarative Querying), xử lý logic 3 giá trị của NULL, các phép nối Join phức tạp, đến nghệ thuật thiết kế mô hình thực thể ERD và chuẩn hóa dữ liệu (1NF, 2NF, 3NF, BCNF) để loại bỏ dị thường.

Đặc biệt, khóa học đi sâu vào tầng bảo vệ dữ liệu và cơ chế vật lý: Thuộc tính ACID, các mức cô lập giao dịch, kiểm soát đồng thời đa phiên bản MVCC, cơ chế khóa 2PL, cấu trúc lưu trữ Slotted Page, Buffer Pool, cấu trúc cây B-Tree Index, và kỹ năng đọc kế hoạch thực thi EXPLAIN ANALYZE để tối ưu hóa truy vấn chậm. Khóa học kết thúc với việc tích hợp ứng dụng, phòng chống SQL Injection và xây dựng hoàn chỉnh cơ sở dữ liệu Kmin Café.

Lợi ích khóa học

  • Xây dựng tư duy quan hệ và đại số quan hệ chặt chẽ, làm chủ ngôn ngữ SQL chuẩn mực.
  • Thành thạo thiết kế lược đồ cơ sở dữ liệu từ mô hình ERD đến chuẩn hóa 3NF và BCNF.
  • Hiểu sâu cơ chế bộ nhớ vật lý: Slotted Page, Buffer Pool, B-Tree Index và các thuật toán Join.
  • Làm chủ kỹ năng đọc và tối ưu hóa kế hoạch thực thi câu lệnh với EXPLAIN ANALYZE.
  • Bảo vệ dữ liệu tuyệt đối bằng giao dịch ACID, mức cô lập giao dịch, MVCC và phòng chống Deadlock.
  • Trang bị kỹ năng kết nối an toàn từ mã nguồn ứng dụng, tiêu diệt lỗ hổng SQL Injection bằng Parameterized Query.

Kiến thức cần có

— những gì bạn cần trước khi bắt đầu

Đã hoàn thành khóa học Nhập môn lập trình (FPP) hoặc có tư duy lập trình cơ bản.

Hiểu cấu trúc dữ liệu mảng, danh sách và bảng băm.

Có máy tính cá nhân để cài đặt môi trường thực hành PostgreSQL và DBeaver / pgAdmin.

Lập trình căn bản
0%Bổ sung

Bạn sẽ làm được gì

— sau khi hoàn thành khóa học

Thành thạo viết mọi câu lệnh SQL từ cơ bản đến nâng cao (JOIN, Subquery, Window Functions, CTE).

Làm chủ quy trình thiết kế cơ sở dữ liệu: Từ bản mô tả yêu cầu đến ERD và chuẩn hóa 3NF/BCNF.

Hiểu rõ cơ chế vật lý bên dưới: Slotted Page, Buffer Pool, B-Tree Index, Hash Join, Merge Join.

Đọc và tối ưu hóa câu truy vấn chậm bằng EXPLAIN ANALYZE chuyên nghiệp.

Làm chủ giao dịch ACID, MVCC, phòng chống tuyệt đối lỗi Race Condition và lỗ hổng SQL Injection.

Thấu hiểu tư duy mô hình quan hệ, đại số quan hệ và logic ba giá trị với NULL.
Thành thạo thiết kế mô hình thực thể ERD và chuẩn hóa dữ liệu từ 1NF đến BCNF.
Viết thành thạo các câu truy vấn SQL phức tạp (Aggregations, Subqueries, Multi-table Joins, Window Functions).
Hiểu sâu sắc cơ chế lập chỉ mục B-Tree, tối ưu hóa câu truy vấn và đọc hiểu kế hoạch thực thi EXPLAIN.
Làm chủ thuộc tính ACID, các cấp độ cô lập giao dịch (Transaction Isolation Levels) và kiểm soát tương tranh MVCC.
Tự tin thiết kế và vận hành cơ sở dữ liệu quan hệ PostgreSQL chuẩn mực cho các ứng dụng thực tế.

Đồ thị kiến thức

— các khái niệm có trong khóa học

Đồ thị kiến thức khóa học

Kiến thức dẫn đến kỹ năng; bấm vào node để xem các liên kết

Kiến thứcKỹ năngACID PropertiesALTER TABLE StatementApplication Transaction …Attribute ClosureAttribute DomainB-Tree IndexBitmap Index ScanBoyce-Codd Normal FormBuffer PoolBuffer Replacement PolicyCandidate KeyDatabase DesignRelational DatabasesSQL
Khái niệm trong khóa họcKỹ năng đạt đượcKhái niệm liên quanĐã thành thạo

Khóa học dành cho ai

Sinh viên CNTT và kỹ sư phần mềm muốn làm chủ cơ sở dữ liệu quan hệ bài bản từ gốc rễ.

Backend Developer muốn nâng cao năng lực thiết kế schema, tối ưu hóa query và quản lý transaction.

Ứng viên chuẩn bị cho các vòng phỏng vấn kỹ thuật về Database Design và SQL Performance Tuning.

Sinh viên CNTT và lập trình viên muốn làm chủ cơ sở dữ liệu quan hệ và ngôn ngữ SQL từ bản chất.
Backend Developer muốn tối ưu hóa hiệu năng truy vấn và thiết kế kiến trúc dữ liệu chuẩn mực.
Kỹ sư muốn thấu hiểu cơ chế giao dịch ACID, khóa (Locking) và xử lý tương tranh trong hệ thống lớn.
Ứng viên chuẩn bị cho các vòng phỏng vấn kỹ thuật về Database Design và SQL Tuning.

Giảng viên

Vũ Đình Bảo