Thiết lập một chiều thời gian, hệ thống sẽ sinh mộtbáo cáo Phân tích trực tuyến cho những yêu cầu sau: Tìm tất cả các cửa hàng cùng với thành phố quận, huyện, xã, thị trấn,…, số điện t
Trang 1HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG
NHÓM 7
Sinh viên thực hiện:
Trần Hữu Anh B17DCCN050 Phạm Huỳnh Đức B17DCCN146 Chu Sơn Giang B17DCCN182 Hoàng Quốc Trung B17DCCN626 Bùi Quang Tuấn B17DCCN648
Trang 2Mục lục
Phân công công việc: 2
CHƯƠNG 1: Giới thiệu - Mục tiêu phạm vi bài tập lớn 2
1.1 Giới thiệu về kho dữ liệu 2
1.2 Mục tiêu bài tập lớn: 4
1.3 Phạm vi 4
CHƯƠNG 2: Yêu cầu nhiệm vụ 5
CHƯƠNG 3: Đặc điểm đầu vào của kho dữ liệu 6
3.1 Đặc tả đầu vào: 6
3.2 Đầu ra: 6
CHƯƠNG 4: Thiết kế kho dữ liệu 6
4.1 Chuyển đổi từ lược đồ quan hệ sang mô hình thực thể liên kết để mô tả về mặt ngữ nghĩa 6
4.2 Tổng quát hóa 10
4.3 Lược đồ ER 10
4.4 Chuyển đổi cơ sở dữ liệu qua hệ quản trị SQL Server 11
4.5 Lược đồ hình sao 12
CHƯƠNG 5: Cài đặt các khối dữ liệu 13
5.1 Dữ liệu nguồn 13
5.2 Tạo các bảng dữ liệu và đổ dữ liệu từ cơ sở dữ liệu nguồn vào kho 17
CHƯƠNG 6: Phần VI:Báo cáo phân tích trực tuyến OLAP 19
6.1 Các bước thực hiện 19
CHƯƠNG 7: KIỂM TRA TÍNH ĐÚNG ĐẮN CỦA DỮ LIỆU 30
CHƯƠNG 8: KẾT LUẬN 34
Trang 3PHÂN CÔNG CÔNG VIỆC:
Trần Hữu Anh: Chỉnh sửa, bổ sung nội dung báo cáo, thiết kế kho dữ liệu,làm slide, demo
Phạm Huỳnh Đức: Làm nội dung báo cáo chương 5,6
Chu Sơn Giang: Làm nội dung báo cáo chương 7,8
Hoàng Quốc Trung: Làm nội dung báo cáo chương 3,4
Bùi Quang Tuấn: Làm nội dung báo cáo chương 1,2
CHƯƠNG 1: GIỚI THIỆU - MỤC TIÊU PHẠM VI BÀI TẬP LỚN
1.1 Giới thiệu về kho dữ liệu
Kho dữ liệu (data warehouse) là kho lưu trữ điện tử của một lượng lớn
thông tin của một doanh nghiệp hoặc tổ chức Kho dữ liệu là một thành phầnquan trọng của phân tích kinh doanh, sử dụng các kĩ thuật phân tích trên dữ liệudoanh nghiệp Khái niệm kho dữ liệu được giới thiệu vào năm 1988 bởi 2 nhànghiên cứu của IBM là Barry Devlin và Paul Murphy
Định nghĩa về kho dữ liệu này tập trung vào việc lưu trữ dữ liệu Tuynhiên, các phương tiện cho việc lấy và phân tích, trích rút, biến đổi, nạp dữ liệu,
và quản lý dữ liệu từ điển cũng được coi là các thành phần cốt yếu của một hệthống kho dữ liệu Một định nghĩa mở rộng cho kho dữ liệu bao gồm cả cáccông cụ thông minh, các công cụ để trích, biến đổi và nạp dữ liệu vào kho, vàcác công cụ để quản lý và lấy siêu dữ liệu (meta data) Kho dữ liệu được sửdụng để cung cấp cái nhìn sâu sắc hơn về hiệu suất của một công ty bằng cách
so sánh dữ liệu được hợp nhất từ nhiều nguồn không đồng nhất Kho dữ liệuđược thiết kế để chạy các câu hỏi và phân tích trên dữ liệu lịch sử có nguồn gốc
từ các nguồn giao dịch
Kho dữ liệu không nhất thiết phải là khái niệm giống như cơ sở dữ liệutiêu chuẩn Cơ sở dữ liệu là một hệ thống giao dịch được thiết lập để giám sát vàcập nhật dữ liệu thời gian thực để chỉ có dữ liệu gần đây nhất dùng được Kho
dữ liệu được lập trình để tổng hợp dữ liệu có cấu trúc trong một khoảng thờigian
Trang 4được lưu trữ theo cách an toàn, đáng tin cập, dễ truy xuất và quản lí Các bước
để tạo một kho dữ liệu gồm có:
Bước 1: Dữ liệu được tập hợp từ nhiều nguồn và đưa vào Data Sources
để đồng bộ định dạng, biên soạn, sau đó sẽ quá trình làm sạch dữ liệu, tìm kiếm
để sửa hay loại bỏ bất kỳ lỗi nào trong dữ liệu nhằm đảm bảo tính nhất quán của
dữ liệu trước khi đưa vào Warehouse
Bước 2: Dữ liệu sau khi trải qua nhiều thao tác ở tầng Data Sources sẽđược chuyển từ định dạng cơ sở dữ liệu sang định dạng kho Sau đó tại tầngWarehouse, dữ liệu sẽ được sắp xếp, hợp nhất và tổng kết,… nhằm đảm bảo quátrình phân phối và xử lý dữ liệu diễn ra trơn tru và mượt mà hơn Theo thời gian,khi càng có nhiều dữ liệu từ nhiều nguồn được cập nhật, kho dữ liệu sẽ càng tiếpnhận và xử lý chúng
Bước 3: Dữ liệu được phân bổ đến người dùng cuối khi có thao tác tìmkiếm, truy vấn và xuất báo cáo Trong bước này, có nhiều công cụ để thực hiệnnhằm giúp dữ liệu được xử lý gọn gàng và dễ nhìn trước khi hiển thị tới ngườidùng cuối Một kho dữ liệu tốt không chỉ giúp cho quá trình phân tích, xuất báocáo dễ dàng nhanh chóng mà còn giúp các bộ phận khác nhau trong công ty truycập dữ liệu của nhau dễ dàng hơn
Các doanh nghiệp có thể lưu trữ dữ liệu để sử dụng trong thăm dò vàkhai thác dữ liệu, tìm kiếm các mẫu thông tin sẽ giúp họ cải thiện quy trình kinhdoanh của mình Một hệ thống lưu trữ dữ liệu tốt cũng có thể giúp các bộ phậnkhác nhau trong công ty truy cập dữ liệu của nhau dễ dàng hơn
OLAP là kỹ thuật sử dụng các cube (khối – thể hiện của dữ liệu đachiều) nhằm cung cấp khả năng truy xuất nhanh đến dữ liệu của data warehouse.Tạo khối (cube) cho dữ liệu trong các bảng chiều (dimension table) và bảng sựkiện (fact table), và cung cấp khả năng thực hiện các truy vấn phức tạp và phântích cho các ứng dụng client Data WareHouse và Data Mart lưu trữ dữ liệu chophân tích, OLAP là kỹ thuật cho phép các ứng dụng client truy xuất hiệu quả dữliệu này
OLAP cung cấp nhiều lợi ích cho người phân tích:
Trang 5Cung cấp các công cụ mạnh mẽ giúp người dùng tạo các khung nhìn mớicủa dữ liệu dựa trên một tập các hàm tính toán đặc biệt có sẵn.
Công nghệ quản lý bảo mật, quản lý truy vấn client/server và bộ nhớ đệm
dữ liệu, và các phương tiện để tối ưu hóa hiệu suất của hệ thống dựa trên nhữngnhu cầu của người dùng
OLAP được đặt ra để xử lý các truy vấn liên quan đến lượng dữ liệu rấtlớn, mà nếu cho thực thi các truy vấn này trong hệ thống OLTP sẽ không thểcho kết quả hoặc sẽ mất rất nhiều thời gian
OLAP gồm: MOLAP - Mutidimensional OLAP, ROLAP - RelationalOLAP, HOLAP - Hybrid OLAP
1.2 Mục tiêu bài tập lớn:
Tích hợp dữ liệu trong toàn bộ doanh nghiệp
Tận dụng nguồn dữ liệu này để sử dụng cho những mục đích hỗ trợ chocông việc kinh doanh
Lưu trữ thông tin các đơn hàng mà khách hàng đã đặt
Lưu trữ thông tin khách hàng
Tạo mô hình dữ liệu nhiều chiều
Trích lọc các dữ liệu tác nghiệp được lưu trữ
Tạo thuận lợi tối đa khi xem xét dữ liệu với mục đích phân tích kinhdoanh và ra quyết định
Trang 6Vị trí của các cửa hàng cũng được lưu trữ Mỗi cửa hàng nằm tại mộtthành phố và có nhiều cửa hàng trong một thành phố Mỗi thành phố có một vănphòng đại diện để quản lý tất cả các cửa hàng của thành phố đó Mục tiêu củadoanh nghiệp này là đáp ứng đầy đủ các yêu cầu của khách hàng từ những cửahàng nằm trong 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ố đến khi mặthàng có đủ để cung cấp.
Một số thông tin xử lý là rất quan trọng đối với doanh nghiệp này Ví dụ,tổng số lượng mỗi mặt hàng được lưu trữ tại mỗi thành phố Sau mỗi lần mộtmặt hàng được phân phối (được bán), doanh nghiệp này cần biết tổng số lượngmỗi mặt hàng còn lại tại tất cả các cửa hàng trong một thành phố
Hệ thống sẽ sử dụng MS SQL Server để xây dụng kho dữ liệu cho doanhnghiệp
CHƯƠNG 2: YÊU CẦU NHIỆM 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, kéo xuống, chọn và chiếu dựatrê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 ứngyê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ộtbáo cáo Phân tích trực tuyến cho những yêu cầu sau:
Tìm tất cả các cửa hàng cùng với thành phố (quận, huyện, xã, thị trấn,…),
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 đượcthự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 đó
Trang 7Tì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ủamộ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
CHƯƠNG 3: ĐẶC ĐIỂM ĐẦU VÀO CỦA KHO DỮ LIỆU
Phương thức quản lý tại các cửa hàng, văn phòng đại diện,doanh nghiệp
3.2 Đầu ra:
Đầu ra của kho dữ liệu là các bảng dữ liệu động để hỗ trợcho người sử dụng ra quyết định thực hiện các phép chiếuchọn, các thao tác cơ bản như cuộn lên, khoan xuống
Kho dữ liệu được chuyển hóa, phân ra thành những mụctiêu như khách hàng, bán hàng, sản phẩm nhờ công cụOLAP( Online Analyze Proccessing) để hỗ trợ việc truy vấn
Bản báo cáo thống kê theo khách hàng, cửa hàng, khách
du lịch
Trang 8CHƯƠNG 4: THIẾT KẾ KHO DỮ LIỆU
4.1 Chuyển đổi từ lược đồ quan hệ sang mô hình thực thể liên kết để mô tả về mặt ngữ nghĩa
A Cơ sở văn phòng đại diện
- KhachHang (MaKH, TenKH, MaTP, NgayDHDT)
- KhachHangDL (* MaKH, HuongDanVien, ThoiGian).
- KhachHangBD (* MaKH, DiaChiBD, ThoiGian).
B Cơ sở dữ liệu bán hàng
- VPDD (MaTP, TenTP, DiaChiVP, Bang, ThoiGian).
- CuaHang (MaCH, * MaTP, SDT, ThoiGian).
- MatHang (MaMH, MoTa, KichCo, TrongLuong, Gia,
ThoiGian)
- MatHangLT (* MaCH, * MaMH, ThoiGian).
- MatHangDD (* MaDon, * MaMH, SLDat, GiaDat,
ThoiGian)
- DonHang (MaDon, NgayDH, MaKH).
B1 Xác định kiểu quan hệ, khoá và các trường:
Trang 9Mã MH
Đơn đặt PR1 Mã đơn
đặtMặt
Trang 10B4 Ánh xạ SR1 sang quan hệ 2 ngôi hoặc nhiều ngôi
B5 Ánh xạ SR2 sang quan hệ nhiều ngôi
B6 Ánh xạ FKA sang một quan hệ
Trang 11B7 Ánh xạ ý nghĩa phụ thuộc bao hàm sang ngữ nghĩa
B8 Vẽ lược đồ ER
Giải quyết xung đột về tên các trường
Khách hàng (mã KH, tên KH, mã thành phố sống, ngàyđặt hàng đầu tiên)
KH du lịch (*mã KH, HDV du lịch, thời gian tạo KHDL)
KH bưu điện (*mã KH, địa chỉ bưu điện, thời gian tạoKHBĐ)
Văn phòng đại diện (mã thành phố, tên thành phố, địachỉ văn phòng, bang, thời gian tạo VP)
Cử hàng (mã cửa hàng, *mã thành phố, SĐT, thời giantạo của hàng)
Mặt hàng (mã MH, mô tả, kích cỡ, trọng lượng, giá,thời gian tạo MH)
Mặt hàng được lưu trữ (*mã MH, *mã cửa hàng, sốlượng trong kho, thời gian tạo lưu trữ)
Đơn đặt hàng (mã đơn, ngày đặt, mã KH đặt)
Mặt hàng được đặt (*mã đơn, *mã MH, số lượng đặt,giá đặt, thời gian đặt)
Trang 124.2 Tổng quát hóa
4.3 Lược đồ ER
Trang 134.4 Chuyển đổi cơ sở dữ liệu qua hệ quản trị SQL Server
Trang 144.5 Lược đồ hình sao
Trang 15CHƯƠNG 5: CÀI ĐẶT CÁC KHỐI DỮ LIỆU 5.1 Dữ liệu nguồn
Sử dụng tool có sẵn sinh dữ liệu giả
VPDD: 100 bản ghi
CuaHang: 300 bản ghi
Trang 16MatHang: 100 bản ghi
MatHangLT: 2997 bản ghi
Trang 17KhachHang: 4000 bản ghi
KhachHangBD: 2100 bản ghi
Trang 18KhachHangDL: 2100 bản ghi
DonHang: 5000 bản ghi
Trang 19yearOrder INT NOT NULL)BEGIN
DECLARE @mindate datetime
DECLARE @maxdate datetime
SELECT @mindate = Min(thoigian) from dim_dondathang
Trang 20INSERT INTO dim_time_order VALUES(@mindate,MONTH(@mindate),
DATEPART(QUARTER,@mindate),YEAR(@mindate))
set @mindate=@mindate+1;
EndEnd
-Đổ dữ liệu vào bảng Fact
INSERT INTO Fact
SELECT d.MaDon as MaDon,k.MaKH as MaKH,c.MaCH asMaCH,m.MaMH as MaMH,t.MaTP as MaTP,m.quantity ASquantityOrder
,m.price AS orderValue,m.price/m.quantity ASpriceEach,d.thoigian as orderdate
FROM dbo.dim_dondathang d,dbo.dim_khachhang
Trang 21CHƯƠNG 6: PHẦN VI:BÁO CÁO PHÂN TÍCH TRỰC TUYẾN OLAP
6.1 Các bước thực hiện
-Mở Microsoft visual studio -> Chọn Create new project-> Analysis Services Multidimensional and Data MiningProject
- Data Sources New Data Source và chọn dữ liệu kết nối
Trang 22Chọn Inherit
Trang 23Ở phần Data Source Views chọn New Data Scource Views,chọn datacource( vừa tạo) và bấm next
Thêm các bảng vào như hình
Trang 24-Tiếp theo chọn New Cubes, chọn Use existing tables vàbấm next
Trang 26-Tiếp theo để thiết lập phân cấp ta thực hiện như tronghình
Trang 27Sau khi chạy project xong, ta có thể truy vấn được cácbảng FACT theo các độ đo đã khai báo
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 đó
Trang 282 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 đượcthực hiện bởi khách hàng đó
Trang 293 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áccử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ể.
Trang 306 Tìm thành phố và bang mà một khách hàng nào đó sinh sống
Trang 317 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
Trang 329 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
Trang 332 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 đượcthực hiện bởi khách hàng đó
Trang 344 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 356 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 đó
Trang 369 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
Trang 37CHƯƠNG 8: KẾT LUẬN
Nhóm đã hoàn thành những mục tiêu đề ra:
Tích hợp lược đồ thành một mô hình thực thể liên kết
mở rộng
Thiết kế lược đồ hình sao
Các báo cáo xử lý phân tích trực tuyến
Chạy thử nghiệm công nghệ kho dữ liệu và xử lý phântích trực tuyến
Việc xây dựng kho dữ liệu thiên về thuật ngữ “thiết kế”,
thuộc vào người dựng mà có thể có những cấu trúc kho dữ liệukhác nhau nhưng tất cả đều đúng yêu cầu Cốt yếu nhất củaxây dựng kho dữ liệu vẫn là phản ánh đúng hệ thống nghiệp vụ
và đưa ra được các thông tin quý giá nhất