Cơ sở dữ liệu 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) Cơ sở dữ liệu 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ã MH, Số lượng trong kho, Thời gian) Đơn đặt hàng (Mã đơn, Ngày đặt hàng, Mã KH)
Trang 1Đề tài : 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 cho một công ty
I Giới thiệu
Để thiết kế một kho dữ liệu cần bắt đầu xác định mục yêu cầu nghiệp vụcủa kho dữ liệu, đồng nghĩa với việc chúng ta phải xác định được mục tiêu vàphạm vi của bài toán
1 Mục tiêu
Chúng ta cần xác định lý do doanh nghiệp muốn xây dựng một kho dữliệu riêng thông qua các câu hỏi phỏng vấn chiến lược Bằng việc thực hiện cáccâu hỏi phỏng vấn chiến lược, chúng ta sẽ xác định được mục tiêu của doanhnghiệp đó khi xây dựng kho dữ liệu
- Lĩnh vực hoạt động của doanh nghiệp: Kinh doanh, cung cấp các mặthàng cho 2 đối tượng khách hàng chính là khách du lịch thường được dẫnđến bởi các hướng dẫn viên các đoàn du lịch, loại hai bao gồm nhữngkhách hàng đặt hàng qua đường bưu điện
- Những ứng dụng nghiệp vụ đang được doanh nghiệp sử dụng: Doanhnghiệp sử dụng nhiều hệ thống ứng dụng nghiệp vụ khác nhau như quản
lý thông tin khách hàng, quản lý cửa hàng, quản lý số lượng và lượng tiêuthụ mặt hàng…
- Vấn đề đang gặp phải hiện nay của doanh nghiệp: Doanh nghiệp cầnquản lý thông tin khách hàng, cửa hàng và mặt hàng Mỗi khách hàng chỉsống ở một thành phố và doanh nghiệp sẽ phải cố gắng đáp ứng các mặthàng trong đơn hàng của khách bằng cách lấy từ kho ở thành phố màkhách hàng đó sinh sống Nếu những yêu cầu đó không thể đáp ứng thìcông ty sẽ chuyển yêu cầu tới các thành phố khi đến khi mặt hàng có đủ
để cung cấp Một số thông tin xử lý là rất quan trọng đối với doanhnghiệp này Ví dụ, tổng số lượng mỗi mặt hàng được lưu trữ tại mỗithành phố Sau mỗi lần một mặt hàng được phân phối (được bán), doanh
nghiệp này cần biết tổng số lượng mỗi mặt hàng còn lại tại tất cả các cửa
Trang 2nghiệp vụ nhất định rồi mới mở rộng dần nếu muốn.
Trong bài toán xây dựng kho dữ liệu cho doanh nghiệp này, chúng ta xácđịnh phạm vi xây dựng kho dữ liệu là quản lý tổng số lượng mỗi mặt hàng đượclưu trữ tại mỗi thành phố Sự lựa chọn này xuất phát từ các yếu tố:
- Quản lý tổng số lượng mỗi mặt hàng còn lại tại tất cả các cửa hàng trongmột thành phố đóng vai trò quan trọng trong cách điều hành kinh doanh,nhằm cung cấp thông tin hỗ trợ lãnh đạo quyết định việc đáp ứng đầy đủcác yêu cầu của khách hàng từ những cửa hàng nằm trong thành phố màkhách hàng sinh sống Mỗi đơn đặt hàng của khách có thể đặt thoải mái
về số lượng và số các mặt hàng
- Thông tin tổng số lượng mặt hàng giúp nhà lãnh đạo ra quyết định đemlại hiệu quả kinh doanh: giảm thiểu chi phí, luôn chủ động được cân đối,điều độ nguồn nhập xuất đáp ứng ổn định nguồn hàng cung cấp chokhách hàng
- Ứng dụng kỹ thuật OLAP để xây dựng khối dữ liệu phân tích khách hàng,mặt hàng… của doanh nghiệp theo hướng đa chiều
Như vậy, việc lựa chọn phạm vi xây dựng kho dữ liệu hợp lý giúp có cơhội kinh doanh tốt hơn
II Yêu cầu nghiệp vụ
Doanh nghiệp bao gồm nhiều cửa hàng
- Mỗi cửa hàng nằm tại một thành phố và có nhiều cửa hàng trongmột thành phố
- Mỗi thành phố có một văn phòng đại diện để quản lý tất cả các cửahàng của thành phố đó
- Mỗi cửa hàng có một số lượng các mặt hàng với số lượng hàngkhác nhau
- Doanh nghiệp lưu trữ thông tin về các khách hàng bao gồm hailoại:
+ Loại thứ nhất là khách du lịch thường được dẫn đến bởi cáchướng dẫn viên các đoàn du lịch
+ Loại hai bao gồm những khách hàng đặt hàng qua đườngbưu điện
- Hệ thống lưu trữ dữ liệu về thành phố sinh sống của các kháchhàng, cùng với đơn đặt hàng đầu tiên của khách hàng
- Mỗi khách hàng chỉ sống ở một thành phố
- Doanh nghiệp sẽ cố gắng đáp ứng các mặt hàng trong đơn hàngcủa khách bằng cách lấy từ kho ở thành phố mà khách hàng đó sinh
Trang 3sống Nếu những yêu cầu đó không thể đáp ứng thì công ty sẽchuyển yêu cầu tới các thành phố khi đến khi mặt hàng có đủ đểcung cấp.
- Mỗi đơn đặt hàng của khách có thể đặt thoải mái về số lượng và sốcác mặt hàng và mỗi đơn đặt hàng được xác định bởi một mã sốđơn đặt hàng
Để đá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ếudự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ẽ sinhmột báo cáo Phân tích trực tuyến (OLAP) 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ựchiệ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áncá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ửahà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ộtthà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áchhàng thuộc cả hai loại
III Đặc tả chức năng
1.Đặc tả đầu vào
- Kho dữ liệu là cơ sở dữ liệu rất lớn, hướng về tính ổn định Kho dữ liệuđược lấy từ các nguồn khác nhau: MS SQL Server và Oracle
- Cơ sở dữ liệu 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 đầutiên)
Trang 4Khá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)
Đơn đặt hàng (Mã đơn, Ngày đặt hàng, Mã KH)
2 Đặc tả đầu ra
➢ 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ất cả các đơn đặt hàng với tên khách hàng và ngày đặt hàng được thựchiện bởi khách hàng đó
➢ 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áncác mặt hàng được đặt bởi một khách hàng nào đó
➢ Đị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ửahà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ùngvớ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đó
➢ Thành phố và bang mà một khách hàng nào đó sinh sống
➢ 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ộtthành phố cụ thể nào đó
➢ 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
➢ Các khách hàng du lịch, khách hàng đặt theo đường bưu điện và kháchhàng thuộc cả hai loại
IV Thiết kế kho dữ liệu
1 Chuyển đổi lược đồ dữ liệu giữa các mô hình
Bước 1: Bảng phân loại các quan hệ và các thuộc tính
Trang 5hàng bưu
điện
điện,Thời gianVăn phòng
đại diện
Thành phố
Tên Thành phố,
Địa chỉ VP,Bang,Thời gianCửa hàng PR1 Mã cửa
hàng
Mã Thành phố
Số điện thoại,Thời gian
Kích cỡ,Trọng lượng,Giá,
Thời gianMặt
Mã MH
Số lượng trong kho,
Thời gianĐơn đặt
hàng
Mã KHMặt hàng
Trang 6Bước 2: Ánh xạ PR1 thành thực thể
Bước 3: Ánh xạ mỗi PR2 sang một thực thể lớp con hoặc là một thực thể yếu
Khách
hàng
Văn phòng đại diện
Cửa hàng
Mã KH
Tên KH
Mã Thành
phố
Ngày đặt
hàng đầu tiên
Mã Thành
phố
Tên Thành phố Địa chỉ VP Bang Thời gian Mã cửa hàng Số điện thoại Thời gian Mặt hàng Đơn đặt hàng Mã MH
Mô tả
Kích cỡ
Trọng lượng
Giá
Thời gian
Mã đơn Ngày đặt hàng
Mã KH
Khách hàng
Khách hàng du lịch
Khách hàng bưu
điện
o
Mã KH Tên KH Ngày đặt hàng đầu tiên
Mã thành phố
Mã KH
Địa chỉ bưu điện
Thời gian
Mã KH Hướng dẫn viên du lịch Thời gian
Trang 7Bước 4: Ánh xạ SR1 thành quan hệ hai ngôi hoặc nhiều ngôi
Bước 5: Ánh xạ SR2 thành quan hệ hai ngôi hoặc nhiều ngôi
Bước 6:Ánh xạ mỗi FKA thành một quan hệ
Bước 7: Ánh xạ phụ thuộc bao hàm sang ngữ nghĩa
Các phụ thuộc bao hàm phát sinh Ngữ nghĩa suy ra
Cửa hàng.Mã Thành phố VP đại ⊆ VP đại
diện.Mã Thành phố
Quan hệ một – nhiều giữa thực thể
VP đại diện và Cửa hàngMặt hàng_được lưu trữ.Mã cửa hàng
Trang 8Mặt hàng được đặt.Mã mặt hàng ⊆ VP đại
Mặt hàng.Mã mặt hàng MH_được
đặt.Mã đơn Đơn đặt hàng.Mã đơn⊆ VP đại
Quan hệ nhiều – nhiều giữa thực thể Đơn đặt hàng và Mặt hàng
Khách hàng bưu điện.Mã KH ⊆ VP đại
Bước 8: Từ kết quả của 7 bước trên ta thu được mô hình EER như hình vẽ dưới
đây:
Văn phòng đại diện
Mặt hàng Đơn đặt hàng
Cửa hàng Quản lý
Mặt hàng được đặt
Mặt hàng được lưu trữ
Số lượng đặt Giá đặt Thời gian
Số lượng trong kho
Thời gian
Mã MH
Mô tả Kích cỡ Trọng lượng Giá
Trang 92 Tích hợp các lược đồ dữ liệu
Trộn các tập thực thể bằng quan hệ hai ngôi và khái quát hóa
Tích hợp các lược đồ trên ta được lược đồ EER như sau:
Trang 103 Thiết kế lược đồ hình sao
Từ yêu cầu nghiệp vụ và mối liên hệ giữa Cửa hàng Mặt hàng, Đơn đặt hàng Mặt hàng ta tạo được 2 bảng Fact là Fact_CuaHang và Fact_DonDatHang
Khách hàng bưu
điện
Cửa hàng
Đơn đặt hàng Văn phòng đại diện
Mặt hàng được đặt
Mã KH
Địa chỉ bưu điện
Thời gian
Mã KH Hướng dẫn viên Thời gian
Mã KH Tên KH Ngày đặt hàng đầu tiên
Mã Thành phố Tên Thành phố Địa chỉ VP Bang Thời gian
Mã đơn Ngày đặt hàng
Mã cửa hàng
Số điện thoại
Thời gian Số lượng trong khoThời gian
Số lượng đặt Giá đặt Thời gian
Mã MH
Mô tả Kích cỡ Trọng lượng Giá
Trang 11Fact_CuaHang: Để quản lý các Mặt hàng trong Cửa hàng
Fact_DonDatHang: Để quản lý các giao dịch qua các Đơn đặt hàng
Trang 12at
Tổng số lượng hàng được đặt int
TongGiaDat Tổng giá của đơn đặt hàng float
Trang 13TongGia Tổng giá của mặt hàng float
Tổng số lượng mặt hàng trong kho int
- CuaHang
liệu
Sodienthoai Số điện thoại cửa hàng varchar
- MatHang
liệu
Trongluong Trọng lượng của mặt hàng float
Trang 14- ThoiGian
liệu
- VanPhongDaiDien
Trang 15Tên thuộc tính Ý nghĩa Kiểu dữ
liệu
4 Các hàm nguyên thủy định nghĩa lược đồ
define cube DonDatHang_star[KhachHang, MatHang, DonDatHang, CuaHang,
define dimension CuaHang as (Ma_CuaHang, Sodienthoai)
define dimension Thoigian as (Thoigian_key, Ngay, Tuan, Thang, Quy, Nam) TongSoLuongDat = sum(SoLuongDat), TongGiaDat = sum(GiaDat), TongGia
= sum(Gia)
define cube CuaHang_star[CuaHang, MatHang, ThanhPho, ThoiGian]:
define dimension CuaHang as (Ma_CuaHang, Sodienthoai)
define dimension MatHang as (Ma_Mathang, Mota, Kichco, Trongluong) define dimension VanPhongDaiDien as (Ma_ThanhPho, TenThanhPho,
DiaChiVP, Bang)
define dimension Thoigian as (Thoigian_key, Ngay, Tuan, Thang, Quy, Nam) TongSoLuongTrongKho = sum(SoLuongTrongKho), TongGia = sum(Gia)
5 Cơ sở dữ liệu
Trang 166 Sinh dữ liệu và dữ liệu các bảng sau khi sinh
a Sinh dữ liệu
- Sử dụng tool có sẵn: mockaroo
- Một số bảng không sử dụng được tool: Viết code insert SQL
b Dữ liệu các bảng sau khi sinh
DonDatHang: 100 bản ghi
Trang 18CuaHang: 100 bản ghi
Trang 19MatHang: 100 bản ghi
Trang 20ThoiGian: 100 bản ghi
Trang 21KhachHang: 100 bản ghi
Trang 22VanPhongDaiDien: 100 bản ghi
Trang 23KhachHangDuLich: 100 bản ghi
Trang 24KhachHangBuuDien: 100 bản ghi
Trang 25Fact_DonDatHang: 42 bản ghi
Trang 26Fact_CuaHang: 25 bản ghi
V Các báo cáo phân tích trực tuyến
1 Thiết kế lược đồ hình sao
- Để đáp ứng các yêu cầu nghiệp vụ ta sẽ sử dụng các dimension:
Trang 27CuaHang, MatHang, KhachHang, DonDatHang, VanPhongDaiDien.
- OLAP còn sử dụng một chiều quan trọng khác để quản lý là dimension:ThoiGian
- Dimension ThoiGian sẽ có các thuộc tính:
- Thoigian_key: thuộc tính khóa
Sử dụng phần mềm Microsoft Visual Studio 2012
- Tạo Analysis Service Project:
-
Vào Service:
Trang 28- Tạo Data Sources
Trang 29
Click vào new username: sa password: 123456
Trang 31- Tạo Data Source Views
Trang 32- Click next
Trang 33- Tạo Data Source Views Fact_DonDatHang tương tự:
Trang 34- Tạo new Cubes
Trang 37- Tạo Cubes Fact_DonDatHang tương tự ta được:
Trang 38Click Built -> Deploy DataWarehouse ta được:
Trang 40VI Kiểm tra tính đúng đắn của dữ liệu
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ựchiện bởi khách hàng đó
Trang 413 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áncá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ửahàng lưu kho một mặt hàng nào đó với số lượng trên mức cụ thể
Trang 425 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
Trang 437 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ộtthà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
Trang 449 Tìm các khách hàng du lịch, khách hàng đặt theo đường bưu điện và kháchhàng thuộc cả hai loại
VII Kết luận
Data warehouse thiết kế không chỉ giúp các doanh nghiệp lưu trữ và tổchức dữ liệu một cách an toàn và chuyên nghiệp, mà còn giúp phân tích, xử lý ,thu thập, load dữ liệu vào kho và công cụ tạo báo cáo …