Để đáp ứng nhu cầu này, Hệ thống Kho Dữ Liệu Quản Lý Thí Sinh Trúng Tuyển Ngành CNTT của chúng em đã ra đời với mục tiêu cung cấp giải pháp hiệu quả và toàn diện trong việc quản lý thông
Trang 1TRƯỜNG ĐẠI HỌC KIẾN TRÚC HÀ NỘI Khoa Công Nghệ Thông Tin - -
BÀI TẬP LỚN MÔN KHO DỮ LIỆU VÀ KHAI PHÁ DỮ LIỆU
ĐỀ TÀI:
Phân tích kết quả trúng tuyển ngành công nghệ thông tin
của Trường Đại học Kiến Trúc 2020
Phạm Thị Thanh Mai
Hà Nội, tháng 12 năm 2023
1
Trang 2MỤC LỤC
LỜI MỞ ĐẦU 1
PHẦN 1: TỔNG QUAN VỀ KHO DỮ LIỆU 2
1.1 Định nghĩa kho dữ liệu 2
1.2 Đặc điểm chính của Data warehouse 2
1.3 Đối tượng sử dụng Data warehouse 3
1.4 Giới thiệu về kho dữ liệu quản lý thí sinh trúng tuyển ngành CNTT 3
PHẦN 2: THIẾT KẾ CSDL VÀ XÂY DỰNG HỆ THỐNG KHO DỮ LIỆU QUẢN LÝ THÍ SINH TRÚNG TUYỂN NGÀNH CNTT 5
1 Mô tả hệ thống kho dữ liệu quản lý thí sinh trúng tuyển ngành CNTT 5
1.1 Nội dung bài toán cần giải quyết 5
2 Thiết kế cơ sở dữ liệu 6
2.1 Xác định tập thực thể 6
2.2 Xác định các thuộc tính: 6
2.3 Mô hình thực thể quan hệ 7
3 Xây dụng kho dữ liệu 7
3.1 Chọn các chiều dữ liệu (Dimension) 7
2.3.2 Xác định bảng sự kiện (Fact) 9
2.3.3 Tích hợp dữ liệu và cài đặt kho dữ liệu 10
PHẦN 3: KHAI THÁC KHO DỮ LIỆU 16
TÀI LIỆU THAM KHẢO 20
Trang 3LỜI MỞ ĐẦU
Ngày nay, với sự bùng nổ của ngành công nghiệp công nghệ thông tin, việc lựa chọn ngành học và trường đại học phù hợp đang trở thành một quá trìnhquan trọng đối với các sinh viên Trong bối cảnh này, việc phân tích kết quả trúng tuyển vào ngành công nghệ thông tin tại các trường đại học không chỉ giúpsinh viên có cái nhìn toàn diện về tình hình đào tạo mà còn hỗ trợ nhà trường trong việc đưa ra những quyết định đúng đắn về chương trình đào tạo
Trong bối cảnh này, đề tài nghiên cứu của chúng em tập trung vào việc phân tích kết quả trúng tuyển vào ngành công nghệ thông tin của Trường Đại học Kiến Trúc Mục tiêu chính là hiểu rõ hơn về các yếu tố ảnh hưởng đến quá trình tuyển sinh, đồng thời đưa ra những nhận định sâu sắc về chất lượng đào tạo
và đáp ứng nhu cầu thị trường lao động
Hy vọng rằng kết quả của nghiên cứu này không chỉ mang lại thông tin hữu ích cho cộng đồng sinh viên và nhà trường mà còn đóng góp vào sự hiểu biết chung về đào tạo ngành công nghệ thông tin tại Việt Nam
1
Trang 4PHẦN 1: TỔNG QUAN VỀ KHO DỮ LIỆU.
1.1 Định nghĩa kho dữ liệu
Kho dữ liệu 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 Đây là một thành phần quan 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ệu doanh nghiệp
Khái niệm đượ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 Nhu cầu lưu trữ dữ liệu phát triển khi các hệ thống máy tính trở nên phức tạp hơn và phải xử lí lượng dữ liệu ngày càng tăng Một cuốn sách quan trọng về lưu trữ dữ liệu là “Xây dựng kho dữ liệu” của W.HInmon, được xuất bản lần đầu tiên vào năm 1990 và đã được tái bản nhiều lần kể
từ đó
1.2 Đặc điểm chính của Data warehouse
Hướng chủ đề (Subject-Oriented)
Data warehouse cung cấp thông tin phục vụ cho một chủ thể cụ thể thay
vì các hoạt động liên tục của toàn tổ chức Các chủ đề đó có thể là bán hàng, khuyến mãi, hàng tồn kho,… Ví dụ, nếu bạn muốn phân tích dữ liệu bán hàng của công ty, bạn cần xây dựng một kho dữ liệu tập trung vào việc bán hàng Mộtnhà kho như vậy sẽ cung cấp những thông tin có giá trị như “ai là khách hàng tốtnhất của bạn năm ngoái?” hoặc “ai có khả năng trở thành khách hàng tốt nhất của bạn trong năm tới?”
Được tích hợp (Integrated)
Data warehouse được phát triển bằng cách tích hợp dữ liệu từ nhiều nguồn khác nhau thành một định dạng nhất quán Dữ liệu phải được lưu trữ trong kho một cách nhất quán và được mọi người chấp nhận về cách đặt tên, định dạng và mã hóa Điều này tạo điều kiện cho việc phân tích dữ liệu hiệu quả
Bất biến (Non-volatile)
2
Trang 5Dữ liệu một khi được nhập vào kho dữ liệu phải không thay đổi Tất cả dữliệu ở chế độ chỉ đọc (read-only) Dữ liệu trước đó không bị xóa khi nhập dữ liệu hiện tại Điều này giúp bạn phân tích những gì đã xảy ra và khi nào Data warehouse tách biệt với cơ sở dữ liệu hoạt động, có nghĩa là bất kỳ thay đổi thường xuyên nào trong cơ sở dữ liệu hoạt động sẽ không được nhìn thấy trong kho dữ liệu.
Có gán nhãn thời gian (Time-Variant)
Dữ liệu được lưu trữ trong Data warehouse cung cấp thông tin từ một thờiđiểm lịch sử cụ thể; do đó, dữ liệu được phân loại với một khung thời gian cụ thể Ví dụ về Time-Variant trong Data warehouse được hiển thị trong Primary Key có yếu tố thời gian như ngày, tuần hoặc tháng
1.3 Đối tượng sử dụng Data warehouse
Việc sử dụng Data warehouse là cần thiết đối với:
- Nhân sự chịu trách nhiệm ra quyết định dựa vào khối lượng dữ liệu
- Người sử dụng các quy trình phức tạp, tùy chỉnh để thu thập thông tin từ nhiều nguồn khác nhau
- Người có nhu cầu sử dụng công nghệ đơn giản để truy cập dữ liệu
- Người muốn có một cách tiếp cận được hệ thống hóa để đưa ra quyết định
- Người muốn tăng hiệu suất với lượng dữ liệu khổng lồ cho các báo cáo, lưới hoặc biểu đồ
- Người muốn khám phá "các mẫu ẩn" của luồng dữ liệu và nhóm.1.4 Giới thiệu về kho dữ liệu quản lý thí sinh trúng tuyển
ngành CNTT
Trong thời đại số hóa ngày nay, việc quản lý thông tin tuyển sinh trở nên ngày càng quan trọng, đặc biệt là đối với các trường đại học có chuyên ngành Công Nghệ Thông Tin (CNTT) Để đáp ứng nhu cầu này, Hệ thống Kho Dữ Liệu Quản Lý Thí Sinh Trúng Tuyển Ngành CNTT của chúng em đã ra đời với mục tiêu cung cấp giải pháp hiệu quả và toàn diện trong việc quản lý thông tin
3
Trang 6tuyển sinh, giúp nhà trường và người quản lý ngành CNTT có cái nhìn chi tiết
và thông tin chính xác về đối tượng sinh viên
4
Trang 71.1 Nội dung bài toán cần giải quyết.
Trong thời đại hiện đại, quá trình quản lý thông tin tuyển sinh ngành Công Nghệ Thông Tin (CNTT) tại các trường đại học trở nên phức tạp và đòi hỏi sự linh hoạt, hiệu quả Bài toán phân tích kết quả trúng tuyển ngành CNTT tại Trường Đại học Kiến Trúc nổi lên như một thách thức cần giải quyết để cungcấp cái nhìn chi tiết và đầy đủ về quá trình tuyển sinh và chất lượng đào tạo trong ngành CNTT
Bài toán đặt ra nhiều thách thức đáng chú ý Trước hết, là việc đánh giá hiệu suất của ngành CNTT qua các kỳ tuyển sinh Điều này đòi hỏi phải xem xét
số lượng và chất lượng sinh viên trúng tuyển, từ đó đánh giá được mức độ hấp dẫn của ngành trong thị trường tuyển sinh đang ngày càng cạnh tranh
Một khía cạnh quan trọng khác của bài toán là khả năng dự báo xu hướng tuyển sinh cho ngành CNTT Việc này không chỉ giúp nhà trường chuẩn bị kế hoạch đào tạo một cách hiệu quả mà còn đảm bảo rằng quy hoạch tuyển sinh được điều chỉnh phù hợp với nhu cầu và xu hướng của thị trường lao động CNTT
Hệ thống kho dữ liệu không chỉ giúp quản lý thông tin một cách hiệu quả
mà còn mang lại nhiều lợi ích to lớn cho các bên liên quan Sinh viên sẽ có cơ hội tiếp cận thông tin chi tiết về ngành CNTT, từ điểm chuẩn đến xu hướng tuyển sinh, tạo điều kiện thuận lợi cho quá trình lựa chọn ngành học
Ngoài ra, người quản lý ngành CNTT sẽ có khả năng đưa ra quyết định chiến lược thông minh dựa trên những phân tích sâu sắc từ kho dữ liệu Điều
5
Trang 8này không chỉ giúp tối ưu hóa quy trình tuyển sinh mà còn hỗ trợ trong việc pháttriển ngành theo hướng có chiến lược và bền vững.
Bài toán phân tích kết quả trúng tuyển ngành CNTT không chỉ là một thách thức mà còn là cơ hội để tối ưu hóa quy trình quản lý tuyển sinh và đưa ra những quyết định chiến lược Qua đó, hệ thống kho dữ liệu không chỉ là công cụ
hỗ trợ mà còn là nguồn thông tin quan trọng, giúp nâng cao chất lượng đào tạo
và sức hấp dẫn của ngành CNTT tại Trường Đại học Kiến Trúc
2 Thiết kế cơ sở dữ liệu
2.1 Xác định tập thực thể
- Dim_ThiSinh: Lưu trữ thông tin thí sinh
- Dim_DiemKhuVuc: Lưu trứ điểm khu vực
- Dim_ToHopMon: Lưu trữ điểm tổ hợp môn
- TenQuanHuyen: tên quận, huyện
- DiemUuTien: Diểm ưu tiên khu vực
Dim_ToHopMon:
- ID_ToHopMon (PK): số thứ tự tổ hợp môn của sinh viên
6
Trang 9- MaToHopMon: Mã tổ hợp môn
- DiemMon1: Điểm môn 1
- DiemMon2: Diểm môn 2
- DiemMon3: Điểm môn 3
Fact_TrungTuyen:
- ID_TrungTuyen (PK): Số thứ tự trúng tuyển
- ID_HoSo (FK): mã hồ sơ sinh viên
- SoBaoDanh (FK): số báo danh
- ID_ToHopMon (FK): số thứ tự tổ hợp môn của sinh viên
- DiemLech: số điểm lệch của trước và sau khi cộng điểm ưu tiên
- DiemTongChuaCoUT: điểm khi chưa cộng điểm ưu tiên khu vực
- DiemTongCoUT: điểm khi đã cộng điểm ưu tiên khu vực
- DiemTrungTuyen: điểm trúng tuyển
2.3 Mô hình thực thể quan hệ
Hình 2.1: Mô hình thực thể quan hệ
7
Trang 103 Xây dụng kho dữ liệu.
3.1 Chọn các chiều dữ liệu (Dimension)
Các Dimension tham gia xây dựng kho dữ liệu trong bài toán này gồm các bảng:Dim_ThiSinh, Dim_DiemKhuVuc, Dim_ToHopMon Từ đó ta tiến hành xây dựng kho dữ liệu như sau:
Trang 11- ID_ToHopMon: Khóa ngoại liên kết với bảng chiều Dim_ToHopMon, chỉ
ra tổ hợp môn được sử dụng trong quá trình trung tuyển
- DiemLech: Ghi lại sự chênh lệch điểm giữa các thông tin về điểm thí sinh
và các điểm đặc biệt (nếu có)
- DiemTongChuaCoUT: Tổng điểm của thí sinh trước khi áp dụng các ưu tiên
- DiemTongCoUT: Tổng điểm của thí sinh sau khi áp dụng các ưu tiên
- DiemTrungTuyen: Điểm cuối cùng được sử dụng để quyết định việc trungtuyển của thí sinh
9
Trang 12Với cấu trúc này, Bảng Fact_TrungTuyen cung cấp một tập hợp các số liệu chi tiết và toàn diện, làm nền tảng cho việc phân tích và đánh giá hiệu suất trongquá trình quản lý sinh viên trúng tuyển.
2.3.3 Tích hợp dữ liệu và cài đặt kho dữ liệu
a) Tích hợp dữ liệu vào kho dữ liệu
Hình 2.2: Quy trình tích hợp dữ liệu vào kho dữ liệu
Quá trình ETL (Extract, Transform, Load) là một phương pháp chuyển đổi dữ liệu từ hệ thống nguồn sang hệ thống đích trong các vòng lặp thường xuyên Quy trình ETL bao gồm ba giai đoạn quan trọng:
- Trích xuất dữ liệu có liên quan từ cơ sở dữ liệu nguồn
- Chuyển đổi dữ liệu để phù hợp hơn cho việc phân tích
- Tải dữ liệu vào cơ sở dữ liệu đích
Extract - Giai đoạn trích xuất
Giai đoạn đầu tiên của quá trình ETL được gọi là Extract - Trích xuất Đây làbước quan trọng nhất trong quy trình, liên quan trực tiếp đến việc lấy dữ liệu từ nhiều nguồn khác nhau Doanh nghiệp ngày nay thường phải quản lý dữ liệu từ nhiều nguồn đa dạng và sử dụng nhiều công cụ phân tích để tối ưu hóa quản trị
10
Trang 13Trong bước đầu này, dữ liệu có thể tồn tại ở nhiều dạng, từ dữ liệu không có cấu trúc đến dữ liệu có cấu trúc, và chúng cần được thu thập và hợp nhất vào một kho lưu trữ duy nhất Dữ liệu thô có thể xuất phát từ nhiều nguồn đa dạng.
Transform - Giai đoạn chuyển đổi
Giai đoạn thứ hai của quá trình ETL được gọi là Transform - Biến đổi Trongquá trình biến đổi dữ liệu, ETL thực hiện việc chuyển đổi và tổng hợp dữ liệu thô trong khu vực lưu trữ tạm thời để sẵn sàng cho việc nhập dữ liệu vào kho lưu trữ chính Các bước biến đổi dữ liệu này có thể liên quan đến nhiều loại chuyển đổi dữ liệu khác nhau, bao gồm:
- Làm sạch dữ liệu
Đây là quá trình loại bỏ lỗi và ánh xạ dữ liệu nguồn sang định dạng dữ liệu đích
Ví dụ, chuyển đổi các trường dữ liệu trống thành số 0, ánh xạ giá trị "Parent" thành "P", hoặc ánh xạ "Child" thành "C"
- Chống trùng lặp dữ liệu
Đây là quá trình xác định và loại bỏ các bản ghi trùng lặp trong dữ liệu
- Sửa đổi định dạng dữ liệu
Quá trình này chuyển đổi các đơn vị đo lường, đơn vị thời gian và định dạng dữliệu khác nhau thành một định dạng thống nhất
- Chuyển đổi dữ liệu nâng cao
Quá trình này sử dụng các quy tắc kinh doanh để tối ưu hóa dữ liệu để phân tích
dễ dàng hơn Ví dụ, áp dụng các quy tắc để tính toán các giá trị mới dựa trên giá trị hiện có
- Dẫn xuất
Đây là việc áp dụng quy tắc kinh doanh vào dữ liệu để tính toán các giá trị mới dựa trên giá trị hiện có Ví dụ, chuyển đổi doanh thu thành lợi nhuận bằng cách trừ đi chi phí hoặc tính tổng chi phí mua hàng
- Gộp ghép
11
Trang 14Trong quá trình chuẩn bị dữ liệu, gộp ghép liên kết các dữ liệu giống nhau từ các nguồn dữ liệu khác nhau Ví dụ, tính tổng chi phí mua hàng từ các nhà cung cấp khác nhau và giữ lại tổng cuối trong hệ thống đích.
- Chia tách
Chuyển đổi một cột hoặc thuộc tính dữ liệu thành nhiều cột trong hệ thống đích
Ví dụ, chia tách tên khách hàng thành các cột họ, tên đệm và tên riêng
- Tổng hợp
Tổng hợp cải thiện chất lượng dữ liệu bằng cách giảm số lượng giá trị dữ liệu thành một tập dữ liệu nhỏ hơn Ví dụ, tóm tắt giá trị hóa đơn của đơn đặt hàng khách hàng trong một khoảng thời gian nhất định để xây dựng chỉ số giá trị lâu dài của khách hàng (CLV)
- Mã hóa
Bảo vệ dữ liệu nhạy cảm bằng cách thêm mã hóa trước khi luồng dữ liệu được truyền đến cơ sở dữ liệu đích để đảm bảo tuân thủ luật dữ liệu hoặc quyền riêng
tư của dữ liệu
Load - Giai đoạn tải
Giai đoạn cuối của quá trình ETL được gọi là Load - Tải
Trong quá trình tải dữ liệu, các công cụ ETL (Extract, Transform, Load) di chuyển dữ liệu đã biến đổi từ khu vực lưu trữ tạm thời sang kho dữ liệu đích Đối với hầu hết các tổ chức sử dụng ETL, quy trình này được tự động hóa, đượcxác định rõ ràng, diễn ra liên tục và theo lịch trình định sẵn Dưới đây là hai phương pháp chính để thực hiện quá trình tải dữ liệu:
- Tải hoàn toàn
Ở chế độ này, toàn bộ dữ liệu từ nguồn được chuyển đổi và tải vào kho dữ liệu Quá trình tải hoàn toàn thường diễn ra trong lần đầu tiên bạn chuyển dữ liệu từ hệ thống nguồn vào kho dữ liệu
12
Trang 15- Tải tăng dần
Trong quá trình tải tăng dần, công cụ ETL tải delta (hoặc sự thay đổi) giữa hệthống đích và nguồn theo khoảng thời gian đều đặn Công cụ này duy trì thông tin về ngày trích xuất cuối cùng để đảm bảo rằng chỉ có các bản ghi thay đổi sau ngày này mới được tải Có hai cách để thực hiện tải tăng dần:
- Tải tăng dần theo luồng
Đối với khối lượng dữ liệu nhỏ, bạn có thể truyền các thay đổi liên tục qua đường ống dữ liệu đến kho dữ liệu đích Khi tốc độ dữ liệu tăng lên hàng triệu
sự kiện mỗi giây, bạn có thể sử dụng xử lý luồng sự kiện để theo dõi và xử lý dữliệu trực tiếp để đưa ra quyết định kịp thời hơn
- Tải gia tăng theo hàng loạt
Nếu bạn có khối lượng dữ liệu lớn, bạn có thể thu thập các thay đổi dữ liệu
và tải chúng thành từng lô theo định kỳ Trong khoảng thời gian định kỳ này, không có thay đổi nào được phép xảy ra trên hệ thống nguồn hoặc hệ thống đích
để đảm bảo tính nhất quán trong quá trình đồng bộ hóa dữ liệu
b) Cài đặt kho dữ liệu
Thông qua các quy trình phân tích như đã nói ở trên, để tiến hành cài đặt kho dữ liệu, ta sẽ sử dụng kỹ thuật OLAP (Online Analytical Proccessing) để tạo lập một cơ sở dữ liệu trong SQL Server
13
Trang 16Hình 2.3: Lược đồ hình sao của kho dữ liệu.
Fact Table
Hình 2.4: Bảng Fact
Khoá chính: ID_Trungtuyen
14
Trang 17Các thuộc tính đo: DiemLech, DiemTongChuaCoUT, DiemTongCoUT, DiemTrungTuyen.
Dimensiom Table
Dim_ThiSinh
Hình 2.5: Bảng Dim_ThiSinh Khoá chính: SoBaoDanh
Các thuộc tính khác: HoTen, NgaySinh, GioiTinh, CMND
Dim_DiemKhuVuc
Hình 2.6: BảngDim_DiemKhuVuc
Khoá chính: ID_HoSo
15
Trang 18Các thuộc tính khác: ID_Tinh, ID_QuanHuyen, TenTinh, TenQuanHuyen, DiemUuTien
Dim_ToHopMon
Hình 2.7: BảngDim_ToHopMon
Khoá chính: ID_ToHopMon
Các thuộc tính khác: MaToHopMon, DiemMon1, DiemMon2, DiemMon3
PHẦN 3: KHAI THÁC KHO DỮ LIỆU.
Để phục vụ nhu cầu phân tích dữ liệu, chúng ta có thể thực hiện việc tạo
ra các phân đoạn dữ liệu theo nhiều chiều khác nhau, nhằm tạo ra báo cáo tổng hợp thông tin cần thiết cho việc phân tích dữ liệu trong hệ thống lưu trữ của tổ chức giáo dục
16