Nội dung
Danh sách bài học
- 01~18 phút
Tại sao cần database — 4 bài toán file/CSV không giải được
Concurrent access, durability, query performance, data integrity. Hiểu vì sao database tồn tại trước khi học SELECT đầu tiên.
- 02~22 phút
Relational model — vì sao Codd thắng IBM IMS năm 1970
Tuple, relation, set theory, Codd's 12 rules. 6 thuộc tính của relation + data independence — nền tảng mọi RDBMS hiện đại build trên 1 paper 11 trang.
- 03~20 phút
ER modeling — bản vẽ trước khi gõ DDL
Entity, attribute, relationship, cardinality. Vẽ ER diagram TaskFlow rồi map sang SQL DDL trong 5 phút. Bỏ qua bước này = data model rách sau 6 tháng.
- 04~18 phút
Tour TaskFlow schema — đọc DDL hiểu vì sao chọn từng quyết định
5 bảng users/projects/project_members/tasks/comments. Vì sao dùng khóa tự tăng 8-byte, vì sao timestamp cần timezone-aware. Schema TaskFlow xuyên suốt khoá.
- 05~18 phút
SQL flavor map — 8 điểm khác biệt giữa các hệ quản trị
8 điểm khác biệt SQL giữa PG/MySQL/SQLite/MSSQL: auto-increment, boolean, UPSERT, trailing-space. 90% ANSI portable — 10% cần flag khi port code.
- 06~18 phút
Các mô hình dữ liệu — relational, document, key-value, graph
Relational là một mô hình trong nhiều lựa chọn. Tại sao document/KV/graph tồn tại, khi nào chúng thắng relational, impedance mismatch và schema-on-read.