Thiết kế cấu trúc dữ liệu

Một phần của tài liệu Nghiên cứu giải pháp kho dữ liệu trong SQL server 2008 và áp dụng trong thương mại (Trang 48)

3.5.2.1. Qui ước chung

Việc thiết kế cấu trúc chi tiết cho các bảng của kho dữ liệu doanh nghiệp

SieuThi_DW và kho dữ liệu chuyên biệt SieuThi_DM nên tuân theo các qui ước chung sau đây:

Tất cả các bảng tham chiếu và chiều đều có áp dụng cách thức ghi lại sự thay đổi theo kiểu 2 (SCD – Type 2) để đảm bảo tính lịch sử của dữ liệu. Với kiểu 2 này thì khi một đối tượng thay đổi một thông tin nào đấy thì phải phát sinh một bản ghi mới để lưu thông tin mới nhất mà không ghi đè lên bản ghi cũ. Khi đấy bản ghi mới sẽ được đánh dấu là bản ghi hiện hành.

*_DW_ID: chỉ ra đây là cột khóa thay thế, chính là một số tự nhiên tự tăng.

*_SRC_CODE: chỉ ra đây là cột mã tự nhiên, thường lấy từ cột mã hoặc khóa chính của dữ liệu tác nghiệp.

CURR_IND: là cột để xác định bản ghi có còn là hiện hành không, vì sử dụng kiểu 2 như ở trên.

EFF_FROM_DATE: ngày bản ghi bắt đầu có hiệu lực, thường là ngày được thêm vào bảng.

EFF_TO_DATE: ngày bản ghi hết hiệu lực, bình thường giá trị sẽ là NULL, nghĩa là vẫn còn hiệu lực. Khi có một bản ghi mới cùng một số thuộc tính khóa nghiệp vụ được thêm vào thì bản ghi cũ sẽ gán giá trị

ngày giờ hệ thống cho EFT_TO_DATE.

LAST_UPDATE_DATE: ngày mà bản ghi được cập nhật.

3.5.2.2. Cấu trúc kho dữ liệu (SieuThi_DW)

Cấu trúc dữ liệu của kho dữ liệu doanh nghiệp SieuThi_DW được tổ chức dựa

trên chuẩn 3NF. Các bảng được tổ chức gần gống với CSDL dữ liệu tác nghiệp, chỉ khác là đã thêm các cột khóa thay thế vào các bảng danh mục (hay còn gọi là các bảng tham chiếu), để đảm bảo tính lịch sử của dữ liệu. Sơ đồ quan hệ các bảng trong

Bảng 3.2 sau đây là bảng mô tả các bảng trong kho dữ liệu doanh nghiệp

SieuThi_DW.

Bảng 3.2. Danh sách các bảng trong kho dữ liệu SieuThi_DW

STT Tên bảng Diễn giải

1 DW_POSRetail Đây là bảng được lấy dữ liệu từ hai bảng

tb_T_Transaction và tb_T_POS Retail của CSDL nguồn SieuThi_SRC. Bảng này chứa thông tin chung nhất về số hiệu, ngày giao dịch cũng như các khóa ngoại liên kết đến các bảng tham chiếu về khách hàng, phương thức thanh toán, và quầy thu ngân thông qua các khóa thay thế (*_DW_ID)

2 DW_POSRetail_Detail Đây là bảng được lấy dữ liệu từ ba bảng

tb_T_Transaction, tb_T_POS Retail và tb_T_POSRetail_Detail của CSDL nguồn SieuThi_SRC. Nó chứa các thông tin như mã hàng, đơn giá, số lượng, thành tiền cho từng mục hàng của từng giao dịch

3 M_CustomerType Lưu danh sách loại khách hàng, dữ liệu

lấy từ bảng tbl_M_CustomerType của CSDL nguồn

4 M_Customer Lưu danh sách khách hàng, dữ liệu lấy từ

bảng tbl_M_Customer của CSDL nguồn

5 M_Tax Lưu danh sách loại thuế VAT, dữ liệu lấy

từ bảng tbl_M_Tax của CSDL nguồn

6 M_PaymentMethod Lưu danh sách phương thức thanh toán

(tiền mặt, chuyển khoản, thẻ…), dữ liệu lấy từ bảng tbl_M_PaymentMethod của CSDL nguồn

7 M_Store Lưu danh sách kho hàng hóa, dữ liệu lấy (adsbygoogle = window.adsbygoogle || []).push({});

từ bảng tbl_M_Store của CSDL nguồn

8 M_Category Lưu danh sách loại hàng, dữ liệu lấy từ

bảng tbl_M_Category của CSDL nguồn

9 M_SubCategory Lưu danh sách nhóm hàng, dữ liệu lấy từ

bảng tbl_M_Category của CSDL nguồn

10 M_Product Lưu danh sách hàng hóa, dữ liệu lấy từ

11 M_CashDesk Lưu danh sách các quầy thu ngân, dữ liệu lấy từ bảng tbl_M_CashDesk của CSDL nguồn

12 M_Currency Lưu danh sách loại tiền tệ dùng trong việc

thanh toán, dữ liệu lấy từ bảng tbl_M_Currency của CSDL nguồn

3.5.2.3. Cấu trúc kho dữ liệu chuyên biệt (SieuThi_DM)

Cấu trúc dữ liệu của kho dữ liệu chuyên biệt SieuThi_DM được tổ chức dựa trên

lược đồ hình sao. Hình 3.6 sau đây là sơ đồ cấu trúc và quan hệ các bảng trong

SieuThi_DM.

Hình 3.6. Sơ đồ cấu trúc các bảng dữ liệu của SieuThi_DM

Bảng 3.3 sau đây là bảng mô tả các bảng trong kho dữ liệu SieuThi_DM.

Bảng 3.3. Danh sách các bảng trong kho dữ liệu SieuThi_DM

STT Tên bảng Diễn giải

1 Fact_POS_Retail Là bảng sự kiện, dữ liệu của nó được lấy từ

hai bảng DW_POSRetail và

DW_POSRetail_Detail của kho dữ liệu doanh nghiệp SieuThi_DW. Nó chứa các thông tin tính toán như số lượng, đơn giá, thành tiền và các trường liên kết đến các chiều cần phân

tích như ngày, giờ, hàng, khách hàng, phương thức thanh toán, loại tiền tệ, và quầy thu ngân

2 Dim_Customer Là bảng chiều khách hàng, dữ liệu của nó lấy

từ bảng M_CustomerType và M_Customer của kho dữ liệu doanh nghiệp SieuThi_DW. Trong bảng này có chứa các thông tin về loại

khách hàng, cho phép tạo phân cấp: Loại

khách hàng → Khách hàng

3 Dim_PaymentMethod Là bảng chiều phương thức thanh toán, dữ

liệu lấy từ bảng M_PaymentMethod kho dữ liệu doanh nghiệp SieuThi_DW

4 Dim_Product Là bảng chiều hàng hóa, dữ liệu lấy từ ba

bảng M_Product, M_Subcategory và M_Category của kho dữ liệu doanh nghiệp SieuThi_DW. Trong bảng này có chứa các thông tin về loại hàng và nhóm hàng, cho

phép tạo phân cấp: Loại hàng → Nhóm hàng (adsbygoogle = window.adsbygoogle || []).push({});

→ Hàng

5 Dim_CashDesk Là bảng chiều quầy thu ngân, dữ liệu lấy từ

bảng M_CashDesk của kho dữ liệu doanh nghiệp SieuThi_DW

6 Dim_Currency Là bảng chiều loại tiền tệ được dùng khi

thanh toán, dữ liệu lấy từ bảng M_Currency của kho dữ liệu doanh nghiệp SieuThi_DW

7 Dim_Date Là bảng chiều thời gian và lưu trữ đến mức

ngày (mỗi ngày một bản ghi). Dữ liệu cho bản này được khởi tạo trước cho 5 năm từ 2008 đến 2012

Một phần của tài liệu Nghiên cứu giải pháp kho dữ liệu trong SQL server 2008 và áp dụng trong thương mại (Trang 48)