Bảng Fact và bảng Dim – Định nghĩa và phân biệt

Nội dung

Bảng Fact và bảng Dim, viết tắt của Dimension, là các khái niệm được sử dụng trong lĩnh vực data warehousing và data analytics để mô hình hóa và tổ chức dữ liệu.

Bạn có thể xem thêm 02 cách mô hình hoá dữ liệu phổ biến tại đây.

Bảng Dim

Bảng Dimension là bảng chứa các thuộc tính (attributes) mô tả các thông tin của 01 chiều (dimension) của dữ liệu. Bạn có thể hiểu nôm nay cứ một bảng dimension thường sẽ ứng với một loại đối tượng (class hoặc type) trong hiện thực. Mỗi dòng trong bảng đó là một đối tượng (object) thực tế.

Ví dụ bảng Dimensions
Ví dụ bảng Dimensions

Ví dụ: các bảng Dimension của một hệ thống bán lẻ xe hơi trên, ta có thể có các loại đối tượng như sau: sản phẩm, nhà phân phối, nhà cung cấp, thời gian. Tương ứng sẽ có 04 bảng Dimensions, bao gồm Dim_Product, Dim_Dealer, Dim_Branch, Dim_Time.

Bảng Fact

Bảng Fact là bảng chứa các thông tin số lượng (measurements) của dữ liệu. Thông thường, bảng Fact được xây dựng (cook) từ các raw data, và được thống kê theo giờ, ngày, tuần, tháng và năm (timeseries analysis).

Như ví dụ trên, các chỉ số Units_Sold và Revenue là 02 chỉ số của bảng Fact Revenue. Bốn cột còn lại trong bảng Fact Revenue sẽ tương ứng với 04 bảng Dimensions xung quanh. Việc liên kết sẽ thông qua khoá ngoại (ID) giữa chúng.

Bảng Fact là bảng trung tâm trong cả 02 mô hình dữ liệu kinh điển: Star Schema và Snowflake Schema. Việc xây dựng bảng Fact sẽ phụ thuộc vào nhu cầu báo cáo.

Bảng Fact vs Bảng Dim

Đặc điểmBảng FactBảng Dimension
Định nghĩaBao gồm các chỉ số đo lường các hoạt động trong tổ chức.Bảng thông tin các đối tượng có liên quan tới bảng Fact.
Thuộc tínhTrung tâm trong Star schema và Snowflake schema, xung quanh là các bảng Dim. Nằm xung quanh bảng Fact trong Star schema và Snowflake Schema.
Thiết kếThiết kế đúng với trọng tâm của vấn đề hay nhu cầu.Phải bao quát các thông tin của một đối tượng. Tránh nhét vào nhiều thông tin của nhiều đối tượng cùng một nơi.
Phục vụMột bảng Fact tập hợp các chỉ số đo lượng có liên quan tới các bảng Dim, dùng cho báo cáo, thống kê.Thu thập các thông tin liên quan tới một đối tượng nào đó trong tổ chức (như thông tin cửa hàng chẳng hạn).
Kiểu dữ liệuBảng Fact chứa các cột dữ liệu số liên quan tới các cột đối tượng, khoá ngoại của bảng Dim.Mỗi bảng Dim chứa các thông tin về một đối tượng. Ví dụ bảng Product gồm Product Id, Category, SubCategory…
Khoá chínhKhoá chính của bảng Fact là tập hợp không lặp lại các khoá ngoại từ các bảng Dim.
Mỗi bảng Dim đều có một khoá chính để xác định rõ tính độc nhất của mỗi dòng trong bảng.
Lưu trữĐược dùng để lưu trữ chỉ số, đồng thời để lọc kết quả trên nó dựa theo thông tin từ các bảng Dim.Lưu trữ dữ liệu các đối tượng một cách chi tiết.
Sự phân cấpKhông có.Có sự phân cấp: Ví dụ đối tượng Địa Điểm có thể chứa Quốc Gia, Khu vực, Quận/Huyện, Mã Zip…
So sánh giữa bảng Fact và bảng Dim

Tóm Tắt

Bảng Fact và bảng Dim thường được kết hợp với nhau trong mô hình dữ liệu. Mỗi bảng Dimension được kết nối với bảng Fact thông qua các khóa ngoại (foreign keys). Chúng giúp cho việc truy xuất và phân tích dữ liệu trở nên dễ dàng và nhanh chóng hơn.

Bài viết liên quan

SQL trong Data Analysis: Procedure và Function – 2 công cụ không thể thiếu

Xin chào các bạn đã quay trở lại chuỗi bài SQL trong Data Analysis...

Tự học Data Analyst: Tổng hợp chuỗi bài SQL 101 trong Data Analysis

Trong bài viết này, chúng ta sẽ tổng hợp các bài viết thành một...

SQL trong Data Analysis: Hiểu rõ và ứng dụng đệ quy (Recursive trong PostgreSQL)

Trong thế giới của cơ sở dữ liệu quan hệ, các truy vấn đệ...

[Phân Tích Dữ Liệu Với Python] Tập 1: Làm Quen Với Pandas

Trong thời đại tiến bộ của khoa học dữ liệu, khả năng phân tích...
spot_img