Schema design

Data types, constraints, normalization 1NF→3NF, denormalization tradeoff, surrogate vs natural key (UUID/ULID), schema migration & evolution — agnostic.

6 bài · ~114 phútMiễn phí

Nội dung

Danh sách bài học

  1. 01

    Data types — vì sao TIMESTAMP có timezone cứu deploy multi-region

    Kiểu chuẩn SQL: INTEGER/BIGINT, VARCHAR, DECIMAL/NUMERIC, DATE/TIMESTAMP, BOOLEAN. 4 type pitfall production. Dialect: auto-increment, timezone, JSON, array.

    ~18 phút
  2. 02

    Constraints — DB là last line of defense, không trust app validation

    NOT NULL, UNIQUE, PK, FK, CHECK chuẩn SQL. Deferred constraint, cascading. Vì sao app-level validate race-prone còn DB-level enforce safe — nguyên lý agnostic.

    ~18 phút
  3. 03

    Normalization 1NF→3NF — refactor TaskFlow tags thành junction table

    1NF atomic value, 2NF no partial dependency, 3NF no transitive dependency. Codd 1970-1972. Pitfall over-normalize. TaskFlow refactor demo step-by-step — agnostic.

    ~22 phút
  4. 04

    Denormalization tradeoff — khi nào break 3NF có chủ đích

    Read vs write amplification. 3 pattern: cached column, counter table, materialized view. Sync bằng trigger/app/CDC. Khi nào nên break 3NF — nguyên lý agnostic.

    ~18 phút
  5. 05

    Surrogate vs natural key — UUIDv7 thay UUIDv4 cứu page split

    Auto-increment vs UUID v4 vs UUIDv7 vs natural key. Page split cost trên index có thứ tự, enumeration attack risk, distributed tradeoff. Snowflake — nguyên lý agnostic.

    ~18 phút
  6. 06

    Schema migration & evolution — versioned migration & expand-contract

    Versioned migration forward-only, vì sao cần (team/CI/CD/reproducible), rollback vs roll-forward, expand-contract & online DDL zero-downtime. Tool landscape — agnostic.

    ~20 phút