Giới thiệu chung
Kho dữ liệu (Data Warehouse) là một hệ thống lưu trữ dữ liệu điện tử của các tổ chức và doanh nghiệp, đóng vai trò quan trọng trong việc phân tích dữ liệu và tạo lập báo cáo hiệu quả.
Dữ liệu trong Data Warehouse thường được thu thập từ nhiều nguồn khác nhau, bao gồm tệp nhật ký ứng dụng và ứng dụng giao dịch Do đó, dung lượng của data warehouse có thể lên tới hàng trăm GB, thậm chí hàng TB.
1.1.Mục tiêu bài tập lớn
Mục tiêu của bài tập lớn là xây dựng và triển khai kho dữ liệu hiệu quả, phục vụ cho việc đọc, tra cứu và lưu trữ dữ liệu lâu dài Qua đó, kho dữ liệu này sẽ hỗ trợ việc tạo ra các báo cáo, phân tích và đánh giá từ dữ liệu lưu trữ, giúp nâng cao hiệu quả trong việc quản lý thông tin.
Chương trình cần đạt được các mục tiêu quan trọng như khả năng đáp ứng mọi yêu cầu thông tin từ đề bài, tích hợp lược đồ và dữ liệu từ nhiều nguồn khác nhau, thiết kế kho dữ liệu và tiến hành đổ dữ liệu từ các nguồn để có được dữ liệu đích Ngoài ra, chương trình còn phải thực hiện xử lý phân tích trực tuyến (OLAP) để cung cấp các báo cáo và phân tích dữ liệu hỗ trợ quyết định của công ty Việc tích hợp dữ liệu và siêu dữ liệu từ nhiều nguồn khác nhau cũng là một yếu tố thiết yếu, cùng với việc đồng bộ hóa các nguồn dữ liệu với kho dữ liệu.
1.2.Phạm vi bài tập lớn
- Quản lý, lưu trữ dữ liệu kinh doanh cho một doanh nghiệp bao gồm nhiều cửa hàng nằm rải rác ở nhiều thành phố và bang khác nhau.
Sử dụng kỹ thuật OLAP để xây dựng khối dữ liệu phân tích giúp doanh nghiệp quản lý hiệu quả sản lượng hàng hóa và thông tin khách hàng Phương pháp này cho phép xử lý lượng dữ liệu lớn theo hướng đa chiều, mang lại cái nhìn sâu sắc và hỗ trợ ra quyết định chính xác.
Hỗ trợ ra quyết định quản lý kinh doanh tại các cửa hàng bao gồm việc tìm kiếm thông tin chi tiết về tất cả các cửa hàng, như thành phố, bang, số điện thoại, mô tả, kích cỡ, trọng lượng và đơn giá của các mặt hàng trong kho Ngoài ra, có thể tra cứu tất cả các đơn đặt hàng theo tên khách hàng và ngày đặt hàng, cũng như xác định các cửa hàng có bán mặt hàng đã đặt bởi khách hàng cụ thể Việc tìm địa chỉ văn phòng đại diện của các cửa hàng lưu kho mặt hàng với số lượng trên mức nhất định cũng rất quan trọng Đối với mỗi đơn đặt hàng của khách, cần liệt kê các mặt hàng, mô tả, mã cửa hàng, tên thành phố và các cửa hàng cung cấp mặt hàng đó Thêm vào đó, việc xác định thành phố và bang nơi cư trú của khách hàng, mức độ tồn kho của mặt hàng tại các cửa hàng trong một thành phố cụ thể, và thông tin chi tiết về các đơn đặt hàng như mặt hàng, số lượng, khách hàng, cửa hàng và thành phố là cần thiết Cuối cùng, việc phân loại khách hàng thành khách hàng du lịch, khách hàng đặt hàng qua bưu điện và khách hàng thuộc cả hai loại cũng hỗ trợ tối ưu hóa quản lý.
Yêu cầu nghiệp vụ
Hệ thống kho dữ liệu được thiết kế để đáp ứng nhu cầu của khách hàng bằng cách trích xuất dữ liệu từ hai cơ sở dữ liệu hiện có Nó cung cấp khả năng xử lý phân tích trực tuyến với các thao tác cuộn lên, khoan xuống, chọn và chiếu, dựa trên yêu cầu cụ thể của người dùng Các bảng theo chiều cũng được sử dụng để tối ưu hóa trải nghiệm và đáp ứng đầy đủ nhu cầu của khách hàng.
- Thiết lập một chiều thời gian, hệ thống sẽ sinh một báo cáo Phân tích trực tuyến cho những yêu cầu sau:
Tìm kiếm tất cả các cửa hàng theo thành phố, bang, số điện thoại, mô tả, kích cỡ, trọng lượng và đơn giá của các mặt hàng có sẵn tại kho.
2 Tìm tất cả các đơn đặt hàng với tên khách hàng và ngày đặt hàng được thực hiện bởi khách hàng đó
3 Tìm tất cả các cửa hàng cùng với tên thành phố và số điện thoại mà có bán các mặt hàng được đặt bởi một khách hàng nào đó
Tìm kiếm địa chỉ văn phòng đại diện bằng cách sử dụng tên thành phố và bang để xác định tất cả các cửa hàng lưu kho một mặt hàng cụ thể với số lượng vượt mức nhất định.
Đối với mỗi đơn đặt hàng của khách, cần liệt kê rõ ràng các mặt hàng đã được đặt, kèm theo mô tả chi tiết, mã cửa hàng, tên thành phố và danh sách các cửa hàng cung cấp mặt hàng đó.
6 Tìm thành phố và bang mà một khách hàng nào đó sinh sống
7 Tìm mức độ tồn kho của một mặt hàng cụ thể tại tất cả các cửa hàng ở một thành phố cụ thể nào đó
8 Tìm các mặt hàng, số lượng đặt, khách hàng, cửa hàng và thành phố của một đơn đặt hàng.
9 Tìm các khách hàng du lịch, khách hàng đặt theo đường bưu điện và khách hàng thuộc cả hai loại
Đặc tả chức năng
- Đầu vào của hệ thống : o Cơ sở dữ liệu Văn phòng đại diện với các quan hệ với lược đồ :
▪ Khách hàng (Mã KH, Tên KH, Mã Thành phố, Ngày đặt hàng đầu tiên)
▪ Khách hàng du lịch (*Mã KH, Hướng dẫn viên du lịch, Thời gian)
▪ Khách hàng bưu điện (* Mã KH, Địa chỉ bưu điện, Thời gian) o Cơ sở dữ liệu Bán hàng gồm những quan hệ với lược đồ như sau:
▪ Văn phòng đại diện (Mã Thành phố, Tên Thành phố, Địa chỉ VP, Bang, Thời gian)
▪ Cửa hàng (Mã cửa hàng, * Mã Thành phố, Số điện thoại, Thời gian)
▪ Mặt hàng (Mã MH, Mô tả, Kích cỡ, Trọng lượng, Giá, Thời gian)
▪ Mặt hàng_được lưu trữ (* Mã cửa hàng, * Mã mặt hàng, Số lượng trong kho, Thời gian)
▪ Đơn đặt hàng (Mã đơn, Ngày đặt hàng, Mã Khách hàng)
▪ Mặt hàng được đặt (* Mã đơn, *Mã mặt hàng, Số lượng đặt, Giá đặt, Thời gian) b Đặc tả đầu ra
Hệ thống cung cấp đầu ra dưới dạng các khối dữ liệu phục vụ cho phân tích trực tuyến, được tùy chỉnh theo yêu cầu và lựa chọn của khách hàng Các bảng dữ liệu sẽ được sắp xếp theo chiều để đáp ứng tốt nhất nhu cầu của người sử dụng.
- Các thao tác có thể thực hiện được trong hệ thống : cuộn lên, khoan xuống, chọn và chiếu.
Thiết kế kho dữ liệu
a Chuyển đổi các cơ sở dữ liệu quan hệ sang mô hình thực thể liên kết mở rộng
- Bước 1 : Xác định các quan hệ, khóa, trường
Tên quan hệ Phâ n loại
- Bước 2 : Ánh xạ PR1 sang thực thể
MaThanhPho TenThanhPho DiaChiVP Bang ThoiGian
MaMH MoTa KichCo TrongLuong Gia
Bước 3: Ánh xạ PR2 thành các thực thể lớp con hoặc thực thể yếu Khách hàng du lịch và khách hàng bưu điện được ánh xạ thành thực thể lớp con của khách hàng, vì một khách hàng có thể đồng thời là khách hàng bưu điện và khách hàng du lịch.
- Bước 4: Ánh xạ SR1 vào quan hệ
- Bước 5 : Ánh xạ SR2 vào quan hệ
- Bước 6 : Ánh xạ FKA vào quan hệ
- Bước 7 : Ánh xạ phụ thuộc bao hàm sang ngữ nghĩa
- Bước 8 : Vẽ mô hình EER
Lược đồ EER 2 b Tích hợp 2 lược đồ EER1 và EER2 thành 1
Để giải quyết xung đột giữa các mô hình EER, cần chú ý đến các từ đồng âm như văn phòng đại diện, cửa hàng, mặt hàng, khách hàng bưu điện, khách hàng du lịch và mặt hàng được lưu trữ Mặc dù tất cả đều có thuộc tính “Thời gian”, nhưng ý nghĩa của thuộc tính này đối với mỗi thực thể là khác nhau Do đó, việc thay đổi tên cho các thực thể này là cần thiết để đảm bảo tính chính xác và rõ ràng trong mô hình.
Tên thuộc tính ban đầu và tên thuộc tính sau khi thay đổi gồm: Khách hàng bưu điện được đổi thành Thời gian tạo KHBD, Khách hàng du lịch thành Thời gian tạo KHDL, và Văn phòng đại diện được cập nhật thành Ngày Mở VP.
Cửa hàng Thời gian Ngày mở CH
Mặt hàng Thời gian Thời gian thêm
Mặt hàng được lưu trũ Thời gian Thời gian nhập o Từ đồng nghĩa :
Mặt hàng được đặt có thuộc tính “Thời gian” tương đương với thuộc tính “Ngày đặt hàng” của Đơn đặt hàng, vì thời gian của mặt hàng chính là thời điểm đơn hàng được thực hiện Do đó, thuộc tính “Thời gian” trong Mặt hàng được đặt sẽ được loại bỏ.
Thời gian tạo khách hàng mới và thời gian tạo khách hàng đăng ký đều ghi nhận ngày đặt hàng đầu tiên của khách tại cửa hàng Các thuộc tính "Thời gian tạo KHBD" và "Thời gian tạo KHDL" sẽ được loại bỏ.
Bước 2: Trộn các thực thể Thực thể Khách hàng có thuộc tính “Mã Thành phố” không phải là khóa, trong khi thực thể Văn phòng đại diện có thuộc tính khóa “Mã Thành phố” Khách hàng và Văn Phòng Đại Diện có mối liên kết chặt chẽ Thực thể Khách hàng có “Mã KH” là khóa chính, trong khi thực thể Đơn đặt hàng có “Mã KH” không phải là thuộc tính khóa, thể hiện mối liên kết giữa Khách hàng và Đơn đặt hàng.
- Bước 3 : Trộn các quan hệ
Bước 4: Kết hợp hai mô hình thành một mô hình thực thể liên kết mở rộng thống nhất Sau đó, chuyển đổi mô hình thực thể liên kết mở rộng này thành cơ sở dữ liệu tích hợp để tối ưu hóa hiệu suất và khả năng truy xuất dữ liệu.
Dựa trên mô hình thực thể liên kết mở rộng, các thực thể và quan hệ được ánh xạ thành các bảng trong cơ sở dữ liệu tích hợp như sau: Văn Phòng Đại Diện được ánh xạ thành bảng vanphong, Cửa Hàng thành bảng cuahang, Đơn Đặt Hàng thành bảng donhang, Mặt Hàng thành bảng mathang, Mặt Hàng Được Lưu Trữ thành bảng mathangluutru, Mặt Hàng Được Đặt thành bảng mathangdat, và các loại Khách Hàng như Khách Hàng, Khách Hàng Bưu Điện, Khách Hàng Du Lịch được ánh xạ thành các bảng khachhang, khachhangbd, khachhangdl Cuối cùng, thiết kế lược đồ hình sao được áp dụng để tổ chức dữ liệu một cách hiệu quả.
- Dựa vào bài toán, nhóm đưa ra 2 lược đồ hình sao cho order và storage
Lược đồ hình sao là một công cụ hữu ích trong việc thống kê mua bán và đặt hàng của khách hàng theo thời gian, giúp phân tích các mặt hàng và nguồn cung cấp Bảng fact Sale fact table chứa các thông tin quan trọng liên quan đến doanh thu và giao dịch, hỗ trợ việc ra quyết định kinh doanh hiệu quả.
▪ Khóa chính là MaKH,MaMH,MaTG
▪ Độ đo measure là soluongban và tienthu để chứa thông tin về số lượng và số tiền từ 1 mặt hàng đấy.
▪ Lưu trữ từng giao dịch của mỗi khách hàng với mỗi mặt hàng o Bảng fact storage fact table gồm :
▪ Khóa chính của các bảng MaCH,MaMH,MaTG
▪ Độ đo measure là hangtonkho để chứa thông tin về số lượng sản phẩm của mặt hàng trong cửa hàng đấy
▪ Luu trữ số lượng hàng trong kho của mỗi sản phẩm tại mỗi cửa hàng sau mỗi ngày. o Bảng dimension :
ThanhPho Ten_thanh_pho : tên thành phố của văn phòng dia_chi_vp : số nhà và đường văn phòng ở bang : bang, quận của văn phòng
Thang : Tháng Quy : Quý Nam : Năm
MatHang Mo_ta : mô tả mặt hàng kich_co : kích cỡ mặt hàng trong_luong : trọng lượng mặt hàng gia : giá mặt hàng
CuaHang So_dien_thoai : số điện thoại cửa hàng
Ngay_mo_ch : ngày cửa hàng mở bán đầu tiên
Khách hàng là người mua hàng, trong khi hướng dẫn viên du lịch là người dẫn dắt khách đến cửa hàng Địa chỉ bưu điện là nơi khách hàng có thể đặt hàng qua thư.
▪ Khách hàng, mặt hàng, cửa hàng không phân cấp
▪ Thành phố, thời gian phân cấp
● Thời gian : e Ánh xạ từ cơ sở dữ liệu sang kho dữ liệu
Cái đặt các khối dữ liệu
Trong hệ thống dữ liệu, có các khối dữ liệu chính bao gồm: Khối Storage lưu trữ hàng tồn kho của cửa hàng theo thời gian, mặt hàng và cửa hàng; Khối Sale ghi nhận từng giao dịch của khách hàng với mặt hàng, bao gồm số lượng bán và tiền thu; Khối SaleMHKG tổng hợp số lượng khách hàng và doanh thu từ mỗi mặt hàng; Khối SaleTG thống kê doanh thu và số lượng mặt hàng khách hàng đã mua trong khoảng thời gian nhất định; và Khối SaleMHTG lưu trữ số liệu về doanh thu và số lượng bán của mặt hàng theo thời gian.
- Bước 1 : Sử dụng Visual Studio 2019, tạo project Analysis Service
Multidimensional and Data Mining Project
- Bước 3 : Tạo Data Source View
- Bước 4 : Phân cấp thuộc tính
Báo cáo phân tích trực tuyến
Tìm kiếm tất cả các cửa hàng với thông tin chi tiết như thành phố, bang, số điện thoại, mô tả sản phẩm, kích cỡ, trọng lượng và đơn giá của từng mặt hàng có sẵn tại kho.
- Tìm tất cả các đơn đặt hàng với tên khách hàng và ngày đặt hàng được thực hiện bởi khách hàng đó
- Tìm tất cả các cửa hàng cùng với tên thành phố và số điện thoại mà có bán các mặt hàng được đặt bởi một khách hàng nào đó
Tìm kiếm địa chỉ văn phòng đại diện cho tất cả các cửa hàng lưu kho một mặt hàng cụ thể với số lượng vượt mức yêu cầu, bằng cách sử dụng tên thành phố và bang.
Mỗi đơn đặt hàng của khách hàng sẽ được liệt kê chi tiết các mặt hàng đã đặt, bao gồm mô tả sản phẩm, mã cửa hàng, tên thành phố và danh sách các cửa hàng cung cấp sản phẩm đó.
- Tìm thành phố và bang mà một khách hàng nào đó sinh sống.
- Tìm mức độ tồn kho của một mặt hàng cụ thể tại tất cả các cửa hàng ở một thành phố cụ thể nào đó.
- Tìm các mặt hàng, số lượng đặt, khách hàng, cửa hàng và thành phố của một đơn đặt hàng.
- Tìm các khách hàng du lịch, khách hàng đặt theo đường bưu điện và khách hàng thuộc cả hai loại.