TRƯỜNG ĐẠI HỌC XÂY DỰNG HÀ NỘI KHOA CÔNG NGHỆ THÔNG TINBỘ MÔN CÔNG NGHỆ PHẦN MỀM --o0o— BÁO CÁO ĐỒ ÁN MÔN HỌC: CƠ SỞ DỮ LIỆU NÂNG CAO ĐỀ TÀI: QUẢN LÝ ĐIỂM SINH VIÊN Nhóm thực hiện: Nhóm
Trang 1TRƯỜNG ĐẠI HỌC XÂY DỰNG HÀ NỘI KHOA CÔNG NGHỆ THÔNG TIN
BỘ MÔN CÔNG NGHỆ PHẦN MỀM
o0o—
BÁO CÁO ĐỒ ÁN MÔN HỌC: CƠ SỞ DỮ LIỆU NÂNG CAO
ĐỀ TÀI: QUẢN LÝ ĐIỂM SINH VIÊN
Nhóm thực hiện: Nhóm 5 Lớp 63IT3
Trang 3KHOA
Trang 4● Cho biết danh sách sinh viên của 1 lớp môn học: MSSV, họ tên, tên lớp quản lý, khoa
Trang 5● Bảng điểm của một lớp môn học: MSSV, họ tên, đqt, đkt, tỷ lệ đqt, đtb
Trang 6● Cho biết điểm của sinh viên tính theo hệ 10, hệ 4
Trang 7● Cho biết kết quả học tập của sv (điểm chữ, kết quả đạt hay chưa đạt)
Trang 8● Tổng kết kết quả học tập của sv:MSSV, họ tên, tên lớp ql, điểm trung bình tích lũy
hệ 10, điểm tb tích lũy hệ 4, số tín chỉ tích lũy
Trang 10Yêu cầu Sử dụng Code
BẢNG SINH VIÊN
Thêm thông tin
sinh viên mới
STORED PROCEDURE
createprocedure sp_themsinhvien
insertinto SINHVIEN(MSSV, HOTEN, GIOITINH,
TENLOPQL,KHOAHOC, NGAYSINH, QUEQUAN)
values(@MSSV, @HOTEN, @GIOITINH, @TENLOPQL,
@KHOAHOC,@NGAYSINH, @QUEQUAN)
end
Trang 12Sửa/cập nhật
thông tin sinh
viên
STORED PROCEDURE
createprocedure sp_suasinhvien
Trang 13Xóa thông tin
sinh viên
STORED PROCEDURE
createprocedure sp_xoasinhvien @MSSV nvarchar(50)
asdeletefrom SINHVIEN
where MSSV=@MSSV
Tìm kiếm thông
tin sinh viên
STORED PROCEDURE
SETANSI_NULLSONGO
SETQUOTED_IDENTIFIERONGO
CREATEPROC [dbo].[TIMKIEM](@ID INT)
ASBEGINSELECT*FROM SINHVIEN
createproc sp_hienthisinhvien
asselect*from SINHVIEN
Trang 14Coppy bảng sinh
viên
STORED PROCEDURE
SETANSI_NULLSONGO
SETQUOTED_IDENTIFIERONGO
CREATE PROC [dbo].[SPCOPYSINHVIEN]
AS
ifOBJECT_ID('SINHVIENCOPY')ISNOTNULL
DROPTABLE SINHVIENCOPY
SELECT*INTO SINHVIENCOPY FROM SINHVIEN
BẢNG KHOA
Thêm thông tin
khoa
STORED PROCEDURE
createprocedure sp_themkhoa @MAKHOA NCHAR(10),
@TENKHOA NCHAR(100)
asbegin
insertinto KHOA(MAKHOA,TENKHOA)
values (@MAKHOA, @TENKHOA)
end
Trang 15Khi thêm thông
tin của khoa,
phải điền đầy đủ
thông tin của
các trường.
TRIGGER createtrigger trg_khoa
on KHOA forinsert
if((@MAKHOA isnull)
or(@TENKHOA isnull))
beginprint'Ban phai day du cac thong tin'
rollbacktranend
else
beginprint'ban da them du lieu thanh cong'
endend
Trang 16Sửa, cập nhật
thông tin khoa
STORED PROCEDURE
createprocedure sp_suakhoa
( @MAKHOA NCHAR(10),
@TENKHOA NCHAR(100))
asupdate KHOA
set MAKHOA=@MAKHOA,
TENKHOA=@TENKHOA
where MAKHOA=@MAKHOA
Xóa thông tin
khoa
STORED PROCEDURE
createprocedure sp_xoakhoa
@MAKHOA NCHAR(10)
asdeletefrom SINHVIEN
where @MAKHOA=@MAKHOA
PROCEDURE
createproc sp_hienthikhoa
asselect*from KHOA
Trang 17Tìm kiếm STORED
PROCEDURE
SETANSI_NULLSONGO
SETQUOTED_IDENTIFIERONGO
createPROC [dbo].[sp_timkiemkhoa]
(@makhoa INT)
ASBEGINSELECT*FROM KHOA
WHERE MAKHOA= @makhoa
END
PROCEDURE
SETANSI_NULLSONGO
SETQUOTED_IDENTIFIERONGO
create PROC [dbo].[sp_copykhoa]
AS
ifOBJECT_ID('KHOACOPY')ISNOTNULL
DROPTABLE khoaCOPY
SELECT*INTO khoacopy FROM KHOA
BẢNG ĐIỂM
Trang 18Thêm thông tin
as
DECLARE @MSSV nchar(50)
DECLARE @MALOPMH nchar(10)
DECLARE @HOTEN nchar(50)
IF (@DQT <0 )or(@DQT >10)or(@DKT < )or(@DKT >10)or(@TYLEDQT< )or(@TYLEDQT>100)
beginprint'Sai gia tri diem'
Rollbacktransactionend
else
Trang 19Print'qua trinh chen dl thanh cong'
end
Trang 20Hiển thị điểm
thấp nhất của
lớp môn học
STORED PROCEDURE
createproc sp_diemmin
as
select TENMH , MonHoc.MAMH,min(DKT)as [Min diem]
from MonHoc innerjoin LOPMH on MonHoc.MAMH=LOPMH.MAMH
innerjoin DIEM on DIEM.MALOPMH=LOPMH.MALOPMH
groupby MonHoc.MAMH, TENMH
from SINHVIEN innerjoin LOPQL ON
SINHVIEN.TENLOPQL=LOPQL.TENLOPQL
innerjoin KHOA ON KHOA.MAKHOA = LOPQL.MAKHOA
Trang 21(sum(casewhen DH4>=1 then (DH4*SOTINCHI)end)/(sum(casewhen dh4>=1 then (SOTINCHI)end)))as DIEMTLH4
from(SELECT SINHVIEN.MSSV,DIEM.dtb
,MONHOC.SOTINCHI,MONHOC.TENMH,SINHVIEN.HOTEN,
LOPQL.TENLOPQL,
DH4 =CASEWHEN (dtb>=0 AND DTB<4.0)THEN 0.0 WHEN (DTB>=4.0 AND DTB<5.0)THEN 1.0 WHEN (DTB>=5.0 AND DTB<5.5)THEN 1.5 WHEN (DTB>=5.5 AND DTB<6.5)THEN 2.0 WHEN (DTB>=6.5 AND DTB<7.0)THEN 2.5 WHEN (DTB>=7.0 AND DTB<8.0)THEN 3.0 WHEN (DTB>=8.0 AND DTB<8.5)THEN 3.5 WHEN (DTB>=8.5 AND DTB<=10.0)THEN 4.0 END
Trang 22Diemchu =CASEWHEN (dtb>=0 AND DTB<4.0)THEN'F'
WHEN (DTB>=4.0 AND DTB<5.0)THEN'D'
WHEN (DTB>=5.0 AND DTB<5.5)THEN'D+'
WHEN (DTB>=5.5 AND DTB<6.5)THEN'C'
WHEN (DTB>=6.5 AND DTB<7.0)THEN'C+'
WHEN (DTB>=7.0 AND DTB<8.0)THEN'B'
WHEN (DTB>=8.0 AND DTB<8.5)THEN'B+'
WHEN (DTB>=8.5 AND DTB<=10.0)THEN'A'END,
from SINHVIEN innerjoin LOPQL ON
SINHVIEN.TENLOPQL=LOPQL.TENLOPQL
innerjoin DIEM ON SINHVIEN.MSSV=DIEM.MSSV
innerjoin LOPMH ON LOPMH.MALOPMH= DIEM.MALOPMH
innerjoin MONHOC ON MONHOC.MAMH=LOPMH.MAMH
Trang 23(SOTINCHI)end)as SOTINCHITICHLUY,
sum(dtb*SOTINCHI)/(sum(casewhen dtb>=4 then (SOTINCHI)end))
as DIEMTLH10,
sum(DH4*SOTINCHI)/(sum(casewhen dh4>=1 then (SOTINCHI)
end))as DIEMTLH4
from(SELECT SINHVIEN.MSSV,DIEM.dtb
,MONHOC.SOTINCHI,MONHOC.TENMH,SINHVIEN.HOTEN,
LOPQL.TENLOPQL,
DH4 =CASEWHEN (dtb>=0 AND DTB<4.0)THEN 0.0 WHEN (DTB>=4.0 AND DTB<5.0)THEN 1.0 WHEN (DTB>=5.0 AND DTB<5.5)THEN 1.5 WHEN (DTB>=5.5 AND DTB<6.5)THEN 2.0 WHEN (DTB>=6.5 AND DTB<7.0)THEN 2.5 WHEN (DTB>=7.0 AND DTB<8.0)THEN 3.0 WHEN (DTB>=8.0 AND DTB<8.5)THEN 3.5 WHEN (DTB>=8.5 AND DTB<=10.0)THEN 4.0 ENDFROM SINHVIEN innerjoin LOPQL ON
SINHVIEN.TENLOPQL=LOPQL.TENLOPQL
innerjoin DIEM ON SINHVIEN.MSSV=DIEM.MSSV
innerjoin LOPMH ON LOPMH.MALOPMH= DIEM.MALOPMH
innerjoin MONHOC ON MONHOC.MAMH=LOPMH.MAMH
GROUPBY SINHVIEN.HOTEN, LOPQL.TENLOPQL,DIEM.DTB,
MONHOC.SOTINCHI,MONHOC.TENMH,SINHVIEN.MSSV)AS
NEWTABLE
groupby HOTEN,TENLOPQL,MSSV