Mô hình dữ liệu dạng sao (Star Schema): bảng Fact, bảng Dim và quan hệ
Nội dung bài viết 8 mục
Tóm tắt nhanh
- Star Schema đặt một bảng dữ kiện (Fact) ở giữa, nối với nhiều bảng danh mục (Dim) xung quanh.
- Fact chứa số đo theo sự kiện (sản lượng, số lỗi, thời gian dừng); Dim chứa mô tả (sản phẩm, dây chuyền, ngày, khách hàng).
- Quan hệ chuẩn là 1-nhiều, lọc một chiều từ Dim sang Fact.
- Lỗi hay gặp: một bảng phẳng khổng lồ, thiếu bảng lịch, quan hệ nhiều-nhiều, khoá bị trùng.
Vì sao cần mô hình dữ liệu?
Nhiều file báo cáo dùng một bảng “phẳng” có 40 cột: tên sản phẩm, nhóm sản phẩm, đơn giá, tên khách, khu vực… lặp lại trên từng dòng. Khi dữ liệu lên vài trăm nghìn dòng, file chậm, công thức dễ sai, và chỉ cần đổi tên một sản phẩm là phải sửa hàng nghìn ô. Mô hình dữ liệu giải quyết bằng cách tách thông tin thành các bảng có vai trò rõ ràng.
Bảng Fact và bảng Dim
| Tiêu chí | Bảng Fact (dữ kiện) | Bảng Dim (danh mục) |
|---|---|---|
| Nội dung | Sự kiện, giao dịch, số đo | Mô tả, thuộc tính |
| Ví dụ | Phiếu kiểm tra, lệnh sản xuất, đơn bán | Sản phẩm, dây chuyền, ca, khách hàng, ngày |
| Số dòng | Rất nhiều, tăng liên tục | Ít, ít thay đổi |
| Cột chính | Khoá ngoại + số liệu (số lượng, phút, tiền) | Khoá chính + tên, nhóm, phân loại |
Ví dụ mô hình dữ liệu chất lượng
- Fact_KiemTra: Ngày, MaSP, MaDayChuyen, MaCa, MaLoi, SoKiem, SoLoi
- Dim_SanPham: MaSP, TenSP, NhomSP, KhachHang
- Dim_DayChuyen: MaDayChuyen, TenDayChuyen, Xuong
- Dim_Loi: MaLoi, TenLoi, NhomLoi (ngoại quan, kích thước, chức năng)
- Dim_Ngay: Ngay, Tuan, Thang, Quy, Nam, ThuTrongTuan
Từ mô hình này, chỉ một công thức “Tỉ lệ lỗi = SoLoi / SoKiem” có thể cắt theo bất kỳ chiều nào: theo tháng, theo khách hàng, theo nhóm lỗi, theo xưởng.
Quy tắc dựng Star Schema
- Xác định “hạt” (grain) của Fact – một dòng đại diện cho cái gì? (một phiếu kiểm/ca/máy).
- Mỗi Dim có khoá chính duy nhất – không trùng, không trống.
- Quan hệ 1-nhiều từ Dim (1) sang Fact (nhiều), hướng lọc một chiều.
- Luôn có bảng lịch liên tục từ ngày đầu đến ngày cuối, đánh dấu là Date Table — cần cho so sánh cùng kỳ, lũy kế.
- Tránh nối Fact với Fact – nếu có 2 Fact (sản lượng và dừng máy), nối chung qua các Dim dùng chung.
Star Schema và Snowflake
Snowflake tách Dim thành nhiều tầng (Sản phẩm → Nhóm → Ngành). Gọn hơn về lưu trữ nhưng phức tạp và chậm hơn khi phân tích. Với dashboard nhà máy, Star Schema gần như luôn là lựa chọn tốt hơn.
Áp dụng trong Excel
Excel cũng hỗ trợ mô hình dữ liệu: tạo các Table, vào Data → Relationships hoặc dùng Power Pivot, rồi làm PivotTable từ Data Model. Không cần VLOOKUP hàng nghìn dòng nữa.
Lỗi hay gặp
- Dim có khoá trùng (2 dòng cùng mã sản phẩm) → quan hệ thành nhiều-nhiều, số bị nhân đôi.
- Dùng cột ngày trong Fact thay bảng lịch → tháng không có dữ liệu biến mất khỏi biểu đồ.
- Bật lọc hai chiều tràn lan → kết quả khó đoán.
Cần người làm giúp?
Industrial Knowledge thiết kế mô hình dữ liệu và dashboard Excel/Power BI cho bộ phận chất lượng, sản xuất, bảo trì. Xem dịch vụ hoặc các dashboard mẫu.