Qui trình xây dựng kho dữ liệu của Microsoft

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 38)

Xây dựng kho dữ liệu là phức tạp bao gồm nhiều công đoạn và phương pháp để xây dựng hệ thống đó phải đơn giản hóa để giảm bớt bớt sự phức tạp. Theo đề xuất của Microsoft thì vòng đời của kho dữ liệu gồm 13 bước chính, mỗi bước là một hộp, mà những bước này quyết định sự thành công của việc xây dựng kho dữ liệu. Các

bước này được thể hiện ở Hình 2.9 bên dưới.

Hình 2.9. Qui trình xây dựng kho dữ liệu của Microsoft

Đầu tiên chú ý rằng hộp định nghĩa yêu cầu nghiệp vụ được đặt ở vị trí trung

tâm, đây là bước làm cơ sở cho ba khối theo sau. Đồng thời cũng có mũi tên chỉ ngược

về hộp kế hoạch dự án bởi vì có thể phải thay đổi lại kế hoạch dự án khi hiểu rõ hơn

yêu cầu nghiệp vụ và thứ tự ưu tiên.

Tiếp đến là ba khối ở giữa vòng đời tập trung cho ba nội dung công việc riêng biệt sau:

Khối trên cùng liên quan đến kỹ thuật, tức lập kế hoạch cho bước chọn lựa các công cụ của công nghệ Microsoft mà sẽ được sử dụng trong dự án cũng như việc cài đặt và cấu hình các công cụ này.

Khối ở giữa liên quan đến dữ liệu, bao gồm việc thiết kế mô hình đa chiều, thiết kế vật lý, thiết kế và phát triển qui trình tích hợp. Khối bước

này có thể hiểu là các bước xây dựng kho dữ liệu, nhưng kho dữ liệu sẽ coi như không thành công nếu không thực hiện các bước còn lại.

Khối cuối cùng liên quan đến ứng dụng BI, tức gồm việc thiết kế và phát triển ứng dụng BI cho người dùng nghiệp vụ.

Các khối sẽ được kết hợp lại khi thực hiện triển khai hệ thống. Đây là một mốc

thời gian đặc biệt nhạy cảm bởi vì nó sẽ là cơ hội để tạo ấn tượng tốt đầu tiên cho khách hàng. Việc bảo trì DW/BI bắt đầu sau khi triển khai xong, và việc này có thể

thực hiện bởi con người và công cụ. Giai đoạn tăng trưởng của dự án có mũi tên quay

lại giai đoạn đầu tiên với ngụ ý rằng phương pháp tiếp cận gia tăng là yếu tố cơ bản của việc cung cấp các giá trị doanh nghiệp.

Dưới cùng toàn bộ vòng đời là hộp quản lý dự án. Điều quan trọng nhất cần nhớ

ở đây là cần một quản lý dự án và người này có trách nhiệm là người quản lý toàn bộ dự án ở mức cao. Tiếp theo là các trưởng nhóm, trưởng nhóm lý tưởng nhất là tìm những người có thể giao tiếp hiệu quả với các kỹ sư công nghệ và những người kinh doanh, bao gồm cả các giám đốc điều hành cao nhất trong doanh nghiệp.

2.6. Tổng kết chương

Chương này chủ yếu trình bày kiến trúc và công nghệ kho dữ liệu của SQL server 2008. Kiến trúc DW/BI của Microsoft gồm ba tầng: tầng dữ liệu nguồn hỗ trợ nhiều loại CSDL nguồn khác nhau, tầng nền tảng bao gồm các công cụ và dịch vụ của SQL Server hỗ trợ cho việc xây dựng kho dữ liệu, và tầng khai thác gồm các công cụ tạo và chia sẻ báo cáo. Ngoài ra trong chương này cũng trình bày các kiến thức chung nhất về các dịch vụ và công cụ mà được sử dụng khi xây dựng thử nghiệm kho dữ liệu siêu thị.

Chương 3. XÂY DỰNG KHO DỮ LIỆU SIÊU THỊ 3.1. Giới thiệu về siêu thị

Đây là siêu thị chuyên bán lẻ ở Hà Nội, qui mô thuộc hạng vừa, chuyên buôn bán thực phẩm và đồ dùng thiết yếu hằng ngày. Siêu thị có sáu cửa thu ngân, và số lượng sản phẩm được bán ở siêu thị khoảng 37 nghìn mã hàng hóa được chia thành các loại hàng sau: Dệt kim Điện gia dụng Điện tử điện lạnh Đồ chơi giải trí Đồ gia dụng Đồ uống Gốm sứ Hoá mỹ phẩm Nội thất Thời trang Thực phẩm

Trang trí, lưu niệm Văn hóa phẩm Văn phòng phẩm

Siêu thị đã trang bị phần mềm quản lý và bán hàng, mọi thanh toán của khách hàng đều được thực hiện trực tiếp tại các quầy thu ngân, CSDL được tập trung và lưu

trữ trên máy chủ SQL Server 2008. Hình 3.1 bên trên là sơ đồ bố trí hoạt động của hệ

thống phần mềm hiện tại.

Khách hàng của siêu thị đa số là người dân địa phương sinh sống gần siêu thị và thường thực hiện mua bán trực tiếp bằng tiền mặt. Siêu thị cũng có lượng khách hàng có đăng ký thẻ nhưng chưa nhiều, chỉ hơn một nghìn khách hàng.

3.2. Yêu cầu xây dựng kho dữ liệu

Hiện tại phần mềm quản lý siêu thị đang chạy tương đối ổn định và dữ liệu đã có cho nhiều năm. Phần mềm cho phép in một số các báo cáo nghiệp vụ theo mẫu có sẵn về thu chi, tồn kho, kế toán… Nhưng vẫn không đáp ứng các được các yêu cầu báo cáo động và hỗ trợ cách thức để phân tích số liệu theo nhiều chiều khác nhau, đặc biệt là số liệu về bán hàng. Vì vậy, siêu thị có nhu cầu xây dựng kho dữ liệu đáp ứng được các yêu cầu sau:

1. Lưu trữ tất cả các dữ liệu thô trong vòng 5-10 năm để có thể thực hiện tra

cứu đối chiếu số liệu sau này. Kể cả cho việc mở rộng việc khai phá dữ liệu trong tương lai gần.

2. Cho phép phân tích số liệu bán hàng theo các chiều sau:

Ngày bán: theo phân cấp năm → quí → tháng → ngày

Mặt hàng: theo phân cấp loại hàng → nhóm hàng → hàng

Khách hàng: theo phân cấp loại khách hàng → khách hàng

Phương thức thanh toán Loại tiền tệ thanh toán Quầy thu ngân

3. Cho phép phân tích số liệu đặt và mua hàng từ nhà cung cấp

Ngày đặt: theo phân cấp năm → quí → tháng → ngày

Ngày nhận: theo phân cấp năm → quí → tháng → ngày

Mặt hàng: theo phân cấp loại hàng → nhóm hàng → hàng

Nhà cung cấp

Phương thức thanh toán Loại tiền tệ thanh toán

Ngày báo cáo: theo phân cấp năm → quí → tháng → ngày

Mặt hàng: theo phân cấp loại hàng → nhóm hàng → hàng

Kho

5. Cho phép phân tích tình hình tài chính theo các tiêu chí:

Ngày báo cáo: theo phân cấp năm → quí → tháng → ngày

Khách hàng: theo phân cấp loại khách hàng → khách hàng

Nhà cung cấp Loại tiền tệ

Phương thức thanh toán

6. Cho phép sử dụng Excel để thực hiện phân tích và báo cáo.

7. Cho phép thực hiện việc phân tích và báo cáo từ xa qua qua giao diện dựa

trên nền web.

Tóm lại, nhu cầu của siêu thị cần xây dựng bốn chủ đề, và mỗi chủ đề cần phân

tích theo các chiều khác nhau. Chi tiết các chiều cho từng chủ đề như Hình 3.2 bên

dưới.

3.3. Phạm vi thực hiện trong luận văn

Theo như yêu cầu của siêu thị thì cần xây dựng kho dữ liệu phải đáp ứng bốn chủ đề: bán hàng, mua hàng, kho và tài chính. Nhưng quan trọng nhất là chủ đề bán hàng, vì bán hàng là đầu ra của siêu thị, hàng bán được nhiều sẽ làm tăng doanh thu cho siêu thị. Xây dựng được chủ đề bán hàng sẽ giúp cho người quản lý có thể nắm được các thông tin liên quan đến bán hàng. Một số câu hỏi mà quản lý siêu thị thường quan tâm như mặt hàng nào đang có xu thế bán tăng trong tháng, bán giảm trong tháng, lượng khách hàng thường đông vào giờ nào, các mặt hàng nào bán chạy vào ngày chủ nhật, hay mặt hàng nào bán chạy trong dịp tết năm trước… giúp cho người quản lý có kế hoạch nhập hàng, bày trí hàng, bố trí nhân viên được tốt hơn nhằm mục đích bán được nhiều hàng nhất. Vì vậy, trong phạm vi của luận văn, nội dung chủ yếu tập trung vào chủ đề bán hàng, nhưng khi thiết kế kho dữ liệu vẫn theo theo cấu trúc tổng thể nhằm dễ dàng mở rộng thêm cho các chủ đề khác sau này. Cụ thể gồm các việc sau:

Xây dựng kho dữ liệu doanh nghiệp: bao gồm tất cả các chiều dùng chung như thời gian, mặt hàng, khách hàng, quầy thu ngân, kho, loại tiền tệ, phương thức thanh toán. Thêm vào đấy là tất cả các dữ liệu thô từ phần mềm quản lý bán siêu thị liên quan đến việc bán hàng.

Xây dựng kho dữ liệu chuyên biệt: chỉ tập trung cho chủ đề bán hàng. Xây dựng qui trình tích hợp dữ liệu cho kho dữ liệu: để chuyển dữ liệu từ phần mềm quản lý siêu thị vào kho dữ liệu doanh nghiệp và sau đấy là kho dữ liệu chuyên biệt bán hàng.

Xây dựng khối dữ liệu bán hàng nhằm mục đích sử dụng cho việc phân tích số liệu bán hàng.

Sử dụng chức năng PivotTable trong Excel 2007 để tạo một số mẫu phân

tích phổ biến nhất cho người dùng dựa trên khối dữ liệu.

Tạo một số mẫu báo cáo và mẫu phân tích trên cổng thông tin quản lý báo cáo để cho phép người sử dụng khai thác từ xa qua giao diện web.

Cài đặt lịch thực hiện tự động cho tất cả các công việc dùng cho việc tích hợp dữ liệu và cập nhật khối dữ liệu bán hàng chạy hàng ngày vào các buổi trưa và buổi tối.

3.4. Dữ liệu nguồn cho kho dữ liệu

Dữ liệu nguồn cho kho dữ liệu chủ yếu là từ CSDL của phần mềm quản lý siêu

thị đang áp dụng. Bảng 3.1 sau đây là danh sách các bảng dữ liệu nguồn mà có sử

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

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

1 tb_T_Transaction Chứa thông tin cơ bản về các giao

dịch bán hàng. Bán hàng có thể hiểu bán lẻ, bán buôn, trao đổi, khuyến mại… nhưng hiện tại chủ yếu vẫn là bán lẻ. Thông tin quan trọng nhất trong bảng này cần lấy là ngày giờ giao dịch

2 tb_T_POSRetail Đây là bảng chứa các thông tin

chung nhất về giao dịch bán lẻ thông qua hệ thống POS. Các thông tin cần quan tâm trong bảng này là khách hàng, phương thức thanh toán, và quầy thu ngân

3 tb_T_POSRetail_Detail Đây là bảng chứa các thông tin chi

tiết của giao dịch bán lẻ thông qua hệ thống POS. Thông tin cần lấy liên quan đến một mục hàng được bán trong từng giao dịch như mã hàng, đơn giá, số lượng, thành tiền

4 tb_M_CustomerType Lưu danh sách loại khách hàng

5 tb_M_Customer Lưu danh sách khách hàng

6 tb_M_Tax Lưu danh sách loại thuế VAT

7 tb_M_PaymentMethod Lưu danh sách phương thức thanh

toán (tiền mặt, chuyển khoản, thẻ…).

8 tb_M_Store Lưu danh sách các kho hàng hóa.

9 tb_M_Category Lưu danh sách loại hàng theo phân

cấp. Trong CSDL này thì loại hàng được phân cấp thành loại hàng và nhóm hàng.

10 tb_M_Product Lưu danh sách hàng hóa được bày

bán trong siêu thị.

11 tb_M_CashDesk Lưu danh sách quầy thu ngân

Hình 3.3 sau đây là sơ đồ quan hệ các bảng dữ liệu nguồn.

3.5. Xây dựng kho dữ liệu siêu thị

3.5.1. Kiến trúc tổng thể kho dữ liệu

Kho dữ liệu siêu thị sẽ được tổ chức theo kiến trúc như Hình 3.4 bên dưới.

Kiến trúc kho dữ liệu bao gồm các thành phần như sau:

SieuThi_SRC: là nguồn dữ liệu của kho dữ liệu, chính là CSDL tác nghiệp của phần mềm quản lý siêu thị.

SieuThi_STG: là CSDL tạm dùng cho việc tích hợp dữ liệu cho kho dữ liệu. Chứa các bảng tạm tương ứng với các bảng cần lấy trong CSDL nguồn, các bảng siêu dữ liệu và một số thủ tục dùng trong việc tích hợp.

SieuThi_DW: là kho dữ liệu hay có thể hiểu là kho dữ liệu doanh nghiệp, nó chứa tất cả các bảng tham chiếu và bảng giao dịch lấy từ CSDL tác

nghiệp. SieuThi_DW vẫn là CSDL quan hệ được và tổ chức theo chuẩn

3NF, nhưng có điều hơi khác với CSDL nguồn là các bảng tham chiếu sử dụng khóa thay thế, là số nguyên tự tăng, làm khóa chính, nhằm đảm bảo tính lịch sử của dữ liệu trong các bảng tham chiếu.

SieuThi_DM: là kho dữ liệu chuyên biệt bán hàng, nó được tổ chức theo mô hình hình sao gồm cả các bảng chiều và bảng sự kiện nhằm phục vụ cho việc phân tích số liệu.

PKG_STG_Controller: là gói SSIS để chuyển dữ liệu từ SieuThi_SRC vào

SieuThi_STG, đây là gói mức điều khiển nên không thực hiện trực tiếp các thao tác tích hợp dữ liệu mà chỉ gọi đến các gói ở mức chi tiết hơn.

PKG_DW_Controller: là gói SSIS để chuyển dữ liệu từ SieuThi_STG vào

SieuThi_DW.

PKG_DM_Controller: là gói SSIS để chuyển dữ liệu từ SieuThi_DW vào

SieuThi_DM.

Cube_POSRetail: là khối dữ liệu được tạo bởi BIDS, dữ liệu đầu vào cho

nó là kho dữ liệu chuyên biệt bán hang SieuThi_DM.

AS_POSRetail.xlsx: là tập tin Excel chứa một số mẫu phân tích cho bán lẻ của siêu thị, việc phân tích trong Excel sẽ thực hiện thông qua công cụ

PivotTable, công cụ này cho phép kết nối trực tiếp đến khối dữ liệu

Cube_POSRetail.

Các báo cáo: đây là danh sách các báo cáo được tạo bởi công cụ Report

Designer trong bộ công cụ BIDS hoặc bộ công cụ Report Builder, chạy

trên nền web, được tích hợp trong Report Manager. Các báo cáo này có

thể lấy dữ liệu từ khối dữ liệu Cube_POSRetail hoặc từ kho dữ liệu

chuyên biệt SieuThi_DM.

Cổng quản lý báo cáo: chính là Report Manager của SQL Server 2008,

tích trên Excel, các tài liệu liên quan. Người sử dụng có thể truy cập qua giao diện web để xem, phân tích số liệu, chia sẻ và quản lý các báo cáo.

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

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

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 38)

Tải bản đầy đủ (PDF)

(78 trang)