SQL & Database — Tư tưởng & Nguyên lý
Khoá nền tảng dạy SQL và database thuần tư tưởng & nguyên lý, không gắn engine cụ thể (tinh thần DDIA). Từ relational model và ngôn ngữ SQL (ANSI), tới thiết kế schema, nguyên lý storage/indexing, transaction & consistency, query execution, vòng đời dữ liệu và OLTP vs OLAP. Hiểu cách dữ liệu được mô hình hoá, lưu trữ, truy vấn và tiến hoá — kiến thức chuyển giao được giữa mọi hệ quản trị.
Giảng viên
OLHub Team52 bài đã sẵn sàng · Đọc kỹ, không xem video
11 module
Học theo từng phần, không bị nhồi
Cơ bản
Phù hợp người mới — không cần tiền đề
52 bài
Text-first — đọc kỹ, không xem video
~17.2 giờ
Tự nhịp, học theo tốc độ của bạn
Bạn sẽ học được gì
Sau khoá học, bạn sẽ:
Hiểu relational model qua tập hợp + đại số quan hệ, và so sánh với document/KV/graph
Viết SQL chuẩn ANSI: SELECT/JOIN/aggregate/window/CTE/set — chuyển giao giữa các RDBMS
Thiết kế schema đúng: data type, constraint, normalization, key
Nắm nguyên lý storage & indexing (B-tree vs LSM-tree), transaction & consistency (ACID, isolation, CAP)
Phân biệt OLTP vs OLAP, hiểu data warehousing và vòng đời dữ liệu
Chương trình
Nội dung khoá học
11 module sẵn sàng · 52 bài. Mỗi bài 18-25 phút đọc kỹ — không xem video, không hype.
01
Nền tảng & mô hình dữ liệu
6 bài · ~114 phút
- 01Tại sao cần database — 4 bài toán file/CSV không giải được18p
- 02Relational model — vì sao Codd thắng IBM IMS năm 197022p
- 03ER modeling — bản vẽ trước khi gõ DDL20p
- 04Tour TaskFlow schema — đọc DDL hiểu vì sao chọn từng quyết định18p
- 05SQL flavor map — 8 điểm khác biệt giữa các hệ quản trị18p
- 06Các mô hình dữ liệu — relational, document, key-value, graph18p
02
Truy vấn cơ bản
7 bài · ~124 phút
- 01SELECT — projection + alias, vì sao SELECT * chậm gấp 17 lần16p
- 02WHERE + NULL three-valued logic — vì sao age != 30 không trả NULL row22p
- 03ORDER BY + pagination — vì sao OFFSET 100k chậm 200 lần18p
- 04DISTINCT vs GROUP BY — cùng plan, khác intent14p
- 05Pattern matching — vì sao LIKE '%x' không dùng được index15p
- 06CASE + COALESCE + NULLIF — switch/fallback/safe-divide trong SQL14p
- 07Mini-challenge: dashboard query — diagnose 3 bug M0225p
03
Join, aggregation & window
8 bài · ~164 phút
- 01INNER JOIN — set intersection + nested loop teaser18p
- 02OUTER JOIN — NULL trap biến LEFT JOIN thành INNER20p
- 03Self-join + multi-table JOIN — comment threads, 4 bảng cùng query18p
- 04GROUP BY + HAVING — SQL logical processing order quyết định visibility18p
- 05Aggregate functions — COUNT/SUM + FILTER + STRING_AGG/JSON_AGG16p
- 06Window functions intro — OVER + PARTITION BY giữ row + tính cross-row22p
- 07Window patterns — RANK + LAG/LEAD + running total + moving average22p
- 08Mini-challenge M03 — top closer tháng + weekly completion30p
04
Advanced query patterns
7 bài · ~148 phút
- 01Subquery, CTE, LATERAL — 3 cách viết cùng một logic22p
- 02Recursive CTE — duyệt cây comment, breadcrumb, và hierarchy trong SQL22p
- 03Window functions nâng cao — Frame, NTILE, Gap-and-island22p
- 04Set Operations — UNION, INTERSECT, EXCEPT16p
- 05UPSERT — INSERT hoặc UPDATE khi key trùng18p
- 06MERGE Statement — ETL multi-rule sync trong một câu lệnh18p
- 07Mini-challenge — Sprint burndown chart: snapshot hằng ngày30p
05
Schema design
6 bài · ~114 phút
- 01Data types — vì sao TIMESTAMP có timezone cứu deploy multi-region18p
- 02Constraints — DB là last line of defense, không trust app validation18p
- 03Normalization 1NF→3NF — refactor TaskFlow tags thành junction table22p
- 04Denormalization tradeoff — khi nào break 3NF có chủ đích18p
- 05Surrogate vs natural key — UUIDv7 thay UUIDv4 cứu page split18p
- 06Schema migration & evolution — versioned migration & expand-contract20p
07
Transactions & consistency — nguyên lý
3 bài · ~68 phút
08
Query execution & optimization — nguyên lý
3 bài · ~62 phút
09
Vòng đời dữ liệu & encoding
3 bài · ~59 phút
11
Capstone — thiết kế một data system
1 bài · ~30 phút
Giảng viên
Ai đứng sau khoá này
OLHub Team
Backend engineers
Backend engineers với kinh nghiệm thực tế trên Java/Spring, PostgreSQL, distributed systems. Tự build và maintain platform này, viết toàn bộ nội dung khoá học theo triết lý “hiểu bản chất, không học vẹt”.
Xem hồ sơ team →Gửi khoá này cho bạn học cùng?
Copy link đã gắn nguồn — dán group, chat, hoặc LinkedIn.
Sẵn sàng bắt đầu?
Học miễn phí, không cần thẻ, không thời hạn. Chỉ cần bạn ngồi xuống đọc kỹ.