Cơ sở dữ liệu SQL Server C dùng để quản lý sinh viên, giáo viên, môn học, lớp học, điểm Trong thời đại công nghệ 4.0 hiện nay, hệ thống quản lý cán bộ giáo viên, sinh viên và điểm thi khoa CNTT tại các trường đại học và trung tâm đào tạo chuyên ngành liên quan đến lĩnh vực CNTT đã trở nên cực kỳ quan trọng và cần thiết để đáp ứng nhu cầu quản lý và sử dụng thông tin một cách nhanh chóng và hiệu quả. Với mục đích nghiên cứu và phát triển hệ thống quản lý cán bộ giáo viên, sinh viên và điểm thi khoa CNTT dựa trên hệ quản trị cơ sở dữ liệu, đề tài này giúp cải thiện tính hiệu quả và nâng cao chất lượng quản lý, đồng thời cung cấp cho người dùng những thông tin cần thiết và truy cập dễ dàng đến các dữ liệu quản lý trong hệ thống.
PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG
Lời giới thiệu
Trong thời đại công nghệ 4.0 hiện nay, hệ thống quản lý cán bộ giáo viên, sinh viên và điểm thi khoa CNTT tại các trường đại học và trung tâm đào tạo chuyên ngành liên quan đến lĩnh vực CNTT đã trở nên cực kỳ quan trọng và cần thiết để đáp ứng nhu cầu quản lý và sử dụng thông tin một cách nhanh chóng và hiệu quả.
Với mục đích nghiên cứu và phát triển hệ thống quản lý cán bộ giáo viên, sinh viên và điểm thi khoa CNTT dựa trên hệ quản trị cơ sở dữ liệu, đề tài này giúp cải thiện tính hiệu quả và nâng cao chất lượng quản lý, đồng thời cung cấp cho người dùng những thông tin cần thiết và truy cập dễ dàng đến các dữ liệu quản lý trong hệ thống.
Phân tích hệ thống quản lý
1.2.1 Thực trạng hiện nay của hệ thống quản lý cán bộ giáo viên, sinh viên, điểm thi khoa CNTT
Hiện nay, trong nhiều trường đại học, việc quản lý thông tin cán bộ giáo viên, sinh viên và điểm thi khoa CNTT vẫn được thực hiện bằng các công cụ và phương pháp truyền thống như sử dụng bảng tính Excel hoặc quản lý bằng hệ thống thủ công Tuy nhiên, các phương pháp này có những hạn chế như khó khăn trong việc đồng bộ và cập nhật thông tin, dễ xảy ra lỗi khi thao tác, không đáp ứng được nhu cầu quản lý và tìm kiếm thông tin đầy đủ và chính xác.
Ngoài ra, việc quản lý thông tin cán bộ giáo viên, sinh viên và điểm thi khoa CNTT không chỉ đơn thuần là một vấn đề nội bộ của trường đại học mà còn liên quan đến nhiều bên liên quan như bộ giáo dục, các đơn vị tuyển dụng và phụ huynh học sinh Do đó, cần phải xây dựng một hệ thống quản lý thông tin chuyên nghiệp, đáp ứng được nhu cầu của các bên liên quan và giúp quản lý thông tin chính xác và hiệu quả hơn.
Hệ thống quản lý chức lưu trữ, sắp xếp các thông tin về sinh viên, giáo viên, môn học, lớp học, điểm thi nghành Công nghệ thông tin được nhập từ quản trị viên.
Sinh viên sẽ tra cứu được kết học và danh sách các môn học đã đăng ký và giáo viên sẽ tìm kiếm thông tin về lớp học giáo viên đó đang giảng dạy Các thông tin này sẽ được lưu vào hệ thống, phục vụ cho tìm kiếm, thống kê, báo cáo, theo dõi,
1.2.3 Thiết kế mô hình cơ sở dữ liệu mức ý niệm
Mô hình liên kết – thực thể (ER) được dùng để xây dựng mô hình dữ liệu ở mức ý niệm
Mô hình ER được mô tả theo các thực thể có các thuộc tính và mối liên kết giữa các thực thể trong một môi trường Thực thể là những đối tượng chính mà ta thu thập thông tin xoay quanh chúng Thực thể thường chỉ người, một nơi chốn, một biến cố và một khái niệm nào đó Thuộc tính là đặc tính của thực thể Mối liên kết diễn tả sự kết hợp giữa một hay nhiều thực thể với nhau
Trong đề tài, thực thể là các đối tượng về Quản trị viên, Lớp học, Sinh viên, Giáo viên, Môn học, Điểm thi
Các thực thể trên và mối quan hệ giữa các thực thể: quản trị viên- sinh viên, quản trị viên- giáo viên, quản trị viên- lớp học, quản trị viên- môn học,sinh viên- lớp học, sinh viên- môn học, sinh viên- giáo viên, sinh viên- điểm thi, giáo viên- điểm thi,giáo viên – lớp học, giáo viên – môn học, môn học- lớp học, môn học – điểm thi, lớp học – điểm thi Sau đây là danh sách các thuộc tính của từng đối tượng:
- Thông tin về quản trị viên: tentaikhoan, matkhau
- Thông tin về điểm thi: diemlan2, malophoc, ngaytao, nguoitao, ngaycapnhat, nguoicapnhat, masinhvien, lanhoc, diemlan1, daketthuc
- Thông tin về lớp học: malophoc, ngaytao, nguoitao, ngaycapnhat, nguoicapnhat, magiaovien, mamonhoc, daketthuc
- Thông tin về môn học: ngaytao, nguoitao, ngaycapnhat, nguoicapnhat, masinhvien, ho, tendem, ten, ngaysinh, gioitinh, quequan, diachi, dienthoai, email,matkhau
- Thông tin về giáo viên: ngaytao, nguoitao, ngaycapnhat, nguoicapnhat, magiaovien, ho, tendem, ten, ngaysinh, gioitinh, diachi, dienthoai, email,matkhau
Mối quan hệ giữa các thực thể:
- Một quản trị viên có thể quản lý thông tin giáo viên, sinh viên, môn học, lớp học
- Một hoặc nhiều sinh viên có thể không học hoặc học nhiều giáo viên, môn học, lớp học
- Một hoặc nhiều sinh viên có thể không hoặc nhiều điểm thi
- Một hoặc nhiều giáo viên có thể không hoặc dạy nhiều lớp
- Một hoặc nhiều giáo viên có thể không hoặc dạy nhiều môn
- Một hoặc nhiều giáo viên có thể không hoặc nhiều điểm môn
- Một hoặc nhiều giáo viên có thể không hoặc nhiều điểm lớp
- Một hoặc nhiều giáo viên có thể không hoặc nhiều điểm sinh viên
Sau khi phân tích các mối quan hệ, ta có lược đồ ER thể hiện mối quan hệ giữa các thực thể:
Hình 2 - Mô hình cơ sở dữ liệu mức ý niệm
1.2.4 Thiết kế cơ sở dữ liệu
Thiết kế mô hình cơ sở dữ liệu luận lý
Mục đích của việc xây dựng một mô hình dữ liệu luận lý là tạo ra một dạng biểu diễn chính xác của dữ liệu, các mối liên kết giữa các dữ liệu và các ràng buộc. Sau khi phân tích và có mô hình ER, ta xây dựng mô hình dữ liệu quan hệ như sau:
Hình 3 - Mô hình quan hệ cơ sở dữ liệu
1.2.5 Phân loại câc thuộc tính vào một tập thực thể:
Tên bảng Tên cột Diễn giải Thuộc tính
Tên tài khoản nvarchar(50) nvarchar(250) tblDiemThi2 diemlan2 malophoc ngaytao Điểm lần 2
Mã lớp học Ngày tạo float bigint datetime nguoicapnhat masinhvien lanhoc diemlan1 daketthuc
Mã sinh viên Lần học Điểm lần 1 Đã kết thúc varchar (30) varchar (50) int float tinyint tblGiaoVien ngaytao nguoitao ngaycapnhat nguoicapnhat magiaovien ho tendem ten gioitinh ngaysinh dienthoai email diachi matkhau
Ngày tạo Người tạo Ngày cập nhật Người cập nhật
Tên đệm Tên Giới tính Ngày sinh Điện thoại Email Địa chỉ Mật khẩu datetime varchar(30) datetime varchar(30) int nvarchar(10) nvarchar(20) nvarchar(10) tinyint date varchar(30) nvarchar(150) nvarchar(150) nvarchar(50) tblLopHoc3 malophoc ngaytao nguoitao ngaycapnhat nguoicapnhat magiaovien mamonhoc daketthuc
Mã lớp học Ngày tạo Người tạo Ngày cập nhật Người cập nhật
Mã môn học Đã kết thúc bigint datetime varchar(30) datetime varchar (30) int int tinyint tblMonHoc ngaytao nguoitao ngaycapnhat nguoicapnhat mamonhoc tenmonhoc sotinchi
Ngày tạo Người tạo Ngày cập nhật Người cập nhật
Mã môn học Tên môn học
Số tín chỉ datetime varchar(30) datetime varchar(30) int nvarchar(50) int tblSinhVien ngaytao nguoitao ngaycapnhat
Ngày tạo Người tạo Ngày cập nhật datetime varchar(30) datetime nguoicapnhat masinhvien ho tendem ten ngaysinh gioitinh quequan diachi dienthoai email matkhau
Họ Tên đệm Tên Ngày sinh Giới tính Quê quán Địa chỉ Điện thoại Email Mật khẩu varchar(30) varchar(50) varchar(10) varchar(20) varchar(10) date tinyint varchar(150) varchar(150) varchar(30) varchar(150) varchar(50)
Bảng 1 - Kiểu dữ liệu thuộc tính của các thực thể.
ỨNG DỤNG LÝ THUYẾT
Xây dựng CSDL trên HQT CSDL
Câu lệnh tạo bảng, tạo khóa và cấu trúc của bảng
Thao tác trên CSDL trên HQT CSDL
Tạo và xoá tài khoản người dùng đăng nhập quyền sql server bằng công cụ
Tạo người sử dụng (user)
Hình 4 - Tạo tài khoản login
Hình 5 - Xóa tài khoản login
Tạo và xoá tài khoản người dùng đăng nhập quyền sql server bằng câu lệnh
Tọa user create user nhom5 for login nhom6
Hình: Insert vào bảng tblMonHoc
Store Procedure, Funtion, Trigger
2.3.1 Store Procedure Định nghĩa: Stored Procedure (SP) là một khối mã SQL có thể được lưu trữ trong cơ sở dữ liệu và được thực thi bởi cơ sở dữ liệu SP có thể được sử dụng để thực hiện các tác vụ phức tạp, thay vì phải thực hiện nhiều câu lệnh SQL riêng lẻ.
SP không tham số: SP không chứa bất kỳ tham số nào.
SP có tham số: SP chứa các tham số để thực thi tác vụ.
SP trả về giá trị: SP trả về giá trị sau khi thực hiện tác vụ.
SP tạm: SP được tạo để thực thi một tác vụ một lần. Ưu điểm của Store Procedure:
Tăng hiệu suất: SP thực thi nhanh hơn so với các câu lệnh SQL riêng lẻ.
Tái sử dụng: SP có thể tái sử dụng trong các ứng dụng khác nhau và trong các truy vấn khác.
Bảo mật: SP có thể được truy cập chỉ bởi người dùng được ủy quyền.
Khuyết điểm của Store Procedure:
Khó bảo trì: Các SP phức tạp có thể trở nên khó bảo trì và khó hiểu.
Khó khắc phục: Nếu có lỗi xảy ra trong SP, nó có thể gây ra khó khăn trong việc khắc phục.
Các loại function phổ biến trong CSDL:
Scalar function: trả về một giá trị duy nhất dựa trên tham số đầu vào.
Table-valued function: trả về một bảng dữ liệu.
Aggregate function: tính toán giá trị tổng hợp (sum, average, max, min, count) trên một tập hợp dữ liệu. Ưu điểm của function:
- Tính tái sử dụng cao.
- Giảm sự phụ thuộc vào các truy vấn phức tạp.
- Dễ bảo trì và cập nhật.
- Có thể ảnh hưởng đến hiệu suất nếu function được sử dụng trong các truy vấn
- Khó để tối ưu và sửa lỗi.
2.3.3 Trigger Định nghĩa: Trigger là một đối tượng của Cơ sở dữ liệu (CSDL) được sử dụng để thực hiện tự động một số tác vụ trong CSDL khi có sự kiện xảy ra, chẳng hạn như thêm, sửa hoặc xóa một hàng trong bảng.
trigger_name là tên của trigger, được đặt theo quy tắc đặt tên đối tượng của
BEFORE hoặc AFTER xác định thời điểm mà trigger được kích hoạt (trước hoặc sau khi xảy ra sự kiện).
INSERT, UPDATE hoặc DELETE xác định loại sự kiện mà trigger phải xử lý.
table_name là tên bảng mà trigger được áp dụng.
FOR EACH ROW xác định rằng trigger được áp dụng cho mỗi hàng bị ảnh hưởng.
Có hai loại trigger chính: trigger trước (before trigger) và trigger sau (after trigger).
Trigger trước (before trigger): được kích hoạt trước khi sự kiện được thực hiện, giúp kiểm tra và điều chỉnh dữ liệu trước khi được lưu vào bảng Trigger trước thường được sử dụng để kiểm tra ràng buộc và điều kiện dữ liệu trước khi chèn vào bảng.
Trigger sau (after trigger): được kích hoạt sau khi sự kiện được thực hiện, giúp thực hiện các tác vụ bổ sung sau khi dữ liệu được lưu vào bảng Trigger sau thường được sử dụng để cập nhật các bảng khác hoặc thực hiện các tác vụ phụ thuộc vào sự kiện vừa xảy ra. Ưu và khuyết điểm của từng loại Trigger:
Trigger trước: Ưu điểm: Giúp đảm bảo tính toàn vẹn của dữ liệu trước khi được lưu vào bảng.
Khuyết điểm: Có thể làm chậm quá trình chèn dữ liệu vào bảng.
Trigger sau: Ưu điểm: Có thể thực hiện các tác vụ phụ thuộc vào sự kiện xảy ra trong bảng.
Khuyết điểm: Không giúp đảm bảo tính toàn vẹn của dữ liệu trước khi được lưu vào bảng
XÁC ĐỊNH CHỨC NĂNG HỆ THỐNG
Các chức năng của hệ thống
3.1.1 Chức năng cho DÙNG CHUNG
STT Chức năng Mô tả hoạt động
DC1 Đăng nhập Đăng nhập vào hệ thống dựa vào loại tài khoản, tên đăng nhập mật khẩu được quy định bởi Admin
DC2 Đăng xuất Thoát khỏi hệ thống hoàn toàn
DC3 Trang chủ Giới thiệu thông tin hệ thống
3.1.2 Phân hệ QUẢN TRỊ VIÊN
STT Chức năng Mô tả hoạt động
QTV1 Quản lý sinh viên Xem danh sách thông tin sinh viên, tìm kiếm tên thông tin bất kỳ, xóa, sửa, cập nhật thông tin sinh viên
QTV2 Quản lý giáo viên Xem danh sách thông tin giáo viên, tìm kiếm tên thông tin bất kỳ, xóa, sửa, cập nhật thông tin giáo môn học, tìm kiếm thông tin môn học bất kỳ, xóa, sửa, cập nhật thông tin môn học
QTV4 Quản lý lớp học Xem danh sách thông tin lớp học, tìm kiếm thông tin lớp học bất kỳ, xóa, sửa, cập nhật thông tin lớp học
STT Chức năng Mô tả hoạt động
GV1 Xem thông tin các lớp học của giáo viên đó
Giáo viên có thể xem thông tin lớp học của mình đang giảng dạy
GV2 Tra cứu tên môn học của mình đang giảng dạy dựa vào danh sách quản lý lớp
Giáo viên có thể tìm kiếm tên môn học bất kì trên danh sách quản lý lớp
STT Chức năng Mô tả hoạt động
SV1 Xem thông tin lớp học của sinh viên đó đã đăng ký
Sinh viên có thể xem được danh sách lớp học mà mình đã đăng ký
SV2 Tra cứu tên môn học của sinh viên đã đăng ký dựa vào danh sách lớp học mà mình đã đăng ký
Sinh viên có thể tra cứu tên môn học dựa trên danh sách các lớp học đã đăng ký
SV3 Xem kết quả học tập của mình
Sinh viên có thể điểm của mình
SV4 Tra cứu tên môn học của sinh viên đã học để xem kết quả học tập
Sinh viên có thể tìm kiếm tên học đã học để xem điểm
Thiết kế giao diện chức năng
3.2.1 Chức năng QUẢN LÝ SINH VIÊN– QTV1
Hình 6 - Quản lý sinh viên
Hình 7 - Store Procedure Quản lý SV
Hình 9 - Store Procedure ThemMoiSV
Hình 8 - Thêm mới sinh viên
Hình 10 - Cập nhật thông tin sinh viên
Hình 12 - Xóa thông tin sinh viên
Hình 13 - Store Procedure DeleteSV
Hình 14 - Tìm kiếm thông tin sinh viên
3.2.2 Chức năng QUẢN LÝ GIÁO VIÊN– QTV2
Hình 16 - Quản lý giáo viên
Hình 17 - Store Procedure Quản Lý GV
Hình 18 - Thêm thông tin giáo viên
Hình 20 - Cập nhật thông tin giáo viên
Hình 21 - Store Procedure Update GV
Hình 22 - Xóa thông tin giáo viên
Hình 24 - Tìm kiếm thông tin giáo viên
Hình 25 - Store Procedure Select GV
3.2.3 Chức năng QUẢN LÝ MÔN HỌC– QTV3
Hình 26 - Quản lý môn học
Hình 28 - Thêm mới môn học
Hình 29 - Store Procedure Insert MonHoc
Hình 27 - Cập nhật môn học mới
Hình 29 - Xóa môn học
Hình 30 - Store Procedure Delete MonHoc
Hình 31 - Tìm kiếm môn học
3.2.4 Chức năng QUẢN LÝ LỚP HỌC– QTV4
Hình 33 - Quản lý lớp học
Hình 34 - Store Procedure Quản lý lớp học
Hình 35 - Thêm mới lớp học
Hình 36 - Store Procedure Insert LopHoc
Hình 37 - Cập nhật thông tin lớp học
Hình 38 - Store Procedure Update LopHoc
Hình 39 - Xóa thông tin lớp học
Hình 40 - Store Procedure Delete LopHoc
Hình 41 - Tìm kiếm lớp học
Hình 42 - Store Procedure Select LopHoc
3.2.5 Chức năng ĐĂNG NHẬP – DC1
Hình 44 - Store Procedure DangNhap
3.2.6 Chức năng ĐĂNG XUẤT – DC2
3.2.7 Chức năng TRANG CHỦ– DC3
3.2.8 Chức năng XEM THÔNG TIN CÁC LỚP HỌC CỦA GIÁO
Hình 48 - Store procedure liệt kê danh sách lớp học giáo viên đang giảng dạy
3.2.9 Chức năng TRA CỨU TÊN MÔN HỌC CỦA MÌNH ĐANG
GIẢNG DẠY DỰA VÀO DANH SÁCH QUẢN LÝ LỚP – GV2
Hình 49 - Kết quả tra cứu tên môn học
Hình 50 - Store procedure tra cứu lớp học theo tên môn học đang giảng dạy của giáo
3.2.10 Chức năng XEM THÔNG TIN CÁC LỚP HỌC CỦA
SINH VIÊN ĐÃ ĐĂNG KÝ – SV1
Hình 51 - Danh sách thông tin các lớp học sinh viên đã đăng ký
3.2.11 Chức năng TRA CỨU TÊN MÔN HỌC CỦA SINH VIÊN ĐÃ ĐĂNG
KÝ DỰA VÀO DANH SÁCH MÔN HỌC ĐÃ ĐĂNG KÝ – SV2
Hình 53 - Kết quả tra cứu tên môn học trong danh sách lớp học sinh viên đã đăng ký
Hình 54 - Store Produre tra cứu danh sách lớp học sinh viên đã đăng ký
3.2.12 Chức năng XEM KẾT QUẢ HỌC TẬP CỦA SINH VIÊN
Hình 55 - Danh sách kết quả học tập của sinh viên
Hình 56 - Store procedure danh sách thông tin tra cứu điểm
3.2.13 Chức năng TRA CỨU TÊN MÔN HỌC TRONG KẾT
QUẢ HỌC TẬP CỦA SINH VIÊN DỰA VÀO DANH SÁCH KẾT QUẢ HỌC TẬP – SV2
Hình 57 - Kết quả tra cứu tên môn học trong danh sách kết quả học tập
Hình 58 - Store Produce tra cứu tên môn học trong danh sách kết quả học tập