Trích chọn dữ liệu (Extract)

Một phần của tài liệu Tài liệu về kho dữ liệu (Trang 67)

Trích chọn dữ liệu là một phép xử lý đ ể l ấ y các dữ liệu đã đƣợc xác định trƣớc ra khỏi các hệ thống tác nghiệp và các nguồn dữ liệu bên ngoài. Các dữ liệu thƣờng di chuyển từ các hệ thống OLPT tới kho dữ liệu. Khi trích chọn dữ liệu có thể gặp phải một số vấn đề nhƣ:

 Không có đủ thông tin chi tiết về hệ thống

 Hoặc ngƣời sử dụng đầu cuối yêu cầu thông tin ở mức thấp hơn mức thông tin của hệ thống lƣu trữ.

Nguồn Trích chọn Lọc Thẩm định Trộn Kết hợp Tải dữ liệu Lƣu trữ Đích

Một nhiệm vụ quan trọng của bƣớc này là phải lập ra kế hoạch và tần suất tiến trình trích chọn dữ liệu, tối thiểu hóa các tác động lên các hệ thống và thi hành các tác vụ này trong một cửa sổ xử lý theo lô (batch window). Đối với các bảng dữ liệu khác nhau thì tần suất trích dữ liệu sẽ khác nhau. Việc trích dữ liệu còn phụ thuộc vào sự ảnh hƣởng từ hệ thống nguồn và loại dữ liệu sẽ đƣợc trích.

Với kho dữ liệu chủ đề Đào tạo sinh viên chính quy, dữ liệu về sinh viên đƣợc phát sinh theo từng học kỳ, từng năm nên có thể trích dữ liệu theo từng kỳ hoặc từng năm. Các dữ liệu trích chọn đầu tiên đƣợc chuyển tải vào kho dữ liệu tạm thời, trong khuôn khổ luận văn này quá trình tích hợp dữ liệu đƣợc thực hiện nhờ công cụ tích hợp dữ liệu Integration Services của SQL Server 2005.

3.1.2. Lọc, làm sạch dữ liệu

Sau khi dữ liệu đƣợc trích chọn, nó đ ƣợc tinh chế thông qua các công việc lọc, làm sạch để thu dữ liệu không bị thay đổi và đúng với các dữ liệu nghiệp vụ.

Qúa trình lọc, làm sạch dữ liệu kiểm tra và sửa chữa các lỗi có thể có của dữ liệu để đảm bảo tính đúng đắn của dữ liệu. Công việc này bao gồm các thao tác sau:

 Kiểm tra các trƣờng dữ liệu đơn lẻ hoặc các trƣờng có liên kết chéo.

 Đƣa ra và hợp nhất các bản ghi trùng nhau.

 Thu nhặt, sắp xếp các bản ghi giống nhau mà bị thiếu các khóa từ các hệ thống khác nhau.

Quá trình làm sạch cần đƣợc lặp đi lặp lại các bƣớc sửa lỗi cho hệ thống thi hành hoặc thực hiện quá trình làm sạch khác với một số dữ liệu

vừa đƣợc làm sạch.

3.1.3. Thẩm định và chuyển đổi dữ liệu

Mục đích của bƣớc này là chuyển dữ liệu thành thông tin và làm cho chúng dễ hiểu và dễ sử dụng hơn đối với ngƣời sử dụng. Việc chuyển đổi có thể bao gồm các bƣớc sau:

 Chuyển trực tiếp dữ liệu từ trƣờng này sang trƣờng khác.

 Xây dựng lại và định dạng lại các trƣờng dữ liệu, có thể là chỉ chuyển một phần hoặc phải gộp cả các trƣờng lại với nhau để tạo một trƣờng mới.

Hình 3.2 Thu thập và chuyển đổi dữ liệu

3.1.4. Tích hợp dữ liệu

Khi có nhiều nguồn dữ liệu thì chúng cần thiết phải đƣợ c tích hợp lại để hợp nhất và tổ chức lại dữ liệu cho phù hợp với kiến trúc và nhu cầu sử dụng.

Tích hợp thông tin từ nhiều nguồn dữ liệu hay từ hệ thống này sang hệ thống khác bao gồm:

nhiều nguồn dữ liệu. Khi đó dữ liệu phải đƣợc sắp xếp lại và loại bỏ đi các bản ghi giống nhau. Sau giai đoạn sắp xếp thì dữ liệu mới đƣợc hợp nhất thành một file dữ liệu duy nhất.

 Chia cắt dữ liệu nếu nhƣ từ một dữ liệu nguồn cần tạo ra nhiều dữ liệu đích.

 Đƣa ra và giải quyết các vi phạm về tính nguyên vẹn của dữ liệu. Một giải pháp là lƣu trữ dữ liệu nhƣ là dữ liệu giả.

 Tạo ra các khóa tổng hợp có khả năng tách biệt và bảo vệ khỏi các thay đổi trong hệ thống nguồn.

DW phải đƣợc xây dựng để khỏi bị tác động của các thay đổi và sửa đổi, đặc biệt là dữ liệu khóa.

3.1.5.Nạp, tải dữ liệu vào kho

Sau khi rút trích, làm sạch và chuyển đổi, dữ liệu phải đƣợc nạp vào trong kho dữ liệu. Quá trình này có thể cần phải có một tiến trình tiền xử lý: kiểm tra các ràng buộc toàn vẹn, xây dựng chỉ mục và các đƣờng dẫn truy cập khác, .v.v

3.2. Tích hợp dữ liệu

3.2.1.Quy trình tích hợp dữ liệu

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

3.3.2. Một số kết quả khai thác kho dữ liệu

3.3.2.1. Các báo cáo OLAP

Quy trình tạo báo cáo

Quy trình đƣa ra các báo cáo giúp cho ngƣời khai thác tri thức có đƣợc các thông tin cần thiết đƣợc lƣu trữ dƣới dạng các tài liệu: Word, Excel, PDF, XML,…

Sau khi biên dịch Cubes, cần xây dựng các Ad-Hoc Query dựa vào các Cubes và các bảng trong Kho dữ liệu. Để xây dựng các Ad-Hoc Query cần theo các bƣớc sau:

nhiều Cubes, bảng, lựa chọn theo các chiều, tạo dữ liệu tổng hợp giúp cho ngƣời khai thác tri thức có đƣợc các thông tin tổng quát hơn.

 Thiết kế dữ liệu, khung hiển thị kết quả dữ liệu: thiết kế các sơ đồ, khung dữ liệu thống kê. Có rất nhiều loại sơ đồ giúp hiển thị kết quả một cách trực quan. Ngoài ra có thể sử dụng nhiều hàm toán học để đƣa ra các báo cáo theo yêu cầu.

Sau khi đã xây dựng các Ad-Hoc Query thì có thể lựa chọn nhiều loại báo cáo theo yêu cầu của ngƣời khai thác tri thức.

Một số báo cáo

Với kho dữ liệu đã xây dựng đƣợc, chúng tôi sử dụng công cụ trợ giúp cho việc tạo báo cáo là Report Services của SQL Server 2005. Dƣới đây là một số kết quả tạo báo cáo:

Báo cáo 1: Kết quả báo cáo số lƣợng đề tài khoa học và lƣợng sinh viên tham gia theo một số khoa của 2 khóa 2006 và khóa 2007 ở trƣờng Đại học Tây Nguyên.

Thiết kế dữ liệu

Kết quả báo cáo số lƣợng đề tài khoa học và lƣợng sinh viên tham gia theo một số khoa của 2 khóa 2006 và khóa 2007 ở trƣờng Đại học Tây Nguyên.

Báo cáo 2: Thống kê số đề tài và số sinh viên tham gia thực hiện đề tài của 2 khóa 2006 và khóa 2007 qua một số năm

Thiết kế dữ liệu

Kết quả báo cáo

Báo cáo 3: Thống kê số lƣợng đề tài và số sinh viên tham gia thực hiện đề tài qua một số năm.

Kết quả báo cáo dạng 1

Báo cáo 4: Thống kê số sinh viên là ngƣời dân tộc Ê đê thi đỗ vào Đại học

Một phần của tài liệu Tài liệu về kho dữ liệu (Trang 67)

Tải bản đầy đủ (PDF)

(107 trang)