🗃️ Vì sao không lặp tên khách hàng trong mọi dòng đơn hàng?
Lặp dữ liệu gây bất thường: đổi tên phải sửa nhiều nơi, xóa đơn cuối có thể làm mất thông tin khách, và thêm khách chưa có đơn trở nên khó khăn.
Khóa và phụ thuộc
Khóa chính xác định duy nhất một hàng. Khóa ngoại tham chiếu hàng ở bảng khác. Nếu customer_id→customer_name, tên khách phụ thuộc vào khách chứ không phụ thuộc riêng từng đơn.
Mục tiêu thực hành
- Giá trị ô là nguyên tử theo mô hình sử dụng.
- Thuộc tính không khóa phụ thuộc vào toàn bộ khóa.
- Loại phụ thuộc bắc cầu không phù hợp khỏi bảng.
⚠️ Chuẩn hóa không có nghĩa tách càng nhiều càng tốt
Thiết kế theo yêu cầu nghiệp vụ; phi chuẩn hóa có chủ đích cần đo hiệu năng và có cơ chế giữ nhất quán.
📚 Lý thuyết trọng tâm
Mục tiêu: Normalize relational tables using keys and functional dependencies while recognizing when justified denormalization may support performance.. Khi học Chuẩn hóa cơ sở dữ liệu: giảm dư thừa và bất thường cập nhật, hãy xác định khái niệm, điều kiện áp dụng và mối liên hệ giữa các dữ kiện; không chỉ ghi nhớ kết luận.
🧭 Ví dụ có hướng dẫn
Chọn một tình huống điển hình của bài. Bước 1: ghi dữ kiện và câu hỏi cần giải quyết. Bước 2: chọn khái niệm hoặc quy tắc phù hợp. Bước 3: giải thích từng bước và kiểm tra kết quả với điều kiện ban đầu. Nếu đổi một dữ kiện, hãy dự đoán kết quả thay đổi thế nào.
✍️ Luyện tập
- Tóm tắt bài bằng ba ý: khái niệm, điều kiện và kết luận.
- Tự tạo một ví dụ đúng và một phản ví dụ; chỉ ra điểm quyết định.
- Giải lại ví dụ khi thay đổi một dữ kiện, sau đó nêu cách kiểm chứng.
Checklist tự đánh giá
- Tôi giải thích được “vì sao”, không chỉ nêu đáp án.
- Tôi nhận ra trường hợp không áp dụng được quy tắc.
- Tôi kiểm tra được đơn vị, bằng chứng hoặc tính hợp lí của kết luận.
Cùng nhau hiểu bài sâu hơn
Viết lời giải, công thức, đặt câu hỏi hoặc gửi ảnh phần bạn đang vướng.
Đăng nhập để đặt câu hỏi và tham gia trao đổi.
Chưa có trao đổi nào. Hãy là người đầu tiên đặt câu hỏi nhé.