Tích hợp dữ liệu từ nhiều nguồn khác nhau vào kho dữ liệu bao gồm các bƣớc chuyển đổi dữ liệu, loại bỏ các dữ liệu sai sót, không đúng khuôn dạng dữ liệu yêu cầu, tạo thêm các dữ liệu cần thiết cho việc phát hiện tri thức. Trong quá trình tích hợp dữ liệu, phải đảm bảo tính đúng đắn của cơ sở dữ liệu cũng nhƣ kho dữ liệu: tính toàn vẹn thực thể, ràng buộc tham chiếu [1].
Dữ liệu từ các file : SVNCKH.xls, HoSoSV.mdf,
TuyenSinh06.dbf, TuyenSinh07.dbf, TuyenSinh08.dbf,
TuyenSinh09.dbf QLSV_Source Database (*.xls) Data Warehouse Database Chuyển đổi, xử lý dữ liệu không đúng khuôn dạng và sau đó tải vào kho
Chuyển tất cả các file ở các dạng khác nhau về cùng 1 dạng file *.xls
Hình 3.3 Sơ đồ tích hợp dữ liệu
Công cụ trợ giúp cho việc tích hợp dữ liệu là Integration Services
của SQL Server 2005.
3.2.2.1. Chuyển dữ liệu từ các file Excel vào các bảng tương ứng trong Kho dữ liệu SQL Server
Tích hợp dữ liệu vào bảng Khoa: Từ dữ liệu đƣợc lấy từ file Excel Khoa.xls qua quá trình chuyển đổi dữ liệu theo đúng kiểu (giống với kiểu
dữ liệu lƣu trữ trong Kho) và chuyển vào bảng Khoa trong Kho dữ liệu.
Hình 3.4 Sơ đồ tích hợp dữ liệu vào bảng Khoa
Tích hợp dữ liệu vào bảng Dantoc: Từ dữ liệu đƣợc lấy từ file Excel DanToc.xls qua quá trình chuyển đổi dữ liệu theo đúng kiểu (giống với kiểu dữ liệu lƣu trữ trong Kho) và chuyển vào bảng DanToc trong Kho dữ liệu.
Hình 3.5 Sơ đồ tích hợp dữ liệu vào bảng DanToc
Tích hợp dữ liệu vào bảng Huyen: Từ dữ liệu đƣợc lấy từ file Excel Huyen.xls qua quá trình chuyển đổi dữ liệu theo đúng kiểu (giống với kiểu dữ liệu lƣu trữ trong Kho) và chuyển vào bảng Huyen trong Kho dữ liệu.
Hình 3.6 Sơ đồ tích hợp dữ liệu vào bảng Huyen
Tích hợp dữ liệu vào bảng Tinh: Từ dữ liệu đƣợc lấy từ file Excel Tinh.xls qua quá trình chuyển đổi dữ liệu theo đúng kiểu (giống với kiểu dữ liệu lƣu trữ trong Kho) và chuyển vào bảng Tinh trong Kho dữ liệu.
Hình 3.7 Sơ đồ tích hợp dữ liệu vào bảng Tinh
Tích hợp dữ liệu vào bảng Nganh: Từ dữ liệu đƣợc lấy từ file Excel Nganh.xls qua quá trình chuyển đổi dữ liệu theo đúng kiểu (giống với kiểu dữ liệu lƣu trữ trong Kho) và chuyển vào bảng Nganh trong Kho dữ liệu.
Hình 3.8 Sơ đồ tích hợp dữ liệu vào bảng Nganh
Tích hợp dữ liệu vào bảng KhoaHoc: Từ dữ liệu đƣợc lấy từ file Excel KhoaHoc.xls qua quá trình chuyển đổi dữ liệu theo đúng kiểu (giống với kiểu dữ liệu lƣu trữ trong Kho) và chuyển vào bảng KhoaHoc trong Kho dữ liệu.
Tích hợp dữ liệu vào bảng MonHoc: Từ dữ liệu đƣợc lấy từ file Excel MonHoc.xls qua quá trình chuyển đổi dữ liệu theo đúng kiểu (giống với kiểu dữ liệu lƣu trữ trong Kho) và chuyển vào bảng MonHoc trong Kho
dữ liệu.
Hình 3.10 Sơ đồ tích hợp dữ liệu vào bảng MonHoc
Tích hợp dữ liệu vào bảng SVNCKhoaHoc: Từ dữ liệu đƣợc lấy từ file Excel SVNCKhoaHoc..xls qua quá trình chuyển đổi dữ liệu theo đúng kiểu (giống với kiểu dữ liệu lƣu trữ trong Kho) và chuyển vào bảng SVNCKhoaHoc trong Kho dữ liệu.
Tích hợp dữ liệu vào bảng DiemThi: Từ dữ liệu đƣợc lấy từ 20 file Excel qua quá trình chuyển đổi dữ liệu theo đúng kiểu (giống với kiểu dữ liệu lƣu trữ trong Kho) và chuyển vào bảng DiemThi trong Kho dữ liệu.
Hình 3.12 Sơ đồ tích hợp dữ liệu vào bảng DiemThi
Tích hợp dữ liệu vào bảng HoSoSV: Từ dữ liệu đƣợc lấy từ file Excel HoSoSV.xls qua quá trình chuyển đổi dữ liệu theo đúng kiểu (giống với kiểu dữ liệu lƣu trữ trong Kho) và chuyển vào bảng HoSoSV trong Kho dữ liệu
Hình 3.13 Sơ đồ tích hợp dữ liệu vào bảng HoSoSV 3.2.2.2. Tạo dữ liệu cho bảng Time
Sử dụng Script để tạo dữ liệu cho bảng Time giúp tạo thêm điều hƣớng thời gian cho ngƣời khai thác tri thức. Chạy Script sau để tạo dữ liệu cho bảng Time[1]:
USE [LVCHDHTNguyen]
Declare @len int; Declare @Year int;
Declare @HaftYear int; Declare @i int;
Declare @start int;
set @start = cast('1950' as int);
set @len = (cast('2220' as int) - @start)*2; set @i=0;
while (@i<@len) begin
set @HaftYear = (@i % 2)+1; set @Year = @start + @i /2;
insert into[Time]("KeyTime","Year","HaftYear") values((@i+1),@Year, @HaftYear);
set @i=@i+1; end;
3.3. Phân tích dữ liệu và một số kết quả kết quả khai thác kho dữ liệu
Sau khi dữ liệu đã đƣợc tích hợp vào Kho, bƣớc tiếp theo cần phải tạo các khối và các chiều phục vụ cho việc phân tích dữ liệu. Khối (Cubes) là đối tƣợng chính trong xử lý phân tích trực tuyến cung cấp khả năng truy xuất nhanh đến dữ liệu của kho dữ liệu mà không phụ thuộc vào số lƣợng dữ liệu trong khối hoặc sự phức tạp của câu truy vấn. Một khối bao gồm một bảng sự kiện, một hoặc nhiều bảng chiều, các độ đo và các phân hoạch. Việc xác định các khối dựa trên yêu cầu phân tích của ngƣời sử dụng.
Để xác định một khối, ta chọn một bảng sự kiện và các độ đo (các cột có kiểu dữ liệu là kiểu số theo sự quan tâm của ngƣời dùng khối) trong bảng sự kiện. Sau đó chọn các chiều, mỗi chiều tƣơng ứng với một bảng chiều trong sơ đồ hình sao mà bảng sự kiện ở trên là bảng trung tâm, các chiều cung cấp sự mô tả rõ ràng các độ đo đƣợc chỉ ra bởi ngƣời dùng khối.
Để xác định một chiều, ta chọn một hoặc nhiều cột trong bảng chiều. Mỗi chiều có thể chứa các cấp độ để chỉ sự phân chia rõ ràng của ngƣời dùng. Mỗi cấp độ con trong chiều thƣờng chi tiết hơn mức cha của nó. Ví dụ: chiều thời gian là một chiều phân cấp chuẩn với các cấp độ năm, quý, tháng, tuần và ngày. Các cấp độ về chiều cho phép ngƣời sử dụng có thể đƣa ra yêu cầu về thông tin ở mức độ khái quát cao, hoặc có thể mở rộng để xem dữ liệu ở mức chi tiết hơn.
Chúng tôi dùng công cụ trợ giúp cho việc phân tích dữ liệu trong SQL Server phiên bản 2005 là Analysis Services. Các bƣớc xây dựng quy trình phân tích nhƣ sau:
Tạo một Analysis Services Project trong BIDS (Business Intelligence Development Studio)
Tạo kết nối tới CSDL Kho.
Tạo các khung nhìn đƣợc phân chia theo các chủ đề.
Tạo các chiều dựa trên các bảng chiều.
Tạo các Cubes trên cơ sở các chiều và độ đo, quan hệ giữa các chiều và độ đo.
Biên dịch Cubes.
Sau khi các Cubes đã đƣợc biên dịch, ta có thể phân tích và khai thác dữ liệu trực quan và nhanh chóng bằng công cụ trợ giúp cho việc phân tích dữ liệu là Analysis Services.
Với kho dữ liệu chủ đề Đào tạo sinh viên chính quy, chúng tôi xây dựng hai khối: khối sinh viên và khối sinh viên nghiên cứu khoa học.
3.3.1.1. Khối sinh viên nghiên cứu khoa học
Khối SVNCKhoaHoc bao gồm các thành phần sau:
Bảng sự kiện: Fact.SVNCKhoaHoc
Các bảng chiều: Dim.Khoa, Dim.KhoaHoc, Dim.Time
Các chiều dữ liệu: Khoa, KhoaHoc, Time
Hình 3.14 Khối sinh viên nghiên cứu khoa học
Khối sinh viên nghiên cứu khoa học có thể đƣợc dùng để trả lời các câu hỏi dạng nhƣ: ―Cho biết số sinh viên và số đề tài tham gia thực hiện đề tài của 3 khoa Khoa Tự nhiên & Công nghệ, Khoa Nông lâm, Khoa Y dƣợc của 2 khóa 2006 và khóa 2007, con số cụ thể cho từng loại đề tài:…
Hình 3.15 Hiển thị dữ liệu của khối sinh viên nghiên cứu khoa học 3.3.1.2. Khối sinh viên
Khối sinh viên bao gồm các thành phần sau:
Bảng sự kiện: Fact.HoSoSV, Fact.DiemThi
Các bảng chiều: Dim.MonHoc, Dim.Nganh, Dim.Khoa, Dim.Time, Dim.KhoaHoc, Dim.DanToc
Các chiều dữ liệu: KhoaHoc, Khoi, Tinh, Huyen, Nganh, MonHoc, NamNhapHoc, NamRaTruong…
Các số đo (độ đo): DiemMon1, DiemMon2, DiemMon3, So sinh vien, TBC Ky1…
Các thành phần tính toán: Tong diem TS, So SV Tot nghiep, TBC 3 mon thi DH…
Hình 3.16 Khối sinh viên
Khối sinh viên có thể trả lời các câu hỏi dạng nhƣ: ―Khóa 2006 có bao nhiêu sinh viên tốt nghiệp ra trƣờng, bao nhiêu sinh viên chƣa tốt nghiệp, con số cụ thể theo xếp loại tốt nghiệp: Xuất sắc, Giỏi, Khá, TB Khá, Trung bình, v.v của từng ngành?‖
3.3.1.3. Độ đo
Độ đo là thuộc tính số lƣợng có thể gộp nhóm lại và thƣờng đƣợc chứa trong bảng Fact, có thể là chiều trong bảng khác. Độ đo chứa các thông tin sẽ đƣợc khai thác bởi ngƣời sử dụng tri thức. Việc khai thác độ đo có thể sử dụng các hàm gộp nhƣ: Count(), Sum(), Avg(), v.v[1].
Stt Tên độ đo Giải thích
1 SLDeTai Số lƣợng đề tài
2 SLSinhVien Số lƣợng sinh viên tham gia
3 DiemMon1 Điểm môn thi đại học 1
4 DiemMon2 Điểm môn thi đại học 2
5 DiemMon3 Điểm môn thi đại học 3
6 DiemUT Điểm ƣu tiên
7 TBCKy1 Trung bình cộng học kỳ 1 8 TBCKy2 Trung bình cộng học kỳ 2 9 TBCKy3 Trung bình cộng học kỳ 3 10 TBCKy4 Trung bình cộng học kỳ 4 11 TBCKy5 Trung bình cộng học kỳ 5 12 TBCKy6 Trung bình cộng học kỳ 6 13 TBCKy7 Trung bình cộng học kỳ 7 14 TBCKy8 Trung bình cộng học kỳ 8
16 Tong Tổng gồm cộng ƣu tiên 17 TBCToanKhoa Trung bình cộng toàn khóa
18 TongTrinh Tổng trình
19 NoTrinh Nợ trình
20 Sosinhviên Số sinh viên
21 SoSvNoTrinh Số sinh viên nợ trình(coi lại)
22 XepLoai Xếp loại
23 ConNoTrinh Số trình còn nợ
24 DiemLan1 Điểm lần 1
25 DiemLan2 Điểm lần 2
26 DiemCuoi Điểm cuối
27 FactDiemThi count Số ngƣời với từng điểm