Đây là để trả lời một phần:
Tôi đang cố gắng hiểu liệu bảng kích thước cũng có thể là bảng dữ kiện hay không?
Câu trả lời ngắn gọn (INMO) là Không là do 2 loại bảng được tạo ra vì những lý do khác nhau. Tuy nhiên, từ quan điểm thiết kế cơ sở dữ liệu, một bảng thứ nguyên có thể có một bảng cha như trường hợp của bảng dữ kiện luôn có một bảng thứ nguyên (hoặc nhiều hơn) như một bảng cha. Ngoài ra, bảng dữ kiện có thể được tổng hợp, trong khi bảng Thứ nguyên không được tổng hợp. Một lý do khác là bảng dữ kiện không được cập nhật tại chỗ trong khi bảng Thứ nguyên có thể được cập nhật tại chỗ trong một số trường hợp.
Thêm chi tiết:
Bảng dữ kiện và kích thước xuất hiện trong một cái thường được gọi là Lược đồ hình sao. Mục đích chính của giản đồ hình sao là đơn giản hóa một tập hợp các bảng chuẩn hóa phức tạp và hợp nhất dữ liệu (có thể từ các hệ thống khác nhau) thành một cấu trúc cơ sở dữ liệu có thể được truy vấn theo cách rất hiệu quả.
Ở dạng đơn giản nhất, nó chứa một bảng dữ kiện (Ví dụ: StoreSales) và một hoặc nhiều bảng thứ nguyên. Mỗi mục nhập Thứ nguyên có 0,1 hoặc nhiều bảng dữ kiện được liên kết với nó (Ví dụ về bảng thứ nguyên: Địa lý, Mặt hàng, Nhà cung cấp, Khách hàng, Thời gian, v.v.). Nó cũng sẽ hợp lệ cho thứ nguyên có cha mẹ, trong trường hợp đó, mô hình thuộc loại "Snow Flake". Tuy nhiên, các nhà thiết kế cố gắng tránh kiểu thiết kế này vì nó gây ra nhiều liên kết hơn khiến hiệu suất chậm hơn. Trong ví dụ về StoreSales, thứ nguyên Địa lý có thể bao gồm các cột (GeoID, ContenentName, CountryName, StateProvName, CityName, StartDate, EndDate)
Trong mô hình Snow Flakes, bạn có thể có 2 bảng chuẩn hóa cho thông tin Địa lý, đó là: Bảng Nội dung, Bảng Quốc gia.
Bạn có thể tìm thấy rất nhiều ví dụ trên Star Schema. Ngoài ra, hãy kiểm tra phần này để xem một chế độ xem thay thế trên mô hình giản đồ sao Inmon vs. Kimball . Kimbal có một diễn đàn tốt mà bạn cũng có thể muốn xem tại đây: Diễn đàn Kimball .
Chỉnh sửa: Để trả lời nhận xét về các ví dụ cho 4NF:
- Ví dụ cho một bảng dữ kiện vi phạm 4NF:
Thông tin bán hàng (ID, BranchID, SalesPersonID, ItemID, Số lượng, TimeID)
- Ví dụ cho một bảng dữ kiện không vi phạm 4NF:
AggregatedSales (BranchID, TotalAmount)
Đây là mối quan hệ trong 4NF
Ví dụ cuối cùng là khá phổ biến.