Tải bản đầy đủ (.pdf) (26 trang)

BÁO cáo bài tập lớn môn học KHO dữ LIỆU và KHAI PHÁ dữ LIỆU đề tài kho dữ liệu

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.96 MB, 26 trang )

HỌC VIỆN CƠNG NGHỆ BƯU CHÍNH VIỄN THƠNG
----------

BÁO CÁO BÀI TẬP LỚN
MÔN HỌC: KHO DỮ LIỆU VÀ KHAI PHÁ DỮ LIỆU
Đề tài: Kho dữ liệu
Giảng Viên: Cô NGUYỄN QUỲNH CHI

Thành viên : Nguyễn Trung Tá

B17DCCN547

Nguyễn Minh Tuấn

B17DCCN658

Nguyễn Hoàng Quốc Quyền

B17DCCN523

Hà Thi Kim Phụng

B17DCCN492

Dương Đức Hoàng

B17DCCN257

Hà Nội, tháng 06 năm 2021



Mục lục
Nội dung
Mục lục ........................................................................................................................................... 2
1. Giới thiệu .................................................................................................................................... 4
2. Yêu cầu nghiệp vụ ...................................................................................................................... 4
3. Đặc tả chức năng ......................................................................................................................... 5
4. Thiết kế kho dữ liệu – phương pháp luận cho các bước thiết kế bao gồm cả lược đồ hình sao . 5
5. Cài đặt các khối dữ liệu, tải dữ liệu vào các khối ..................................................................... 16
6. Các báo cáo phân tích trực tuyến, nhúng lệnh hoặc thanh lệnh để sinh báo cáo OLAP .......... 22
7. Kiểm tra tính đúng đắn của dữ liệu, kiểm tra các báo cáo OLAP với nguồn dữ liệu từ các bảng
quan hệ .......................................................................................................................................... 24
8. Kết luận ..................................................................................................................................... 26

2


NHẬN XÉT CỦA GIẢNG VIÊN
…………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………

3


1. Giới thiệu
1.1. Mục tiêu
Mục tiêu của bài toán là xây dựng kho dữ liệu tích hợp các dữ liệu của doanh

nghiệp để tạo lập các báo cáo kinh doanh nhằm hỗ trợ người quản lý đưa ra quyết
định, chiến lược phát triển. Ngồi ra, trong tương lai có thể áp dụng thêm kỹ thuật
mining để khai phá dữ liệu mới.
1.2. Phạm vi
‒ Quản lý việc kinh doanh của một doanh nghiệp gồm nhiều cửa hàng nằm rải rác
ở nhiều thành phố và bang khác nhau nhằm đáp ứng được nhu cầu của khách
hàng.
‒ Nguồn dữ liệu: từ hệ thống cơ sở dữ liệu quan hệ hiện tại của doanh nghiệp.
‒ Xây dựng các khối OLAP để lưu trữ dữ liệu đa chiều về sản phẩm kinh doanh
của doanh nghiệp, cụ thể ở đây là sản phẩm đã bán và sản phẩm lưu trữ.
2. Yêu cầu nghiệp vụ
Các đặc tả ứng dụng của kho dữ liệu cho người dùng (theo như đề bài):
• Tìm tất cả các cửa hàng cùng với thành phố, bang, số điện thoại, mơ tả, kích
cỡ, trọng lượng và đơn giá của tất cả các mặt hàng được bán ở 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 địa chỉ văn phịng đại diện với tên thành phố, bang của tất cả các cửa
hàng lưu kho một mặt hàng nào đó với số lượng trên mức cụ thể.
• Với mỗi một đơn đặt hàng của khách, liệt kê các mặt hàng được đặt cùng với
mô tả, mã cửa hàng, tên thành phố và các cửa hàng có bán mặt hàng đó.
• 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.


4


3. Đặc tả chức năng
Công cụ sử dụng cho bài tập lớn là Oracle Database và Oracle Analytics
Workspace Manager (AWM)
Front-end Web: React JS
Back-end Web: Node JS
Đầu vào của kho dữ liệu:
- Lược đồ quan hệ của hệ thống cơ sở dữ liệu quan hệ hiện tại của doanh nghiệp
này như sau:
• Cơ sở dữ liệu Văn phịng đại diện bao gồm những quan hệ với các lược đồ
như sau:
▪ 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)
• 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)
Đầu ra của kho dữ liệu: các báo cáo (bảng dữ liệu động) cho phép người dùng thực
hiện các thao tác roll up, drill down, slice, dice … cung cấp thông tin để hỗ trợ người
quản lý ra quyết định.


4. Thiết kế kho dữ liệu – phương pháp luận cho các bước thiết kế bao gồm cả
lược đồ hình sao
4.1 Xây dựng mơ hình thực thể liên kết

5


Bước 1 Chuyển đổi ngược DB1, DB2 → EER1, EER2
DB1: Văn phòng đại diện
▪ 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)
PR1: Khách hàng -> Thực thể Khách hàng.
PR2: Khách hàng du lịch, Khách hàng bưu điện là tập con của Khách hàng.
Ta có EER1:

DB2: Bán hàng
▪ 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)
PR1: Văn phòng đại diện, Cửa hàng, Mặt hàng, Đơn đặt hàng -> Các thực thể
tương ứng.
Mapping SR1 và các FKA: Mặt hàng được lưu trữ và Mặt hàng được đặt.
6



Ta có EER2:

7


Bước 2 Tích hợp EER1, EER2 thành IEER
Giải quyết xung đột ngữ nghĩa:
Trường Thời gian ở các thực thể là đồng âm (homonyms):
Thực hiện đổi tên thuộc tính:
- Văn phịng đại diện: Thời gian -> Ngày thành lập văn phòng
- Cửa hàng: Thời gian -> Ngày thành lập cửa hàng
- Mặt hàng: Thời gian -> Ngày bắt đầu bán
- Mặt hàng được lưu trữ: Thời gian -> Ngày nhập hàng

Trường Thời gian ở các thực thể là đồng nghĩa (symnonyms):
Thực hiện xoá bỏ:
- Khách hàng bưu điện: Thời gian (Ngày đặt hàng đầu tiên) -> Xoá bỏ.
- Khách hàng du lịch: Thời gian (Ngày đặt hàng đầu tiên) -> Xoá bỏ.
- Mặt hàng được đặt: Thời gian (Ngày đặt) -> Xoá bỏ.

8


KHÁCH HÀNG chứa Mã TP và ĐƠN HÀNG chứa Mã KH, ta tích hợp được 2
lược đồ EER1 và EER2 được IEER:

9



4.2 Thiết kế mơ hình cho data warehouse
4.2.1 Mơ hình

4.2.2 Đặc tả chi tiết
Sales Fact: Các bản ghi chứa thông tin về tổng số lượng (units_sold), tổng số tiền
(dollars_sold) mà một khách hàng đã chi cho một sản phẩm ở 1 thành phố trong một
tháng.
Stores Fact: Các bản ghi chứa thơng tin về số lượng (quantity) một mặt hàng cịn
lại trong một kho nhất định (số lượng này được cập nhật hàng tháng - chu kì của
mỗi lần import dữ liệu vào warehouse).
Customer dimension: Các bản ghi chứa thông tin khách hàng.
• Type_key mang một trong 2 giá trị (“1”, “2”) tương ứng với Type_name: (KH
du lịch, KH bưu điện). Hai trường này được sử dụng để phân biệt loại khách
hàng.
Time dimension: Các bản ghi chứa thông tin thời gian, với các cấp bậc Year,
Quarter, Month.
City dimension: Các bản ghi chứa thông tin về thành phố, bang.
Store dimension: Các bản ghi chứa thông tin về cửa hàng.
10


• City_key, city_name là mã, tên thành phố tương ứng của cửa hàng.
Product dimension: Các bản ghi chứa thông tin sản phẩm.
4.2.3 Phân cấp cho các chiều dữ liệu

11


4.2.4 Ánh xạ lược đồ quan hệ sang mơ hình data warehouse
Customer dimension:


12


Product dimension:

Time dimension:

13


Store dimension:

City dimension:

14


Sales fact:

15


Stores fact:

5. Cài đặt các khối dữ liệu, tải dữ liệu vào các khối
Cơ sở dữ liệu: Oracle
Công cụ sử dụng: Oracle Analystics Workspace Manager (AWM)
Các bước thực hiện:
5.1 Xây dựng các bảng fact (sales fact, stores fact), bảng dimension (time, customer,

product, store, city), generate dữ liệu cho các bảng

5.2 Sử dụng AWM để xây dựng OLAP Cube
• Kết nối AWM với cơ sở dữ liệu data warehouse (oracle database), chứa các
bảng đã tạo ở trên

16


• Tạo một workspace mới.

• Tạo các dimension, mapping với các dimension table trong cơ sở dữ liệu.

17


Ánh xạ Customer_Dim:

18


Ánh xạ Product_Dim:

Ánh xạ Store_Dim:

Ánh xạ Time_Dim:

19



• Tạo các cube, bao gồm các dimension và measure, mapping với cube table
trong cơ sở dữ liệu.

• Thực hiện tính tốn measure cho OLAP cube (các khối từ n-1 chiều tới 0
chiều).

20


• Sau khi thực hiện xong, ta có thể xem được báo cáo cho measure bất kì.

21


5.3 Truy vấn OLAP Cube với SQL
Khi xây dựng OLAP Cube, AWM tự động gen các view trong cơ sở dữ liệu giúp
người dùng có thể truy cập trực tiếp dữ liệu OLAP Cube thông qua các view này.

Các view (gồm cube view, dimension view) có cấu trúc giống với mơ hình data
warehouse (gồm các fact table, dimension table), tuy nhiên điểm khác biệt quan
trọng đó là:
• Fact table chứa dữ liệu chi tiết (details data, hay nút lá) còn cube view chứa
dữ liệu tổng hợp ở nhiều chiều, nhiều cấp bậc khác nhau.
• Truy vấn dữ liệu để tạo report: đối với các table (fact table, dimension table)
truy vấn dựa trên câu lệnh GROUP BY, đối với các view chỉ đơn giản là
SELECT column.

6. Các báo cáo phân tích trực tuyến, nhúng lệnh hoặc thanh lệnh để sinh báo
cáo OLAP
Thực hiện demo các thao tác OLAP (roll up, drill down) trên giao diện web.

Giao diện này gọi tới các API để lấy dữ liệu.
Các lệnh được nhúng để sinh báo cáo OLAP.
22


23


7. Kiểm tra tính đúng đắn của dữ liệu, kiểm tra các báo cáo OLAP với nguồn
dữ liệu từ các bảng quan hệ

24


Kiểm tra tính đúng đắn bằng việc query table:

25


×