3.3 ĐÔI NÉT VỀ CÔNG CỤ THỰC HIỆN
3.4.3 THIẾT KẾ HỆ THỐNG
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
Hình 3.2 Mô hình kiến trúc kho dữ liệu
(LUAN.VAN.THAC.SI).Xu.ly.phan.tich.truc.tuyen.OLAP.va.ung.dung.trong.khai.thac.kho.du.lieu.Luan.van.ThS.Cong.nghe.thong.tin.1.01.10(LUAN.VAN.THAC.SI).Xu.ly.phan.tich.truc.tuyen.OLAP.va.ung.dung.trong.khai.thac.kho.du.lieu.Luan.van.ThS.Cong.nghe.thong.tin.1.01.10(LUAN.VAN.THAC.SI).Xu.ly.phan.tich.truc.tuyen.OLAP.va.ung.dung.trong.khai.thac.kho.du.lieu.Luan.van.ThS.Cong.nghe.thong.tin.1.01.10(LUAN.VAN.THAC.SI).Xu.ly.phan.tich.truc.tuyen.OLAP.va.ung.dung.trong.khai.thac.kho.du.lieu.Luan.van.ThS.Cong.nghe.thong.tin.1.01.10
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
DMPTTT MaPTTT
(LUAN.VAN.THAC.SI).Xu.ly.phan.tich.truc.tuyen.OLAP.va.ung.dung.trong.khai.thac.kho.du.lieu.Luan.van.ThS.Cong.nghe.thong.tin.1.01.10(LUAN.VAN.THAC.SI).Xu.ly.phan.tich.truc.tuyen.OLAP.va.ung.dung.trong.khai.thac.kho.du.lieu.Luan.van.ThS.Cong.nghe.thong.tin.1.01.10(LUAN.VAN.THAC.SI).Xu.ly.phan.tich.truc.tuyen.OLAP.va.ung.dung.trong.khai.thac.kho.du.lieu.Luan.van.ThS.Cong.nghe.thong.tin.1.01.10(LUAN.VAN.THAC.SI).Xu.ly.phan.tich.truc.tuyen.OLAP.va.ung.dung.trong.khai.thac.kho.du.lieu.Luan.van.ThS.Cong.nghe.thong.tin.1.01.10
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.3 Sơ đồ quan hệ thực thể dịch vụ mua bán hàng hoá
Hình 3.4 Sơ đồ quan hệ thực thể dịch vụ đặt phòng khách sạn
(LUAN.VAN.THAC.SI).Xu.ly.phan.tich.truc.tuyen.OLAP.va.ung.dung.trong.khai.thac.kho.du.lieu.Luan.van.ThS.Cong.nghe.thong.tin.1.01.10(LUAN.VAN.THAC.SI).Xu.ly.phan.tich.truc.tuyen.OLAP.va.ung.dung.trong.khai.thac.kho.du.lieu.Luan.van.ThS.Cong.nghe.thong.tin.1.01.10(LUAN.VAN.THAC.SI).Xu.ly.phan.tich.truc.tuyen.OLAP.va.ung.dung.trong.khai.thac.kho.du.lieu.Luan.van.ThS.Cong.nghe.thong.tin.1.01.10(LUAN.VAN.THAC.SI).Xu.ly.phan.tich.truc.tuyen.OLAP.va.ung.dung.trong.khai.thac.kho.du.lieu.Luan.van.ThS.Cong.nghe.thong.tin.1.01.10