You are on page 1of 33

1

Contents
1. Giới thiệu chung................................................................................................................................... 3
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.............................................................................................................................. 5
5. Cái đặt các khối dữ liệu...................................................................................................................... 17
6. Báo cáo phân tích trực tuyến.............................................................................................................. 28
7. Kết luận...............................................................................................................................................30

2
1. Giới thiệu chung
-
- Kho dữ liệu (Data Warehouse) là nơi lưu trữ dữ liệu bằng thiết bị điện tử của một
tổ chức, doanh nghiệp, nhằm hỗ trợ việc phân tích dữ liệu và lập báo cáo.
- Dữ liệu trong Data Warehouse thường được lấy từ nhiều nguồn như tệp nhật ký
ứng dụng và ứng dụng giao dịch. Chính vì vậy, data warehouse thường có dung
lượng lên đến hàng trăm GB thậm chí tính bằng đơn vị 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ử lý, tích hợp, triển khai thành công kho dữ liệu phục
vụ việc đọc, tra cứu và lưu trữ dữ liệu lâu dài, đưa ra được các báo cáo, phân tích,
đánh giá từ dữ liệu của kho.
- Chương trình phải thực hiện được các mục tiêu sau :
o Phải có khả năng đáp ứng mọi yêu cầu về thông tin từ đề bài.
o Tích hợp các lược đồ, dữ liệu từ nhiều nguồn.
o Thiết kế kho dữ liệu.
o Tiến hành đổ dữ liệu từ nhiều nguồn khác nhau để có được dữ liệu đích
o Xử lý phân tích trực tuyến (OLAP)
o Đưa ra các báo cáo, phân tích dữ liệu từ OLAP phục vụ việc ra quyết định
của công ty.
o Tích hợp dữ liệu và các siêu dữ liệu từ nhiều nguồn khác nhau
o Đồng bộ hoá 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 sản lượng hàng
hóa, khách hàng, …với số lượng lớn của doanh nghiệp theo hướng đa chiều.
- Hỗ trợ việc ra quyết định quản lý kinh doanh tại các cửa hàng của doanh
nghiệp :

o 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
đó.
o 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
o 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 đó
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ể.
o 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 đó.
o Tìm thành phố và bang mà một khách hàng nào đó sinh sống
o 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 đó
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.
o 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

2. Yêu cầu nghiệp vụ


- Để đáp ứng được nhu cầu của khách hàng, hệ thống kho dữ liệu trích lọc dữ liệu
từ hai cơ sở dữ liệu hiện có để cho vào kho dữ liệu và cung cấp các 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
những yêu cầu chọn lựa của khách hàng và các bảng theo chiều để đáp ứng yêu
cầu của người sử dụ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:
1. 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 đó.
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 đó
4. 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ể.
5. 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 đó.
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 đó
4
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

3. Đặc tả chức năng


a. Đặc tả đầu vào
- Đầ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
- Đầu ra của hệ thống là các khối dữ liệu để phục vụ cho phân tích trực tuyến dựa
trên các yêu cầu, lựa chọn của khách hàng và các bảng sẽ theo chiều để đáp ứng
yêu cầu 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.

4. 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

5
Tên quan hệ Phâ Khóa chính KAP KA FKA NK
n G A
loại
KhachHang PR1 MaKH
KhachHangDuLich PR2 MaKH MaKH
KhachHangBuuDien PR2 MaKH MaKH
VanPhongDaiDien PR1 MaThanhPh
o
CuaHang PR1 MaCuaHang MaThanhPh
o
MatHang PR1 MaMH
MatHangDuocLuuTr SR1 MaCuaHang MaCuaHang
u , ,
MaMatHang MaMatHang
DonDatHang PR1 MaDon
MatHangDuocDat SR1 MaDon, MaDon,
MaMatHang MaMatHang
- Bước 2 : Ánh xạ PR1 sang thực thể
MaKH
TenKH
MaThanhPho
NgayDatHangDauTien

MaThanhPho
TenThanhPho
DiaChiVP
Bang
ThoiGian

MaCuaHang
MaThanhPho
SoDienThoai
ThoiGian

6
MaMH
MoTa
KichCo
TrongLuong
Gia
ThoiGian

MaDon
NgayDatHang
MaKhachHang
- Bước 3 : Ánh xạ PR2 thành các thực thể lớp con hoặc thực thể yếu
o Khách hàng du lịch và khách hàng bưu điện ánh xạ thành thực thể lớp con
của khách hàng vì 1 khách hàng vừa có thể là khách hàng bưu điện vừa có
thể là khác hàng du lịch.

Lược đồ EER1
- Bước 4: Ánh xạ SR1 vào quan hệ

7
- Bước 5 : Ánh xạ SR2 vào quan hệ
- Bước 6 : Ánh xạ FKA vào quan hệ

8
- 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 đồ EER1

9
Lược đồ EER 2

b. Tích hợp 2 lược đồ EER1 và EER2 thành 1


- Bước 1 : Giải quyết xung đột giữa các model EER
o Từ đồng âm: 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, mặt hàng được lưu trữ đều có thuộc tính “Thời
gian” nhưng của mỗi thực thể có nghĩa khác nhau nên ta sẽ thay đổi tên :

Tên thuộc tính ban đầu Tên thuộc tính sau khi thay
đổi
Khách hàng bưu điện Thời gian Thời gian tạo KHBD
Khách hàng du lịch Thời gian Thời gian tạo KHDL
Văn phòng đại diện Thời gian 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 :

10
▪ Mặt hàng được đặt có thuộc tính “Thời gian” có đồng nghĩa với
thuộc tính “Ngày đặt hàng” của Đơn đặt hàng vì thời gian mặt hàng
được đặt chính là đơn hàng được đặt. “Thời gian” trong Mặt hàng
được đặt sẽ được loại bỏ.
▪ Thời gian tạo KHBD, Thời gian tạo KHDL và ngày đặt hàng đầu
tiên đều là ngày mà khách đặt hàng lần đầu của cửa hàng. 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ể
o Thực thể Khách hàng có thuộc tính “Mã Thành phố” không phải là khóa và
thực thể Văn phòng đại diện có thuộc tính khóa là “Mã Thành phố”. Khách
hàng và Văn Phòng Đại Diện có liên kết :

o Thực thể Khách hàng có thuộc tính “Mã KH” là khóa chính, thực thể Đơn
đặt hàng có thuộc tính “Mã KH” không phải là thuộc tính khóa. Khách
hàng và Đơn đặt hàng có liên kết :

o
- Bước 3 : Trộn các quan hệ
- Bước 4 : Kết hợp 2 mô hình thành mô hình thực thể liên kết mở rộng thống nhất

11
c. Chuyển đổi mô hình thực thể liên kết mở rộng thành cơ sở dữ liệu tích hợp
- Từ mô hình thực thể liên kết mở rộng trên, ánh xạ các thực thể và quan hệ thành
các bảng trong cơ sở dữ liệu tích hợp :
o Văn Phòng Đại Diện -> Bảng vanphong
o Cửa Hàng -> Bảng cuahang
o Đơn Đặt Hàng -> Bảng donhang
o Mặt Hàng -> Bảng mathang
o Mặt Hàng Được Lưu Trữ -> Bảng mathangluutru
o Mặt Hàng Được Đặt -> Bảng mathangdat
o Khách Hàng, Khách Hàng Bưu Điện, Khách Hàng Du Lịch -> Bảng
khachhang ,khachhangbd, khachhangdl

12
d. Thiết kế lược đồ hình sao
- 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 sử dụng cho thống kê mua bán, đặt hàng của khách hàng trong
một khoảng thời gian với các mặt hàng và nơi cung cấp

o Bảng fact Sale fact table gồm :


▪ 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
13
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 :
Tên Thuộc tính khác
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

ThoiGian Ngay : Ngày


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

KhachHang Ten_khach_hang: Tên kháng hàng mua


huong_dan_vien_du_lich: tên người dẫn khách đến
cửa hàng
dia_chi_buu_dien : nơi khách đặt hàng qua thư

o Phân cấp dữ liệu :


▪ 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ành phố :

14
● Thời gian :

e. Ánh xạ từ cơ sở dữ liệu sang kho dữ liệu


- Chiều khách hàng :

15
- Chiều mặt hàng

- Chiều cửa hàng

16
- Chiều thành phố :

- Chiều thời gian ;

17
- Sale fact table

- Storage fact table :

18
5. Cái đặt các khối dữ liệu

- Các khối dữ liệu :


o Khối Storage : gồm chiều thời gian, chiều cửa hàng, chiều mặt hàng và
measure hàng tồn kho : lưu trữ hàng tồn kho của cửa hàng với mặt hàng
mỗi ngày
o Khối Sale : gồm chiều thời gian, mặt hàng và khách hàng với measure số
lượng bán và tiền thu : Lưu trữ từng giao dịch của mỗi khách hàng với mỗi
mặt hàng vào một ngày nào đó
o Khối SaleMHKG : gồm chiều mặt hàng, khách hàng với measure số lượng
bán và tiền thu : Lưu trữ thống kê tổng số lượng khách hàng mua cho với
mỗi mặt hàng và số tiền thu được từ mặt hàng với khách hàng đấy
o Khối SaleTG : gồm chiều khách hàng và thời gian với measure số lượng
bán và tiền thu : Lưu trữ thống kê về số tiền thu được và số mặt hàng khách
hàng đã mua từ doanh nghiệp trong khoảng thời gian nào đó

19
o Khối SaleMHTG : gồm chiều thời gian và chiều mặt hàng với measure số
lượng bán và tiền thu : Lưu trữ thống kê về số tiền và số lượng bán của mặt
hàng trong khoảng thời gian được nào đó
- Bước 1 : Sử dụng Visual Studio 2019, tạo project Analysis Service
Multidimensional and Data Mining Project

20
- Bước 2 : Tạo Data Source

21
22
- Bước 3 : Tạo Data Source View

23
24
- Bước 3 : Tạo cube

25
26
27
- Bước 4 : Phân cấp thuộc tính

28
29
6. Báo cáo phân tích trực tuyến
- 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 đó

30
- 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.

31
- 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.

7. Kết luận
- Thông qua bài tập lớn môn kho dữ liệu và khai phá dữ liệu ký này, nhóm em đã
được thực hành việc thiết kế và cài đặt một kho dữ liệu cho một hệ thống xử lý đặt
hàng của khách hàng của một công ty với các yêu cầu cơ bản sau:Tích hợp hai cơ
sở dữ liệu thành một cơ sở dữ liệu tích hợp.

32
- Quá trình làm bài tập lớn đã giúp chúng em củng cố lý thuyết và nắm được quy
trình cơ bản về việc xây dựng kho dữ liệu cho một bài toán thực tế .
- Để có thể xây dựng kho dữ liệu tốt hơn, chúng em cần phải rõ ràng hơn trong
phần thiết kế, chú trọng hơn vào mục đích và tính khả dụng của kho dữ liệu

33

You might also like