thông tin, cũng như tra cứu và xuất bo co dữ liệu.2 Mục tiêu của đề tài:• Xây dựng một cơ sở dữ liệu có cấu trúc để lưu trữ thông tin về mônhọc, lớp học, sinh viên và điểm số của sinh
Trang 1TRƯỜNG ĐẠI HỌC GIAO THÔNG VẬN TẢI TP HỒ CHÍ MINH
KHOA CÔNG NGHỆ THÔNG TIN
Trang 2NHẬN XÉT CỦA GIẢNG VIÊN HƯỚNG DẪN
Trang 31) Mô tả đề tài: 2
2) Mục tiêu của đề tài: 2
3) Phạm vi của đề tài: 2
4) Công nghệ sử dụng: 2
II Thiết kế cơ sở dữ liệu 3
1.1 Mô hình cơ sở dữ liệu: 3
IV Xử lý giao diện người dùng 8
V Triển khai chức năng quản lý sinh viên 9
1.1 Xây dựng các form nhập liệu 9
1.2 Xử lý dữ liệu từ form và lưu vào cơ sở dữ liệu: 13
1.3 Tra cứu thông tin sinh viên: 19
VI Thiết kế giao diện tạo mẫu 24
VII Kết quả và thảo luận: 26
Trang 4thông tin, cũng như tra cứu và xuất bo co dữ liệu.2) Mục tiêu của đề tài:
• Xây dựng một cơ sở dữ liệu có cấu trúc để lưu trữ thông tin về mônhọc, lớp học, sinh viên và điểm số của sinh viên
• Thiết kế giao diện người dùng thân thiện, cho phép người dùng thao tcdễ dàng và hiệu quả
• Cung cấp cc chức năng quản lý, bao gồm thêm, sửa đổi, xóa thông tinsinh viên, môn học và lớp học
• Cho phép người dùng tra cứu thông tin sinh viên và xuất bo co danhsch sinh viên và điểm số
• Xuất bo co dưới dạng file PDF để dễ dàng chia sẻ và lưu trữ.3) Phạm vi của đề tài:
• Quản lý danh sch môn học với thông tin gồm mã môn học, tênmôn học và số tín chỉ
• Quản lý danh sch lớp học với thông tin gồm mã lớp, tên lớp và niênkhóa
• Quản lý danh sch sinh viên với thông tin gồm mã sinh viên, tên sinhviên, địa chỉ sinh viên và lớp học
• Ghi nhận và quản lý điểm số của sinh viên trong từng môn học.• Tra cứu thông tin sinh viên và xuất bo co danh sch sinh viên vàđiểm số
4) Công nghệ sử dụng:• Ngôn ngữ lập trình PHP để xây dựng logic xử lý dữ liệu và liên kếtcc thành phần trong hệ thống
3
Trang 5• Sử dụng HTML và CSS để thiết kế giao diện người dùng, tạo racc trang web và định dạng hiển thị.
• Sử dụng JavaScript để xử lý cc sự kiện tương tc với người dùngvà tăng cường tính năng của giao diện
• Sử dụng MySQL Workbench để thiết kế và quản lý cơ sở dữ liệu,bao gồm tạo bảng, quan hệ và ràng buộc toàn vẹn
II Thiết kế cơ sở dữ liệu.1.1 Mô hình cơ sở dữ liệu:• Trước khi triển khai hệ thống quản lý Sinh viên (QLSV), việc thiết kếmột mô hình cơ sở dữ liệu phù hợp là cần thiết Mô hình cơ sở dữ liệusẽ xc định cấu trúc và quan hệ giữa cc bảng dữ liệu, đảm bảo tínhnhất qun và hiệu quả trong việc lưu trữ thông tin
• Mô hình cơ sở dữ liệu cho QLSV bao gồm cc bảng chính: MONHOC(môn học), LOP (lớp học), SINHVIEN (sinh viên) và DIEMSV (điểmsinh viên) Cc bảng này được thiết kế sao cho phù hợp với quan hệ vàdữ liệu cần lưu trữ
1.2 Mô tả cc bảng dữ liệu:a) Bảng MONHOC:• Bảng MONHOC lưu trữ thông tin về cc môn học trong hệ thống.Bảng này bao gồm cc trường sau:
• MAMH: Mã môn học (primary key) để phân biệt với cc mônhọc khc
• TENMH: Tên môn học, mô tả ngắn gọn về môn học.• SOTC: Số tín chỉ của môn học, cho biết độ khó và thời lượng họccủa môn học
b) Bảng LOP:• Bảng LOP lưu trữ thông tin về cc lớp học trong hệ thống Bảng này
Trang 6bao gồm cc trường sau:• MALP: Mã lớp học (primary key) để phân biệt với cc lớp họckhc.
• TENLP: Tên lớp học, mô tả ngắn gọn về lớp học.4
• NK: Niên khóa của lớp học, xc định khoảng thời gian mà lớphọc hoạt động
c) Bảng SINHVIEN:• Bảng SINHVIEN lưu trữ thông tin về cc sinh viên trong hệ thống.Bảng này bao gồm cc trường sau:
• MASV: Mã sinh viên (primary key) để phân biệt với cc sinhviên khc
• TENSV: Tên sinh viên, thông tin về tên đầy đủ của sinh viên.• DCSV: Địa chỉ sinh viên, chi tiết về địa chỉ nơi sinh viên cư trú.• MALP: Mã lớp học (foreign key) để liên kết với bảng LOP, xcđịnh lớp học mà sinh viên đang theo học
d) Bảng DIEMSV:• MASV: Mã sinh viên (foreign key) để liên kết với bảngSINHVIEN, xc định sinh viên mà điểm số thuộc về.• MAMH: Mã môn học (foreign key) để liên kết với bảngMONHOC, xc định môn học mà điểm số thuộc về.• DIEM: Điểm số của sinh viên trong môn học tương ứng.1.3 Quan hệ giữa cc bảng:
Trang 7• Cc bảng trong mô hình cơ sở dữ liệu QLSV có quan hệ với nhauthông qua cc khóa chính và khóa ngoại Quan hệ giữa cc bảng đượcxc định như sau:
• Bảng MONHOC có quan hệ một-nhiều với bảng DIEMSVthôngqua khóa chính MAMH Mỗi môn học có thể có nhiều điểmsố trong bảng DIEMSV
• Bảng LOP có quan hệ một-nhiều với bảng SINHVIEN thông quakhóa chính MALP Mỗi lớp học có thể có nhiều sinh viên trongbảng SINHVIEN
• Bảng SINHVIEN có quan hệ một-nhiều với bảng DIEMSV thôngqua khóa chính MASV Mỗi sinh viên có thể có nhiều điểm sốtrong bảng DIEMSV
1.4 Ràng buộc toàn vẹn:5
• Trong mô hình cơ sở dữ liệu QLSV, cc ràng buộc toàn vẹn được pdụng để đảm bảo tính nhất qun và đúng đắn của dữ liệu Cc ràngbuộc toàn vẹn bao gồm:
+) Ràng buộc Primary Key: Mỗi bảng có một trường là khóa chính(primary key) để định danh duy nhất cho mỗi bản ghi trong bảng.• MAMH trong bảng MONHOC là khóa chính
• MALP trong bảng LOP là khóa chính.• MASV trong bảng SINHVIEN là khóa chính.+) Ràng buộc Foreign Key: Cc trường khóa ngoại (foreign key) trongbảng liên kết với trường khóa chính của bảng khc để xc định quan hệ giữacc bảng
Trang 8• MALP trong bảng SINHVIEN là khóa ngoại liên kết với MALPtrong bảng LOP.
• MASV trong bảng DIEMSV là khóa ngoại liên kết với MASV trongbảng SINHVIEN
• MAMH trong bảng DIEMSV là khóa ngoại liên kết với MAMHtrong bảng MONHOC
+) Ràng buộc Unique: Cc trường có ràng buộc unique đảm bảo gi trịcủa trường đó là duy nhất trong bảng
• MAMH trong bảng MONHOC là duy nhất.• MALP trong bảng LOP là duy nhất.• MASV trong bảng SINHVIEN là duy nhất.+) Ràng buộc Not Null: Cc trường có ràng buộc not null đảm bảo khôngđược để trống
• MAMH, TENMH, SOTC trong bảng MONHOC không được đểtrống
• MALP, TENLP, NK trong bảng LOP không được để trống.• MASV, TENSV, DCSV, MALP trong bảng SINHVIEN không đượcđể trống
• MASV, MAMH, DIEM trong bảng DIEMSV không được để trống.6
Cc ràng buộc toàn vẹn này giúp đảm bảo tính nhất qun và đúng➢
đắn của dữ liệu trong mô hình cơ sở dữ liệu QLSV, đồng thời giúpngười dùng thực hiện cc thao tc quản lý và truy vấn dữ liệu mộtcch hiệu quả
Trang 91.5 Lược đồ quan hệIII Môi trường pht triển1.1 Cài đặt Sql server 20192) Sau khi tải xuống, chạy tệp cài đặt và làm theo hướng dẫn trên mànhình để hoàn thành qu trình cài đặt.
Hiện nay, SQL Server được phổ biến kh rộng rãi trong học tập và công việc với những đối tượng đang tiếp cận và làm việc với cc môn cơ sở dữ liệu
và tạo bảng, thực hiện truy vấn, xem và chỉnh sửa dữ liệu, quản lýngười dùng và rất nhiều chức năng khc
3 yêu cầu hệ thốngĐể cài đặt Microsoft SQL Server hệ thống cần những yêu cầu sau:Os : Windows 7 (32 bit hoặc 64 bit) trở lên (mình không đề cập đến Linux trong bài hướng dẫn này)
CPU : Pentium IV trở lên.Ram : Ít nhất 1GB.Ổ đĩa trống: Ít nhất 10GB NET Framework: Phiên bản 3.5 SP1 IV Xử lý giao diện người dùng.Thiết kế giao diện với winform: winform kh đơn giản dễ dùng và có nhiều ưu điểm
– Tốc độ xử lý dữ liệu nhanh chóng– Đảm bảo an toàn, bảo mật thông tin– Có thể chạy trên cc phiên bản Windows khc nhau.– Thao tc trên nhiều giao diện
Trang 10Nhược điểm – Đồ họa trên winform không cao nên giao diện phần mềm sẽ thiếu tính trực quan, hơi khó thao tc, không thân thiện với người dùng.
Sử dụng ngôn ngữ lập trình C# để xử lí sự kiệnV Triển khai chức năng quản lý sinh viên.1.1 Xây dựng cc form nhập liệu.• Trong pht triển ứng dụng web, việc xây dựng cc form nhập liệu làmột phần quan trọng để thu thập thông tin từ người dùng Cc formnhập liệu cho phép người dùng nhập dữ liệu vào cc trường như họ tên,địa chỉ, email, số điện thoại và nhiều thông tin khc
xây dựng hàm kiểm tra dữ liệu kiểm tra xem người dùng có bỏ xót thông tin nào chưa nhập không
Trang 11Xử lý sự kiện thêm sinh viên
Xử lý sự kiện sửa thông tin sinh viên
Xử lý sự kiện xóa sinh viên1.2 Xử lý dữ liệu từ form và lưu vào cơ sở dữ liệuXây dựng theo mô hình 3 lớp
Trang 12Giới thiệu mô hình 3-layer ( 3 lớp)Mô hình 3-layer gồm có 3 phần chính:– Presentation Layer (GUI) : Lớp này có nhiệm vụ chính giao tiếp với người dùng Nó gồm cc thành phần giao diện ( win form, web form,…) và thực hiện cc công việc như nhập liệu, hiển thị dữ liêu, kiểm tra tính đúng đắn dữ liệu trước khi gọi lớp Business Logic Layer (BLL).
– Business Logic Layer (BLL) : Layer này phân ra 2 thành nhiệm vụ :Đây là nơi đp ứng cc yêu cầu thao tc dữ liệu của GUI layer, xử lý chính nguồn dữ liệu từ Presentation Layer trước khi truyền xuống Data Access Layer và lưu xuống hệ quản trị CSDL
Đây còn là nơi kiểm tra cc ràng buộc, tính toàn vẹn và hợp lệ dữ liệu, thực hiện tính ton và xử lý cc yêu cầu nghiệp vụ, trước khi trả kết quả về Presentation Layer
– Data Access Layer (DAL) : Lớp này có chức năng giao tiếp với hệ quản trị CSDL như thực hiện cc công việc liên quan đến lưu trữ và truy vấn dữ liệu ( tìm kiếm, thêm, xóa, sửa,…)
Ưu điểmViệc phân chia thành từng lớp giúp cho code được tường minh hơn Nhờ vào việc chia ra từng lớp đảm nhận cc chức năng khc nhau và riêng biệt như giao diện, xửlý, truy vấn thay vì để tất cả lại một chỗ Nhằm giảm sự kết dính
Dễ bảo trì khi được phân chia, thì một thành phần của hệ thống sẽ dễ thay đổi Việcthay đổi này có thể được cô lập trong 1 lớp, hoặc ảnh hưởng đến lớp gần nhất mà không ảnh hưởng đến cả chương trình
Trang 13Dễ pht triển, ti sử dụng: khi chúng ta muốn thêm một chức năng nào đó thì việc lập trình theo một mô hình sẽ dễ dàng hơn vì chúng ta đã có chuẩn để tuân theo Và việc sử dụng lại khi có sự thay đổi giữa hai môi trường ( Winform sang Webfrom ) thì chỉ việc thay đổi lại lớp GUI.
Dễ bàn giao Nếu mọi người đều theo một quy chuẩn đã được định sẵn, thì công việc bàn giao, tương tc với nhau sẽ dễ dàng hơn và tiết kiệm được nhiều thời gian.Dễ phân phối khối lượng công việc Mỗi một nhóm, một bộ phận sẽ nhận một nhiệm vụ trong mô hình 3 lớp Việc phân chia rõ ràng như thế sẽ giúp cc lập trình viên kiểm sot được khối lượng công việc của mình
1.3 lớp Data Access Layer (DAL):
Xây dựng phương thức lấy dữ liệu từ database sql server
Trang 14Xây dựng cc phương thức thêm sinh viên
Phương thức sửa sinh viên
Trang 15phương thức xóa sinh viên
Xây dựng hàm kết nối tới sever database
Trang 161.4 Business Logic Layer (BLL)
VI.Thiết kế giao diện tạo mẫu
Trang 17VII Kết quả và thảo luận:1) Kết quả
Trang 18Giao diện winform
Trang 19Cơ sở dữ liệu database
Database diagram2) Ưu điểm và Hạn chế:• Ưu điểm:
• Ứng dụng quản lý sinh viên có những khía cạnh, điểm mạnh và điểmyếu cần được thảo luận để đánh giá sự hiệu quả của nó Một trongnhững điểm mạnh của ứng dụng là khả năng quản lý thông tin về môn
Trang 20học, lớp học và sinh viên một cách hiệu quả giúp tiết kiệm thời gian vàcông sức.
31• Giao diện trực quan và dễ sử dụng cũng là một ưu điểm, cho phépngười dùng nhanh chóng làm quen và tương tác với ứng dụng.• Hạn chế
• Tuy nhiên, cũng có những điểm yếu cần được cải thiện Đầu tiên, ứngdụng chưa có tính năng bảo mật mạnh mẽ để bảo vệ dữ liệu Việc ápdụng các biện pháp bảo mật như xác thực người dùng, mã hóa dữ liệuvà kiểm soát truy cập sẽ giúp nâng cao tính bảo mật của ứng dụng Thứhai, hiệu suất của ứng dụng có thể gặp khó khăn khi quản lý lượng dữliệu lớn Cải thiện việc tối ưu hóa truy vấn cơ sở dữ liệu và xử lý dữliệu sẽ giúp tăng cường hiệu suất của ứng dụng.
VIII Lời kết• Ứng dụng đã xây dựng thành công cơ sở dữ liệu chứa thông tin về mônhọc, lớp học, sinh viên và điểm số Giao diện trực quan và dễ sử dụngcủa ứng dụng giúp người dùng thực hiện các thao tác quản lý một cáchthuận tiện Các form nhập liệu và báo cáo cho phép người dùng thêm,sửa đổi và xem thông tin chi tiết về sinh viên và điểm số.
• Em xin gửi lời cảm ơn chân thành đến Thầy Nguyễn Văn Diêu đã đồnghành và hỗ trợ suốt quá trình nghiên cứu và phát triển đề tài Sự chỉdẫn, kiến thức và kinh nghiệm của Thầy đã đóng góp quan trọng vàothành công của đề tài này.
IX Tài liệu tham khảo
https://www.w3schools.com/sql/default.asphttps://www.w3schools.com/cs/index.phphttps://www.w3schools.com/mysql/default.asphttps://www.youtube.com/watch?v=NNXNYZWdyrg&t=95s
https://v1study.com/csharp-trien-khai-ung-dung-web-aspnet.html