Trong quá trình học tập nhà trường sẽ quản lý các kết quả học tập của từng sinh viên, việc quản lý điểm của sinh viên sẽ do các nhân viên thuộc phòng đào tạo trực tiếp tiếp nhận từ giáo
Trang 1Đồ án môn học: Cơ sở dữ liệu
Đề tài: Quản lý Sinh Viên
Lớp: 63IT3 Nhóm: 17 Giáo viên hướng dẫn:
Thầy: Nguyễn Đình Anh Các thành viên:
Trang 2I Mục đích, yêu cầu đề bài:
- Quản lý sinh viên trong các trường đại học nội dung chính là quản lý quá trình học tập Trong đó có tất cả hồ sơ của sinh viên và điểm trong quá trình học tập tại trường đều được lưu trong chương trình “ Quản lý sinh viên”
- Xây dựng quá trình quản lý sinh viên nhằm hỗ trợ cho công tác quản lý thông tin
cá nhân họ tên, ngày sinh, điểm, Bài toán đặt ra là xây dựng chương trình quản
lý để công việc có hiệu quả, chính xác, tiết kiệm được nhiều thời gian
II Mô tả bài toán:
- Mỗi năm, khi nhà trường tiếp nhận sinh viên thuộc khóa mới đến trường để nhập học, nhà trường sẽ nhận và lưu trữ thông tin sinh viên cùng với danh sách sinh viên thuộc khóa đó Thông tin của sinh viên sẽ được nhân viên thuộc phòng đào tạo nhập và lưu trữ trong hệ thống Trong quá trình học tập nhà trường sẽ quản lý các kết quả học tập của từng sinh viên, việc quản lý điểm của sinh viên sẽ do các nhân viên thuộc phòng đào tạo trực tiếp tiếp nhận từ giáo viên phụ trách môn học và thực hiện việc lưu trữ điểm vào hệ thống
- Mỗi sinh viên có 1 mã số duy nhất, và bao gồm các thông tin như mã sv, họ tên sv, ngày sinh, quê quán có thể thêm ,sửa, xóa, lưu, tìm kiếm hoặc thay đổi thông tin
- Mỗi môn học có các thông tin để quản lý như mã môn học, tên môn học, số tín chỉ, tính chất môn học (có phải môn bắt buộc hay tự chọn, có phải tiên quyếtkhông) Hai môn học không được trùng mã Có thể thêm, xóa, sửa hoặc tìm kiếm môn học
- Mỗi sinh viên có thể học nhiều môn học trong 1 kì, mỗi môn học lưu các điểm quá trình và điểm thi của sinh viên để tính điểm tổng kết bằng công thức:
Trang 3ĐTB = ĐQT*0.3 + ĐKT*0.7
- Điểm của mỗi sinh viên được lưu như sau:
Dưới 4.0 là F (có nghĩa là sinh viên không qua môn buộc phải tham gia học hoặc thi lại theo phương thức bảo lưu điểm quá trình (tương đương 0 điểm hệ 4)),
Hệ thống sẽ thực hiện việc quy điểm một cách tự động
Hệ thống điểm này cũng dùng để thống kê, đánh giá, báo cáo về điểm thi sinh viên và môn học qua các kì
III Khảo sát hệ thống :
1, Quản lý hồ sơ sinh viên:
- Quản lý hồ sơ sinh viên là là việc cần làm đầu tiên khi một sinh viên mới nhập trường Đây là cơ sở để thực hiện quản lý về sau đối với sinh viên
- Về cơ bản các thông tin cá nhân bao gồm ( họ tên, ngày sinh, quên quán,….) sẽ được lưu trữ quản lý
2, Quản lý lớp học
- Lớp là đơn vị cơ bản để quản lý sinh viên trong trường đại học, tuỳ theo từng trường mà số sinh viên theo các ngành khác nhau Một lớp học thường bao gồm các thông tin ( mã lớp, tên lớp,….)
Trang 43, Quản lý môn học:
-Tuỳ theo mỗi ngành mà số lượng các môn học cũng như nội dung của từng môn
sẽ khác nhau Với mô hình đào tạo theo tín chỉ thì số tín chỉ sẽ liên quan trực tiếp đến môn học để sinh viên tốt nghiệp Do đó quản lý môn học là cần thiết Các thông tin cơ bản gồm ( mã môn học, tên môn, số tín chỉ, )
4, Quản lý điểm sinh viên:
- Điểm số và vấn đề yêu cầu độ chính xác cao, không thể nhầm lẫn Thực tế có rất nhiều điểm với cách tính và hệ số khác nhau Vì vậy việc quản lý hết sức khó khăn đặc biệt là khâu tính điểm Các đầu điểm bao gồm: điểm quá trình, điểm thi,…)
5, Các hình thức tìm kiếm thông tin sinh viên:
- Việc tìm kiếm một hoặc một nhóm sinh viên nào đó sẽ mất nhiều thời gian với các cách lưu trữ trên giấy tờ truyền thống Các thông tin tìm kiếm theo nhu cầu quản lý rất đa dạng như tìm sinh viên khi biết một vài thông tin cá nhân, tìm kiếm sinh viên theo lớp,…
IV Mô tả các loại người dùng:
- Người dùng được chia làm hai loại đối tượng chính: Quản lý hệ thống và người truy cập hệ thống để xem thông tin
+ Quản lý sinh viên: hệ thống sẽ nhập danh sách sinh viên có sẵn tại phòng đào tạo, thêm, sửa thông tin sinh viên và xoá sinh viên trong trường hợp sinh viên bị thôi học hoặc nguyên nhân nào đó
+ Quản lý môn học – thêm môn học: Thêm môn học cho sinh viên sau khi có được danh sách các môn học trong kỳ của sinh viên Trong trường hợp có sinh viênhọc lại hoặc học thêm môn học khác, bộ môn phải thêm vào và hệ thống quản lý chỉ thêm môn học cho sinh viên để quản lý điểm môn đó Nếu môn học thêm bị nhầm cho sinh, hệ thống có thể xoá đi
+ Theo dõi xử lý điểm: Quá trình này là cốt lõi của hệ thống, nó bao gồm nhiều chức năng con
i, Nhập điểm: Hệ thống sẽ nhập điểm quá trình từ giáo viên bộ môn và nhập điểm vào hệ thống, Lần 2 sẽ nhập điểm thi của sinh viên trong học kì Sau đó tổng điểm của 2 lần và đưa ra kết quả cuối cùng
Trang 5ii, Sửa điểm: sau khi báo điểm cho sinh viên nếu có sai sót có thể sửa lại.
+ Người truy cập hệ thống là những người cần lấy thông tin cần thiết từ hệ thống
và đối tượng này khi truy cập vào hệ thống để xem thông tin thì cần có tài khoản Dối tượng này chỉ có quyền truy cập xem thông tin chứ không thể cập nhật, sửa đổithông tin hệ thống
V Thiết kế cơ sở dữ liệu
VI Thiết kế giao diện
a Giao diện đăng nhập
b Giao diện trang chủ
c Giao diện quản lý Sinh Viên
d Giao điện quản lý Điểm
e Giao diện quản lý Khoa
f Giao diện quản lý Môn học
g .
Trang 6VII Mô hình thực thể liên kết:
Trang 7+) ChuongTrinh(MaCT, TenCT, TongTCHP, MaKH)
+) Khoa(MaKH, TenKH)
+) KhoaHoc(MaK, TenK)
+) LopQL(TenLopQL, SiSo, MaK, MaKH, MaCT)
+) LopMH(MaLopMH, MaMH, HoTenGV, NgayThi)
+) MonHoc(MaMH, TenMH, SoTC, MaHK, MaTC)
Trang 8VIII Sơ đồ Database Diagrams
1 Bảng Đăng nhập:
Tên trường Kiểu dữ
liệu
Kíchthước Ràng buộc
Ghi chú (ý nghĩa)TenDangNhap Varchar 20 Primary key Tên đăng nhập vào
Trang 9liệu thước (ý nghĩa)
viên
viên
Ghi chú(ý nghĩa)
4 Bảng Khoa Học:
Tên trường Kiểu dữ
liệu
Kíchthước Ràng buộc
Ghi chú(ý nghĩa)
5 Bảng LớpQL:
Tên trường Kiểu dữ
liệu
Kíchthước Ràng buộc
Ghi chú(ý nghĩa)TenLopQL nvarchar 50 Primary key Tên lớp quản lý
Trang 105 Bảng LớpMH:
Tên trường Kiểu dữ
liệu
Kíchthước Ràng buộc
Ghi chú(ý nghĩa)
6 Bảng Chương Trình:
Tên trường Kiểu dữ
liệu
Kíchthước Ràng buộc
Ghi chú(ý nghĩa)
7 Bảng Môn học:
Tên trường Kiểu dữ
liệu
Kíchthước Ràng buộc
Ghi chú(ý nghĩa)
8 Bảng Học Kỳ:
Tên trường Kiểu dữ
liệu
Kíchthước Ràng buộc
Ghi chú(ý nghĩa)
Trang 119 Bảng Điểm:
Tên trường Kiểu dữ
liệu
Kíchthước Ràng buộc
Ghi chú(ý nghĩa)
IX Biểu đồ phân rã chức năng
X Mô tả chức năng lá:
(1.1) Mỗi năm nhà trường sẽ tiếp sinh viên viên khóa mới đến nhập học, nhà trường sẽ nhận và lưu trữ thông tin sinh viên cùng danh sách sinh viên khóa mới.
Trang 12(1.2) Trong quá trình học tập tại trường thông tin của sinh viên sẽ có nhưng thay đổi, nhân viên phòng đào tạo sẽ nhận nhưng thông tin thay đổi và thêm, sửa, xóa thông tin khi cần thiết.
(2.1) Sau khi sinh viên thi kết thúc môn học xong, giảng viên sẽ tổng hợp điểm và gửi về cho phòng đào tạo để nhân viên phòng đào tạo duyệt và nhập điểm vào hệ thống.
(2.2) Điểm của sinh viên sẽ được lưu trữ trong suốt quá trình sinh viên theo học tại trường.
(2.3)
- Sau khi có ĐQT, điểm thi kết thúc, điểm tổng kết, nếu sinh viên có ý kiến thắc mắc về điểm sẽ làm đơn phúc khảo với giáo viên, bộ môn Bộ môn có trách nhiệm cử giáo viên chấm lại bài thi Nếu kết quả có thay đổi sẽ làm đơn và gửi lại điểm lên phòng đào tạo để phòng đào tạo cập nhật sửa lại điểm cho sinh viên.
- Trong trường hợp sinh viên học lại theo hình thức bảo lưu điểm quá trình, sau khi có kết quả điểm thi lại, giảng viên sẽ tạo bảng điểm mới và gửi lên phòng đào tạo, để phòng đào tạo nhập điểm thi lại theo hình thức bảo lưu vào hệ thống.
(2.4) Sau khi có kết quả điểm của từng môn, từng học kỳ, phòng đào tạo sẽ thống kê được số tín chỉ mà sinh viên đã tích lũy được trong học kỳ đó dựa trên hệ thống quản lý điểm của sinh viên và lưu trữ kết quả đó.
(3.1) Phòng đào tạo sẽ lưu trữ thông tin môn học theo từng kỳ tương ứng với chương trình đào tạo của từng khoa.
(3.2) Dựa vào tình hình thực tế và nhu cầu về chất lượng đào tạo của từng khoa, sẽ có những môn học được thêm mới hoặc có những môn học bị bỏ đi hoặc có những môn học sẽ gộp lại để phù hợp với chương trình đào tạo của từng khoa Khoa sẽ gửi danh sách môn cần xóa, thay đổi thông tin môn học lên phòng đạo tạo để phòng đào tạo tiến hành cập nhật.
(4.1) Dựa trên điểm từng môn học của sinh viên, cuối mỗi học kỳ sẽ có báo cáo tổng kết kết quả của sinh viên trong học kỳ đó.
(4.2) Khoa sẽ dựa vào kết quả điểm của sinh viên trên hệ thống và lập danh sách những sinh viên đủ điều kiện xét học bổng khuyến khích học tập.
(4.3) Khoa sẽ dựa vào kết quả điểm của sinh viên trên hệ thống và lập danh sách những sinh viên có kết quả học tập không tốt dựa theo điều kiện nhà trường đưa ra để lập danh sách sinh viên bị cảnh cáo học tập, và dựa trên số lần bị cảnh cáo học tập sẽ có quyết định thôi học đối với sinh viên.
(4.4) Khoa sẽ dựa vào kết quả điểm của sinh viên trên hệ thống và lập danh sách những sinh viên có kết quả học tập đủ điều kiện làm đồ án tốt nghiệp và sau đó sẽ là lập danh sách sinh viên đủ điều kiện tốt nghiệp.
Điều kiện bị cảnh cáo, điều kiện bị buộc thôi học
Trang 13- Sinh viên bị cảnh báo học tập nếu: Điểm trung bình chung học kỳ đạt dưới 0,80 đối với học kỳ đầu của khóa học, dưới 1,00 đối với các học kỳ tiếp theo;
- Sau mỗi học kỳ, sinh viên bị buộc thôi học nếu thuộc một trong những trường hợp sau đây:
1) Có số lần cảnh báo kết quả học tập vượt quá 2 lần liên tiếp hoặc vượt quá 3 lần không liên tiếp
2) Vượt quá thời gian tối đa được phép học tại trường theo quy định.
(4.4) Khoa sẽ dựa vào kết quả điểm của sinh viên trên hệ thống và lập danh sách những sinh viên có kết quả học tập đủ điều kiện làm đồ án tốt nghiệp và sau đó sẽ là lập danh sách sinh viên đủ điều kiện tốt nghiệp.
TenDangNhap nvarchar ( 20 ) not null primary key ,
MatKhau nvarchar ( 20 ) not null,
TenQuyen nvarchar ( 20 ) not null )
Khóa học
create table KhoaHoc (
MaK varchar ( 10 ) not null,
TenK nvarchar ( 50 ) not null,
primary key ( MaK ) )
Khoa
create table Khoa (
MaKH varchar ( 10 ) not null,
TenKH nvarchar ( 50 ) not null,
primary key ( MaKH ) )
Chương trình
create table ChuongTrinh (
MaCT varchar ( 10 ) not null,
MaKH varchar ( 10 ) not null,
TenCT nvarchar ( 100 ) not null,
TongTCHP int not null,
primary key ( MaCT ),
foreign key ( MaKH ) references Khoa ( MaKH ) )
create table LopQL (
TenLopQL varchar ( 50 ) not null,
MaKH varchar ( 10 ) not null,
MaK varchar ( 10 ) not null,
Trang 14LớpQL MaCT varchar ( 10 ) not null,
SiSo nvarchar ( 10 ) not null,
primary key ( TenLopQL ),
foreign key ( MaK ) references KhoaHoc ( MaK ),
foreign key ( MaKH ) references Khoa ( MaKH ),
foreign key ( MaCT ) references ChuongTrinh ( MaCT ) )
Sinh Viên
create table SinhVien (
MaSV varchar ( 10 ) not null,
HoTen nvarchar ( 30 ) not null,
NgaySinh date not null,
GioiTinh nvarchar ( 5 ) not null,
SoCCCD nvarchar ( 20 ) not null,
Email nvarchar ( 50 ),
DiaChi nvarchar ( 100 ),
MaLop varchar ( 10 ) not null,
primary key ( MaSV ),
foreign key ( MaLop ) references Lop ( MaLop ) )
Học kỳ
create table HocKy (
MaHK varchar ( 10 ) not null,
TenHK nvarchar ( 30 ) not null,
primary key ( MaHK ) )
Môn học
create table MonHoc (
MaMH varchar ( 10 ) not null,
TenMH nvarchar ( 50 ) not null,
SoTC int not null,
MaHK varchar ( 10 ) not null,
MaCT varchar ( 10 ) not null,
primary key ( MaMH ),
foreign key ( MaHK ) references HocKy ( MaHK ),
foreign key ( MaCT ) references ChuongTrinh ( MaCT ) )
LớpMH create table LopMH (
MaLopMH varchar ( 10 ) not null,
MaMH varchar ( 10 ) not null,
HoTenGV varchar ( 30 ) not null,
NgayThi varchar ( 20 ) not null,
primary key ( MaLopMH ),
foreign key ( MaMH ) references MonHoc ( MaMH ) )
Điểm
create table Diem (
MaSV varchar ( 10 ) not null,
MaMH varchar ( 10 ) not null,
DiemQT real ,
DiemKT real ,
DiemTK as ( DiemQT * 0.3 + DiemKT * 0.7 ),
DiemQTLan2 real default 0 ,
DiemKTLan2 real default 0 ,
DiemTKLan2 as ( DiemQTLan2 * 0.3 + DiemKTLan2 * 0.7 ),
Trang 15primary key ( MaSV , MaMH ),
foreign key ( MaSV ) references SinhVien ( MaSV ),
foreign key ( MaMH ) references MonHoc ( MaMH ) )
Dữ liệu nhập vào:
1 Bảng đăng nhập
2 Bảng Khóa Học
3 Bảng Khoa
Trang 164 Bảng chương trình
5 Bảng Lớp Quản Lý
6 Bảng Học Kỳ
Trang 177 Bảng Lớp Môn Học
8 Bảng Sinh Viên
Trang 189 Bảng Môn Học
10.Bảng Điểm
Trang 19AS BEGIN DELETE FROM [dbo] [SinhVien]
WHERE MaSV = @MaSV
select ErrMsg = N'Xóa thành công'
END GO
AS BEGIN DELETE FROM [dbo] [Diem]
WHERE MaSV = @MaSV or MaMH = @MaMH
select ErrMsg = N'Xóa thành công'
END GO
AS BEGIN DELETE FROM [dbo] [MonHoc]
WHERE MaMH = @MaMH
select ErrMsg = N'Xóa thành công'
END GO
CREATE PROCEDURE SinhVien_insert
Trang 20AS BEGIN
INSERT INTO [dbo] [SinhVien]
( @MaSV , @HoTen , @NgaySinh , @GioiTinh , @SoCCCD , @Email , @DiaChi , @Te nLopQL )
select ErrMsg = N'Thêm thành công'
END GO
INSERT INTO [dbo] [Diem]
( @MaSV , @MaMH , @DiemQT , @DiemKT , @DiemQTLan2 , @DiemKTLan2 )
select ErrMsg = N'Thêm thành công'
END GO
Trang 21AS BEGIN
INSERT INTO [dbo] [MonHoc]
select ErrMsg = N'Thêm thành công'
END GO
AS BEGIN UPDATE [dbo] [SinhVien]
SET [HoTen] = @HoTen , [NgaySinh] = @NgaySinh , [GioiTinh] = @GioiTinh
, [SoCCCD] = @SoCCCD , [Email] = @Email , [DiaCHi] = @DiaChi , [TenLopQL] = @TenLopQL
WHERE [MaSV] = @MaSV
select ErrMsg = N'Sửa thành công'
END GO
CREATE PROCEDURE Diem_update
(
@MaSV varchar ( 10 ),
Trang 22SET [DiemQT] = @DiemQT , [DiemKT] = @DiemKT , [DiemQTLan2] = @DiemQTLan2
, [DiemKTLan2] = @DiemKTLan2
WHERE [MaSV] = @MaSV or [MaMH] = @MaMH
select ErrMsg = N'Sửa thành công'
END GO
AS BEGIN UPDATE [dbo] [MonHoc]
SET [TenMH] = @TenMH , [SoTC] = @SoTC , [MaHK] = @MaHK
, [MaCT] = @MaCT
WHERE [maMH] = @MaMH
select ErrMsg = N'Sửa thành công'
END GO
- Trigger insert Bang
Diem
CREATE TRIGGER trginsert_Diem
ON Diem For insert
as
DECLARE @MaSV nvarchar ( 10 )
Declare @MaMH Nvarchar ( 10 )
DECLARE @DiemQT float
DECLARE @DiemKT float
DECLARE @DiemQTlan2 float
DECLARE @DiemKTlan2 float
SELECT
@MaSV = MaSV ,
@MaMH = MaMH ,
Trang 23@DiemQT = DiemQT ,
@DiemQTlan2 = DiemQTLan2 ,
@DiemKT = DiemKT ,
@DiemKTlan2 = DiemKTLan2 FROM Inserted
IF ( @DiemQT < 0 ) or ( @DiemQT > 10 ) or ( @DiemQTlan2 < 0 ) or ( @DiemQTlan2 > 10 ) or ( @DiemKT < 0 ) or ( @DiemKT > 10 ) or ( @DiemKTlan2 < 0 ) or ( @DiemKTlan2 > 10 )
INSERT INTO Diem VALUES ( '1' , '64XD1' , 5 , 14 , 8 )
INSERT INTO Diem VALUES ( '10' , '61XD1' , 5 2 , 8 )
INSERT INTO Diem VALUES ( '11' , '61XD2' , 5 , 8 , 8 )
Go
SELECT * FROM Diem
opdate thông tin điểm
CREATE TRIGGER trg_UpdateDiem
on DIEM
for update as
begin
DECLARE @MaSV nvarchar ( 10 )
Declare @MaMH Nvarchar ( 10 )
DECLARE @DiemQT float
DECLARE @DiemKT float
DECLARE @DiemQTlan2 float
DECLARE @DiemKTlan2 float
update Diem set
Trang 24on Diem
INSTEAD OF DELETE as
DECLARE @MaSV nvarchar ( 10 )
Select @MaSV = MaSV from deleted
Delete from diem where MaSV = @MaSV
Tao trigger de tat
cac truong trong bang
sinh vien phai nhap CREATEon SinhVienTRIGGER trginsert_SinhVien
for insert
as
begin
Khai bao bien luu tru
Declare @MaSV nvarchar ( 10 )
Declare @HoTen nvarchar ( 50 )
Declare @NgaySinh date
Declare @GioiTinh nvarchar ( 5 )
Declare @CCCD nvarchar ( 20 )
Declare @Email nvarchar ( 50 )
Declare @DiaChi nvarchar ( 100 )
Declare @TenlopQL nvarchar ( 50 )
Lay du lieu ra cac bien tu bang inserterd
select @MaSV = inserted MaSV ,
@HoTen = inserted HoTen ,
@NgaySinh = inserted NgaySinh ,
@GioiTinh = inserted GioiTinh ,
@CCCD = inserted SoCCCD ,
@Email = inserted Email ,
@DiaChi = inserted DiaChi ,
@TenlopQL = inserted TenLopQL
From Inserted (( @MaSV is null) or ( @HoTen is null) or ( @CCCD is null) or ( @DiaChi is null)
or ( @Email is null) or ( @TenlopQL is null) or ( @GioiTinh is null) or ( @NgaySinh is null))
begin
print 'Ban phai nhap day du cac thong tin'
print 'qua trinh them du lieu khong thanh cong'
Kiem tra
select * from SinhVien
-
Bảng_điểm_cá_nhân_a
ll create( select BDTprocedure MaSV BangDiemCN_all , BDT HoTen , BDTas DQT , BDT DKT , BDT DTK ,
BDT MaMH , BDT SoTC , BDT TenMH , BDT MaCT , BDT MaHK , BDT MaDiem
from