Nền tảng & mô hình dữ liệu
Tại sao cần database, Codd's relational model, ER modeling, tour schema TaskFlow, và bản đồ flavor SQL (chuẩn ANSI vs dialect). Nền tảng tư duy về dữ liệu, agnostic.
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.