Giai đoạn phân tích đã xử lý hệ thống dựa trên quan niệm logic, giai đoạn thiết kế sẽ kế thừa và phát triển để xây dựng kho dữ liệu vật lý.
Phạm vi của luận văn xin phép chỉ trình bày về thiết kế kho dữ liệu vì phần này có liên quan trực tiếp đến việc xây dựng kho dữ liệu và khai thác thông tin bằng công cụ xử lý phân tích trực tuyến OLAP, các thiết kế chi tiết về kiến trúc dữ liệu, thiết kế kiến trúc của ứng dụng,... xin phép được bỏ qua.
Thiết kế kho dữ liệu
+ Kiến trúc kho:
Kho dữ liệu là một hệ cơ sở dữ liệu lớn dược lưu trữ trong CSDL của TMĐT, lưu trữ toàn bộ các thông tin về nghiệp vụ.
Các thành phần dữ liệu bao gồm:
- Khối dữ liệu danh mục: Bao gồm các bảng chiều lưu trữ dữ liệu danh mục như sản phẩm, khách hàng, nhà cung cấp...
- Khối dữ liệu khai thác: bao gồm các bảng dữ liệu về việc bán hàng hữu hình và phi vật thể, việc quản lý đặt phòng khách sạn ,...
- Khối dữ liệu tổng hợp báo cáo: bao gồm các bảng dữ liệu tổng hợp khai thác theo các chỉ tiêu khác nhau, báo cáo cho các đối tượng khác nhau.
Dữ liệu tác nghiệp Dữ liệu mua bán hànghoá hữu hình và phi vật thể Dữ liệu đặt vé máy bay
Dữ liệu đặt phòng khách sạn
Dữ liệu đặt tour du lịch
Kho dữ liệu
1. Danh mục khách hàng 2. Danh mục sản phẩm 3. Danh mục nhà cung cấp 4. Danh mục khách sạn 5. Danh mục tour du lịch 6. Danh mục chuyến bay 7. Danh mục mức ưu đãi 8. Bảng chiều thời gian
9. Danh mục phương thức thanh toán 10. Danh mục công ty du lịch
11. Danh mục hãng hàng không
Các bảng chiều này sẽ quan hệ với các bảng sự kiện thông qua các trường khoá ngoại tuỳ theo tính chất số liệu trong các bảng sự kiện. Bảng chiều thời gian và bảng phương thức thanh toán có quan hệ với tất cả các bảng sự kiện. Nó sẽ là các bảng chiều được dùng chung (Shared Dimension).
* Xác định các bảng thực (Fact Table):
Dựa vào kết quả của quá trình phân tích hệ thống ta xây dựng các bảng FT như sau:
1. FT lưu dữ liệu về việc mua bán hàng hoá hữu hình và phi vật thể. 2. FT lưu dữ liệu về việc đặt phòng khách sạn.
3. FT lưu dữ liệu về việc đặt vé máy bay. 4. FT lưu dữ liệu về việc đặt tour du lịch.
* Các ràng buộc quan hệ.
Sau khi tạo ra các bảng thực và các bảng chiều, việc tạo liên kết giữa các bảng được tiến hành. Bảng dưới đây thể hiện các ràng buộc liên kết giữa các bảng thực và các bảng chiều của nó (minh hoạ với bảng thực BanHang_Fact):
Bảng 3.1 Một số trường ràng buộc
* Thiết kế các chỉ mục (Index)
Sử dụng việc đánh chỉ số có thể làm tăng đáng kể hiệu suất của các truy vấn trong kho dữ liệu. Do vậy, việc thiết kế các chỉ số cho các bảng thực và các bảng chiều là hết sức cần thiết.
Đối với kho dữ liệu thương mại điện tử, ta có thể tạo ra các bảng chỉ số cho mỗi chiều dựa trên cột thuộc tính khoá chính của mỗi chiều. Riêng với các bảng thực có số lượng dữ liệu vô cùng lớn như vậy, ta có thể thay những khoá có ý nghĩa (khoá chính của các bảng chiều liên kết) bằng việc sử dụng một khoá do mình tạo ra là một khoá nhỏ nhất có thể mà vẫn đảm bảo tính duy nhất của mỗi bản ghi. Những khoá có ý nghĩa được thay thế trên không cần thiết phải huỷ bỏ, chúng có thể đơn giản được chuyển đến một thuộc tính không phải là khoá. Phương pháp này cho khả năng linh hoạt ở mức cao nhất, việc bảo trì là ít nhất và công suất cao nhất có thể.
Dưới đây minh hoạ việc thiết kế chỉ mục cho các bảng thực:
STT Tên Bảng Tên Index Trường Index
1 BanHang_Fact Index_BanHang Id_BanHang 2 KhachSan_Fact Index_KhachSan Id_KhachSan
STT Tên bảng thực Tên bảng chiều Trường liên kết
1 BanHang_Fact DMSanPham MaSP
DMKhachHang MaKH
DMNhaCC MaNCC
DMMưcUuDai MaUuDai
Time_Dim TimeID
3 DuLich_Fact Index_DuLich Id_DuLich 4 VeMayBay_Fact Index_VeMayBay Id_VeMayBay Bảng 3.2 Một số bảng chỉ mục
* Các sơ đồ dữ liệu
Dưới đây là sơ đồ dữ liệu của các DM trong kho dữ liệu thương mại điện tử:
Hình 3.4 Sơ đồ quan hệ thực thể dịch vụ đặt phòng khách sạn
3.5 KẾT LUẬN CHƢƠNG 3
Để có thể xây dựng kho dữ liệu và các khối dữ liệu phục vụ cho nhu cầu khai thác thông tin, hỗ trợ quyết định cho các nhà quản lý thương mại điện tử cần phải tìm hiểu thật kỹ càng và chính xác về hoạt động của hệ thống. Chương này đã trình bày một cách khái quát về hệ thống TMĐT, tìm hiểu các yêu cầu và dựa trên các thông tin thu thập được đã tiến hành phân tích, thiết kế kho dữ liệu TMĐT nhằm chuẩn bị cho công việc tạo lập kho.
Muốn công việc xây dựng kho dữ liệu được tiến hành một cách đúng đắn, tránh đựơc sai sót và đem lại hiệu quả cao, trước khi tiến hành xây dựng kho, chúng ta rất cần được trang bị những kiến thức cơ bản về phương pháp luận xây dựng kho dữ liệu, cần có cái nhìn tổng quát về phương pháp luận chung, phương pháp thiết kế truyền thống và từng giai đoạn cụ thể trong quá trình tạo lập kho.
Ngoài ra, chương cũng đã trình bày đôi nét về công cụ thực hiện, đó là bộ công cụ Microsoft SQL Server, bao gồm: Microsoft Enterprise Manager cho
phép tạo lập và quản lý kho, Microsoft Analysis Services hỗ trợ tạo lập các khối dữ liệu và thực hiện các truy vấn khai thác thông tin trong khối dữ liệu đa chiều.
Những kiến thức cơ bản này sẽ là sự chuẩn bị tốt để bắt tay vào thực hiện quá trình xây dựng và tạo lập kho dữ liệu thương mại điện tử và xây dựng các khối dữ liệu đa chiều cho phép phân tích và tổng hợp dữ liệu để có được thông tin phục vụ công việc quản lý của ban lãnh đạo.
CHƢƠNG 4
XÂY DỰNG KHO DỮ LIỆU TMĐT VÀ
GIẢI PHÁP XỬ LÝ PHÂN TÍCH TRỰC TUYẾN OLAP
4.1 TRÍCH CHỌN, XỬ LÝ, NẠP DỮ LIỆU VÀO KHO 4.1.1 Tổ chức hệ thống 4.1.1 Tổ chức hệ thống
Kho dữ liệu thương mại điện tử có đầu vào là dữ liệu từ các hoạt động tác nghiệp (CSDL của hệ thống trang web thương mại điện tử, CSDL của các nhà cung cấp, các hoá đơn giao hàng,...) và đầu ra sẽ sử dụng công cụ OLAP tạo ra các báo cáo phân tích thông tin dồi dào và phong phú được tạo lập nhanh chóng và hiển thị một cách trực quan, linh hoạt. Các báo cáo này sẽ giúp ích cho các nhà quản lý có đầy đủ thông tin cần thiết để có thể đưa ra những quyết định chiến lược kịp thời. Dưới đây là sơ đồ kiến trúc của kho dữ liệu thương mại điện tử:
Hình 4.1 Sơ đồ kiến trúc kho dữ liệu TMĐT
Hệ thống kho dữ liệu TMĐT được cài đặt tập trung vào những phần chính là các khối chức năng quan trọng sau:
+ Trích chọn, chuyển tải và nạp dữ liệu vào kho + Tạo lập các khối dữ liệu đa chiều
+ Phân tích, hiển thị dữ liệu và tạo lập báo cáo. Hệ thống
tác nghiệp
Trích chọn, chuyển tải và nạp dữ liệu
Kho dữ liệu Hệ thống quản trị CSDL đa chiều
Bộ phân tích dữ liệu
Người sử dụng
4.1.2 Thu thập và tạo lập dữ liệu cho kho dữ liệu 4.1.2.1 Trích chọn, chuyển tải và nạp dữ liệu 4.1.2.1 Trích chọn, chuyển tải và nạp dữ liệu * Trích chọn dữ liệu
Trích chọn dữ liệu là một phép xử lí để lấy các dữ liệu đã được xác định trước ra khỏi các hệ thống tác nghiệp và các nguồn dữ liệu bên ngoài [1]. Các dữ liệu thường di chuyển từ các hệ thống OLTP tới kho dữ liệu. Quá trình trích chọn dữ liệu có thể gặp phải một số vấn đề:
- Không có đủ thông tin chi tiết về hệ thống
- Hoặc người sử dụng yêu cầu thông tin ở mức thấp hơn thông tin của hệ thống hoạt động có thể lưu trữ
- Dữ liệu được trích như thế nào (đọc dữ liệu từ đâu), khi nào (thời gian và tần số trích chọn)?
Một nhiệm vụ quan trọng của bước này là phải lập ra kế hoặch và tần suất tiến trình trích chọn. Mục đích của bước này là phải tối thiểu hoá các tác động lên các hệ thống và thi hành các tác vụ này trong một cửa sổ xử lý theo lô. Đối với các bảng khác nhau thì tần suất trích dữ liệu sẽ khác nhau. Việc trích dữ liệu cũng phụ thuộc vào ảnh hưởng của hệ thống nguồn và loại dữ liệu được trích.
Đối với kho dữ liệu thương mại điện tử, dữ liệu bán hàng, dữ liệu về hoạt động đặt vé máy bay, về các tour du lịch hay đặt phòng khách sạn sẽ có thể được cập nhật hàng ngày. Tuy nhiên, dữ liệu về sản phẩm, về các nhà cung cấp hàng hoá, về các khách sạn,v.v.. chỉ cần trích dữ liệu hàng tuần.
Các dữ liệu trích chọn đầu tiên được chuyển tải vào kho dữ liệu tạm thời. Quá trình thực thi có thể thực hiện bằng các thủ tục T-SQL, dịch vụ chuyển đổi dữ liệu (DTS).
4.1.2.2 Lọc, tinh chế dữ liệu
Quá trình lọc, làm sạch dữ liệu kiểm tra và sưả chữa các lỗi có thể có của dữ liệu để đảm bảo tính đúng đắn của dữ liệu [1].
Công việc này bao gồm các thao tác:
- Đưa ra và hợp nhất các bản ghi trùng nhau
- Thu nhặt, sắp xếp các bản ghi giống nhau mà bị thiếu các khoá từ các hệ thống khác nhau.
Quá trình làm sạch cần được lặp đi lặp lại các bước sửa lỗi cho hệ thống thi hành hoặc thực hiện quá trình làm sạch khác với một số dữ liệu vừa được làm sạch.
4.1.2.3 Thẩm định và chuyển đổi dữ liệu
Mục đích của bước này là chuyển dữ liệu thành thông tin có thể hiểu được và sử dụng được đối với người sử dụng. Việc chuyển đổi có thể gồm các chức năng sau:
- Chuyển dữ liệu từ trường này sang trường khác
- Xây dựng lại và định dạng lại các trường dữ liệu, có thể chỉ chuyển một phần hoặc phải gộp cả các trường lại với nhau tạo thành một trưòng mới.
- Chuyển hoá từ nhiều trường nguồn để tạo ra một trường mới
4.1.2.4 Tích hợp dữ liệu
Khi có nhiều nguồn dữ liệu thì chúng cần thiết phải được tích hợp lại để hợp nhất và tổ chức lại dữ liệu cho phù hợp với kiến trúc và nhu cầu sử dụng. Tích hợp thông tin từ hệ thống này sang hệ thống khác bao gồm:
- Sắp xếp và hợp nhất khi một bảng dữ liệu đích được tạo nên từ nhiều nguồn dữ liệu.
- Chia cắt dữ liệu nếu như từ một dữ liệu nguồn cần tạo ra nhiều dữ liệu đích, hoặc một thuộc tính lại nhiều trường chứa dữ liệu cho nó.
- Đưa ra và giải quyết các vi phạm về tính nguyên vẹn của dữ liệu. Một giải pháp là lưu trữ dữ liệu như là dữ liệu giả.
- Tạo ra các khoá tổng hợp (nhân tạo) có khả năng tách biệt và bảo vệ khỏi các biến động trong hệ thống nguồn.
4.1.2.5 Tải dữ liệu vào kho
Quá trình tải dữ liệu sẽ tập hợp các dữ liệu đưa vào kho dữ liệu, kiểm tra tính toàn vẹn của dữ liệu và thiết lập các bảng chỉ số.
Kho dữ liệu thường được cập nhật một cách định kỳ (có thể hàng ngày, hàng tuần, hay hàng tháng,..) và số lượng bản ghi chuyển tải lớn từ nhiều bảng tới một bảng đơn.
4.2 XÂY DỰNG CÁC KHỐI VÀ CHIỀU CHO GIẢI PHÁP OLAP 4.2.1 Tiến trình trợ giúp quyết định dựa vào dữ liệu 4.2.1 Tiến trình trợ giúp quyết định dựa vào dữ liệu
Để ứng dụng OLAP, chúng ta cần xây dựng một mô hình phục vụ cho phân tích OLAP dựa trên tình huống của bài toán, các vấn đề và các mục tiêu đã xem xét. Đó chính là quá trình xác định các khối định tổ chức, định nghĩa cấu trúc các chiều và định nghĩa các công thức/ luật cần thiết cho tính toán. Trên cơ sở mô hình OLAP, CSDL OLAP đã được thiết lập, người khai thác hệ thống sẽ uốn nắn việc tìm kiếm thông tin của mình bằng cách liên tục đặt ra những yêu cầu truy vấn, thực hiện rồi nhận xét kết quả nhằm tìm hiểu dần những thông tin tiềm ẩn của dữ liệu nguồn (thu thập những vấn đề quan tâm), để tiến tới chỗ có đủ cơ sở nhận định, từ đó đưa ra những quyết định đúng đắn, mang tính chiến lược.
Tiến trình trợ giúp quyết định dựa vào dữ liệu cho bài toán cụ thể có thể được minh hoạ như sơ đồ sau [12]:
Hình 4.2 Tiến trình trợ giúp quyết định dựa vào dữ liệu
4.2.2 Xây dựng các khối OLAP 4.2.2.1 Khối (cube) 4.2.2.1 Khối (cube)
Đối tượng chính của OLAP là khối, một sự biểu diễn đa chiều của dữ liệu chi tiết và tổng thể. Khối là phần tử chính trong xử lý phân tích trực tuyến, cung cấp cơ chế truy vấn dữ liệu với thời gian trả lời nhanh và không phụ thuộc vào số lượng dữ liệu trong khối hoặc sự phức tạp của câu truy vấn.
Công việc tạo một khối gồm ba bước sau: (1). Xác định các khối
(2). Thiết kế các khối kết hợp (các thành phần dữ liệu được tính toán trước)
1. Xác định yêu cầu bài toán
1.1 Xác định các vấn đề gặp phải 1.2 Xác định các mục tiêu cần đạt đến
2. Xây dựng mô hình OLAP cho bài toán
2.1 Xác định các khối dữ liệu cơ sở
2.2 Định nghĩa cấu trúc các chiều 2.3 Định nghĩa các công thức/ luật
cần thiết cho tính toán
3. Phân tích dữ liệu - Ra quyết định
3.1 Đưa ra yêu cầu truy vấn
3.2 Nhận xét kết quả truy vấn
(3). Xử lý khối
* Xác định các khối
Một khối bao gồm: một bảng sự kiện, một hoặc nhiều bảng chiều, các đơn vị đo và các phân hoạch. Việc xác định các khối dựa trên yêu cầu phân tích của người sử dụng.
Ví dụ, kho dữ liệu thương mại điện tử có thể tạo lập nhiều khối khác nhau:
+ Khối thống kê số lượng hàng bán theo khu vực, theo thời gian.
+ Khối thống kê số lượng hàng bán theo sản phẩm của từng nhà cung cấp, theo thời gian.
+ Khối thống kê số lượt phòng đã đặt, số tiền đã thu được theo từng loại phòng của từng khách sạn theo thời gian
+ Khối thống kê số ghế đã đặt theo từng hãng bay, theo thời gian ...
Để xác định một khối, ta chọn một bảng sự kiện và các đơn vị đo lường đồng nhất (các cột theo sự quan tâm của người dùng khối) trong bảng sự kiện. Sau đó, chọn các chiều, mỗi chiều gồm một hay nhiều bảng liên quan khác. Các chiều cung cấp sự mô tả rõ ràng các đơn vị đo lường được chỉ ra bởi người dùng khối.
Ví dụ, khối phân tích, thống kê lượng hàng bán, số tiền thu được theo từng sản phẩm của từng nhà cung cấp theo thời gian bao gồm các cột chứa các đơn vị đo lường số lượng, thành tiền từ bảng BANHANG_FACT và các chiều nhà cung cấp, sản phẩm, thời gian. Khối này cho phép ngưòi dùng phân tích số lượng bán đựơc và tổng số tiền thu được thành các nhóm khác nhau theo sản phẩm, theo nhà cung cấp và theo thời gian.
Mỗi chiều có thể chứa các cấp độ để chỉ sự phân chia rõ ràng của người dùng. Mỗi cấp độ con trong chiều thường chi tiết hơn mức cha nó.
Ví dụ, chiều thời gian là một chiều phân cấp chuẩn với các cấp độ năm, quý, tháng, tuần, ngày. Chiều sản phẩm cũng có thể chia thành các cấp độ: loại
Cấp độ chiều là một công cụ mạnh để phân tích dữ liệu. Chúng cho phép