You are on page 1of 26

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. Ngoà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 toá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
8. Kết luận
Qua báo cáo, nhóm nghiên cứu và thực hiện thành công các công việc sau:
• Tích hợp lược đồ thành một mô hình liên kết mở rộng.
• Thiết kế lược đồ hình sao.
• Chạy demo kho dữ liệu và báo cáo xử lý phân tích trực tuyến.
Cảm ơn cô và các bạn đã giúp đỡ nhóm 07 để có thể hoàn thành một cách tốt nhất
bài báo cáo này. Nếu có sai sót nào trong quá trình thực hiện bài báo cáo, mong cô
và các bạn góp ý thẳng thắn để nhóm có thể rút kinh nghiệm. Kho và khai phá dữ
liệu thực sự là một môn học hay và rất có ý nghĩa với chúng em. Chúc cô luôn
mạnh khoẻ, vui vẻ và thành công hơn nữa trong sự nghiệp của mình, chúc các bạn
học tập thật tốt!

26

You might also like