Nâng caoHiểu sâu ~10 phút

Chuẩn hóa (Normalization)

Chuẩn hóa là quá trình tách dữ liệu thành các bảng liên kết để tránh lặp và mâu thuẫn.

Lý thuyết

Vấn đề khi không chuẩn hóa

Nếu lưu tên phòng ban trực tiếp trong mỗi dòng users, đổi tên phòng ban sẽ phải sửa nhiều dòng — dễ sai lệch.

Các dạng chuẩn (tóm tắt)

  • 1NF: mỗi ô một giá trị nguyên tử, không lặp nhóm.
  • 2NF: 1NF + mọi cột phụ thuộc toàn bộ khóa chính.
  • 3NF: 2NF + không phụ thuộc bắc cầu (cột không khóa không phụ thuộc cột không khóa khác).

Vì vậy ta tách departments riêng và chỉ lưu department_id trong users — đúng tinh thần 3NF.

Đánh đổi: chuẩn hóa giảm trùng lặp nhưng cần JOIN khi đọc; đôi khi ta 'phi chuẩn hóa' để tăng tốc.

Thuật ngữ (di chuột để xem giải thích)

Dữ liệu mẫu

Đang tải dữ liệu mẫu…