Chương 1: Giới thiệu đồ án của học phần DWH Chương 2: Các cơ sở lý thuyết của HP phục việc thực hiện đề tài HP - 14 - Chương 3: Giới thiệu tổng quan về Kho dữ liệu (DWH) Kho dữ liệu Tuyển sinh Đại Học tại các trường đại học Chương 4: Phân tích, thiết kế và tổ chức khai thác sử dụng từng thành phần của Kho dữ liệu Chương 5: Tổng kết các kết quản đạt được và còn hạn chế của đồ án, đồng thời đề xuất hướng khắc phục hạn chế và phát triển Đồ án. CƠ SỞ LÝ THUYẾT CỦA HỌC PHẦN 2. Tổng quan về kho dữ liệu (DWH) 2. Các khái niệm cơ bản về Kho dữ liệu 2.
Kho dữ liệu (DWH)? Kho dữ liệu (data warehouse), gọi một cách chính xác hơn là kho thông tin (information warehouse), là một cơ sở dữ liệu hướng đối tượng được thiết kế với việc tiếp cận các ý kiến trong mọi lĩnh vực đặc biệt là trong lĩnh vực kinh doanh. Nó cung cấp các công cụ để đáp ứng thông tin cần thiết cho các nhà quản trị kinh doanh tại mọi cấp độ tổ chức - không những là những yêu cầu dữ liệu phức hợp, mà còn là điều kiện thuận tiện nhất để đạt được việc lấy thông tin nhanh, chính xác. Một kho dữ liệu được thiết kế để người sử dụng có thể nhận ra thông tin mà họ muốn có và truy cập đến bằng những công cụ đơn giản. Nguyên lý hình thành DWH Một kho dữ liệu là một sự pha trộn của nhiều công nghệ, bao gồm các cơ sở dữ liệu đa chiều và mối quan hệ giữa chúng, kiến trúc chủ khách, giao diện người dùng đồ họa và nhiều nữa.
Nguyên nhân chính cho sự phát triển một kho dữ liệu là hoạt động tích hợp dữ liệu từ nhiều nguồn khác nhau vào một kho dữ liệu đơn lẻ và dày đặc mà kho này cung cấp cho việc phân tích và ra quyết định trong công việc kinh doanh, quản lý. Các đặc điểm cơ bản của DWH *Tính hướng chủ đề (Object Oriented): Dữ liệu đƣợc tập hợp, phân lớp, lƣu trữ và xử lý theo từng chủ đề, để dễ dàng xác định được những thông tin cần thiết trong từng hoạt động. Các dữ liệu của mỗi chủ đề chính trong tổ chức đƣợc liên kết với các khóa đại diện và đƣa vào cùng một vị trí. *Tính tích hợp (Integration); Dữ liệu tập hợp từ nhiều nguồn khác nhau.
Điều này sẽ dẫn đến việc quá trình tập hợp phải thực hiện việc làm sạch, xắp xếp, rút gọn dữ liệu. *Dữ liệu gắn thời gian và có tính lịch sử. Các dữ liệu đến từ quá trình kinh doanh của công ty có thể có từ nhiều năm trước. *Dữ liệu có tính ổn định (non volatility): Khi một Transaction hoàn chỉnh, dữ liệu không thể tạo thêm hay sửa đổi.
Phân biệt [SS] DWH với CSDL truyền thống - 16 - Tham số Database Data warehouse Mục đích Được thiết kế để lưu lại bản ghi Được thiết kế để phân tích Xử lý Online Transactional Processing Online Analytical Processing (OLAP) (OLTP) Bảng và Bảng và joins các bảng phức Không được chuẩn hóa Joins tạp, mối quan hệ, chuẩn hóa Định Phục vụ định hướng cho ứng Định hướng cho các loại mục đích khác nhau hướng dụng, sản phẩm Giới hạn Thường giới hạn trong 1 ứng Lưu trữ dữ liệu từ nhiều nguồn khác nhau lưu trữ dụng Độ khả Dữ liệu có sẵn từ thời gian thực, Được làm mới khi cần thiết từ nhiều nguồn dụng cần là có khác nhau, cần thì phải đợi hệ thống chạy tạo lại dữ liệu định kì cần thiết Sử dụng Kỹ thuật mô hình ER được sử Kỹ thuật mô hình dữ liệu được sử dụng dụng Kỹ thuật Capture dữ liệu Analyze dữ liệu Loại dữ Dữ liệu được lưu trữ trong Cơ Dữ liệu hiện tại và lịch sử được lưu trữ. Có thể liệu sở dữ liệu được cập nhật. không được cập nhật. Lưu trữ Phương pháp tiếp cận quan hệ Sử dụng phương pháp tiếp cận đa chiều và dữ liệu phẳng được sử dụng để lưu trữ chuẩn hóa cho cấu trúc dữ liệu.
Ví dụ: Lược đồ dữ liệu. sao và bông tuyết. Loại truy Các truy vấn giao dịch đơn giản Các truy vấn phức tạp được sử dụng cho mục vấn được sử dụng. đích phân tích.
Tóm tắt Lưu dữ liệu chi tiết Lưu trữ dữ liệu tóm tắt dữ liệu - 17 - - Từ hai bảng này kết với bảng ThiSinh để lấy thông tin thí sinh - Thông qua hàm aggr count để đếm số lượng thí sinh thông qua groupby maKhuVuc Tổng thí sinh đăng ký theo Tỉnh: - Xuất phát từ table Tỉnh - Kết với bảng địa phương thông qua maTinh - Từ hai bảng này kết với bảng ThiSinh để lấy thông tin thí sinh - Thông qua hàm aggr count để đếm số lượng thí sinh thông qua groupby maTinh. Xác định các Facts và Dims NHÓM 2: SoLuongThiSinh và SoLuongPhieuDangKy Factor Dim 4. Lập các Views tính toán các Facts trên CSDL nguồn liên quan thành phần DWH tuyển sinh đại học -- VIEW: Thống kê số lượng thí sinh theo khu vực ưu tiên CREATE VIEW view_ThongKeKV_TS ([Mã Khu Vực],[Số lượng thí sinh])AS SELECT k.maKhuVuc as [Mã Khu Vực], COUNT(t.maThiSinh) as [Số lượng thí sinh] - 32 - FROM dbo.ThiSinh as t INNER JOIN dbo.DiaPhuong as d ON t.maDiaPhuong INNER JOIN dbo.KhuVucUuTien as k ON d.maKhuVuc GROUP BY k.maKhuVuc; -- View: Thống kê số lượng thí sinh theo tỉnh CREATE VIEW view_ThongKeTinh_TS ([Tỉnh], [Số lượng thí sinh]) AS SELECT k.tenTinh as [Tỉnh], COUNT(t.maThiSinh) as [Số lượng thí sinh] FROM dbo.ThiSinh as t INNER JOIN dbo.DiaPhuong as d ON t.maDiaPhuong INNER JOIN dbo.Tinh as k ON d.maTinh GROUP BY k.tenTinh; -- View: thống kê số lượng phiếu đăng ký theo khu vực CREATE VIEW view_ThongKeKV_PhieuDK ([Mã Khu Vực],[Số lượng phiếu])AS SELECT k.maKhuVuc as [Mã Khu Vực], COUNT(p.maPhieu) as [Số lượng phiếu] FROM dbo.ThiSinh as t INNER JOIN dbo.DiaPhuong as d ON t.maDiaPhuong INNER JOIN dbo.KhuVucUuTien as k ON d.maKhuVuc INNER JOIN dbo.PhieuDangKy as p ON t.maThiSinh - 33 - GROUP BY k.maKhuVuc; GO -- View: Thống kê số lượng phiếu đăng ký theo tỉnh CREATE VIEW view_ThongKeTinh_PhieuDK ([Tỉnh], [Số lượng phiếu]) AS SELECT k.tenTinh as [Tỉnh], COUNT(p.maPhieu) as [Số lượng thí sinh] FROM dbo.ThiSinh as t INNER JOIN dbo.DiaPhuong as d ON t.maDiaPhuong INNER JOIN dbo.Tinh as k ON d.maTinh INNER JOIN dbo.PhieuDangKy as p ON t.maThiSinh GROUP BY k. Phân phân tích các DB gốc xác định yêu cầu phân tích DWH của thành phần + Tỉnh - 34 - + DiaPhuong + KhuVucUuTien - 35 - 4.
Triển khai thành phần DWH lên BIDS - Triển khai view lên DWH + View Số lượng thí sinh theo tỉnh + View số lượng thí sinh theo khu vực ưu tiên - 36 - + View Số lượng thí sinh theo tỉnh + View Số lượng phiếu đăng ký: - 37 - - Triển khai tính toán theo measure + Measure Phiếu đăng ký theo Tỉnh + Measure Thi Sinh theo mã Tỉnh - 38 - - 39 - 4. 44_Nguyễn Thanh Sang _Thành phần đăng k dự thi theo nhóm ngành nghề 4. Mô tả tổng quan về thành phần DWH đăng k dự thi theo nhóm ngành nghề Sơ bộ thành phần DWH: + Sơ bộ thành phần DWH: Theo nhóm ngành nghề [Ngành]: Chứa mã ngành và tên ngành [ Nhóm ngành]: Chứa mã nhóm ngành và mã các ngành nằm trong đó + Xác định tên. Dim: Thành phần đăng ký dự thi theo nhóm ngành nghề (Công nghệ thông tin, Sư phạm,.
Fact: FACT theo tổng số lượng đơn dự tuyển theo nhóm ngành. Nguồn: Cơ sở đào tạo đại học 4. Xác định nguồn dữ liệu tích hợp thành phần Kho dữ liệu Thành phần đăng ký dự thi theo nhóm ngành nghề (Công nghệ thông tin, Sư phạm,.CSDL đăng ký dự thi do trường đại học quản lý: - Lưu thông tin thí sinh, ngành và nhóm ngành. - 40 - - Phát sinh records khi thí sinh nộp đơn đăng ký vào trường đại học.
- Huỷ CSDL khi không còn kỳ thi tuyển vào đại học - Ràng buộc toàn vẹn: + UNIQUE: Ngành là duy nhất trong một trường + NOT NULL: Các ngành, nhóm ngành không được phép null + Foreign Key: Mỗi ngành thuộc một nhóm ngành nhất định - Mô tả entity class: + Entity [nganh] và [nhomNganh]: có quan hệ THUỘC n-1, [nganh] quan hệ THUỘC 1-n với [nhomNganh] - Mở rộng: Dữ liệu được mở rộng nếu các trường đại học thêm ngành hoặc nhóm ngành vào chương trình đào tạo 4. Xác định tưởng hình thành thành phần của Kho dữ liệu Có hai phương thức thực hiện: Giúp các trường đại học xác định được các nhóm ngành có nhiều hay ít thí sinh đăng ký dự thi, từ đó có kế hoạch tổ chức giảng dạy các ngành một cách hợp lý Thành phần cá nhân => [Ngành], [NhomNganh] Bảng ngành: Bảng nhóm ngành: - 41 - 4. Mô tả các DIM = tiêu chí phân tích + Dim là Thành phần đăng ký dự thi theo ngành hoặc nhóm ngành + Các số liệu mẫu của Dim: - 42 - + Nơi khai thác sử dụng: Cơ sở đại học, bộ giáo dục và các tỉnh thành phố + Mục đích (Mục tiêu) khác thác sử dụng để tra cứu, thống kê số lượng thí sinh đăng ký dự tuyển vào các ngành, nhóm ngành 4. Mô tả cá Facts = Số liệu phân tích của thành phần FACT theo tổng số lượng đơn dự tuyển theo nhóm ngành (COUNT) PHÂN TÍCH: xuất phát từ Fact TongSoThiSinh: + Tổng thí sinh đăng ký theo khu vực: - Xuất phát từ table PhieuDangKy - Kết với bảng khối thông qua khóa là maPhieu - Từ hai bảng này kết với bảng Nganh để lấy thông tin nhóm ngành - Thông qua hàm aggr count để đếm số lượng thí sinh thông qua groupby maNhomNganh 4.
Lập các View tính toán -- View : Thống kê số lượng thí sinh theo nhóm Ngành CREATE VIEW [dbo].[view_ThiSinhtheoNhomNganh] (count_ThiSinh, maNhomNganh, tenNhomNganh) AS Select count(PhieuDangKy.tenNhomNganh From NhomNganh inner join Nganh on NhomNganh.maNhomNganh - 43 - inner Join NganhThuocKhoi on Nganh.maNganh inner join Khoi on Khoi.maKhoi inner join Dk_Khoi on Khoi.maKhoi = DK_Khoi.maKhoi inner join PhieuDangKy on PhieuDangKy.maPhieu = DK_Khoi.maPhieu Group by NhomNganh.tenNhomNganh; --View : Thống kê số lượng thí sinh theo ngành CREATE VIEW [dbo].[view_ThiSinhtheoNganh] (count_ThiSinh, maNganh, tenNganh) AS Select count(PhieuDangKy.tenNganh From Nganh inner Join NganhThuocKhoi on Nganh.maNganh inner join Khoi on Khoi.maKhoi inner join Dk_Khoi on Khoi.maKhoi = DK_Khoi.maKhoi inner join PhieuDangKy on PhieuDangKy.maPhieu = DK_Khoi.maPhieu Group by Nganh. Thiết kế DB mới tổ chức phân tích Kho dữ liệu cho thành phần + Ngành và nhóm ngành - 44 - + Ngành và số thí sinh đăng ký - 45 - 4. Triển khai thành phần DWH trên BIDS - Số thí sinh đăng ký theo ngành - Số thí sinh đăng ký theo nhóm ngành - 46 - 4. 38_ Lê Thị Nhung _ Thành phần đăng k dự thi theo khối thi 4.
Mô tả tổng quan về thành phần DWH : Thành phần đăng k dự thi theo khối thi Nhiệm vụ :Thành phần đăng ký dự thi theo khối thi (A, A1, B, C, D,.