1. Trang chủ
  2. » Công Nghệ Thông Tin

Quản lý điểm sinh viên

17 522 2

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 17
Dung lượng 288,2 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Các bước thực hiện: Tính số học sinh đạt giỏi trong một học kỳ của một năm học nào đó.. Lấy mã học kỳ và năm học cần tìm Đếm số sinh viên có kết quả học tập trên 8.0 lưu trong phần đầu

Trang 1

Mục lục

Trang 2

1 Mô tả chức năng hệ thống

Hệ thống quản lý điểm học sinh trung học phổ thông có hai chức năng chính

là quản lý điểm của học sinh và quản lý hồ sơ của học sinh

Trong chức năng quản lý điểm học sinh, hệ thống có khả năng tính điểm trung bình của học sinh trong từng môn học cũng như điểm tổng kết cuối mỗi kỳ, tìm kiếm, thống kê học sinh đạt khá, giỏi… học sinh có hạnh kiểm khá, tốt…

2 Thiết kế cơ sở dữ liệu

1 Bảng HoSo.HoSoHS

Colum Name Description Datatype Length Allow Null

2 Bảng HoSo.HoSoHS

Colum Name Description Datatype Length Allow Null

Trang 3

NgaySinh datetime Not Null

NoiThuongTr

u

3 Bảng CoCauToChuc.Khoa

Colum name description Datatype length Allow null

Trang 4

TruongKhoa Nvarchar 50 Not Null

4 Bảng CoCauToChuc.BoMon

Colum name description Datatype length Allow null

MaKhoa Khóa ngoại

tham chiếu

Khoa

5 Bảng CoCauToChuc.Lop

Colum Name Description Datatype Length Allow Null

NamVaoTruon

g

MaLopTruong Khóa ngoại

tham chiếu

HoSoHS

6 Bảng CoCauToChuc.SinhVienLop

tham chiếu đến bảng Lop

7 Bảng CoCauToChuc.GiaoVien_BoMon

Colum name description Datatype length Allow null

Trang 5

MaBoMon Khóa ngoại

tham chiếu đến bảng BoMon

ThoiGianNhamChu

c

8 Bảng Diem.Diem_SV

Colum name description Datatype length Allow null

9 Bảng Diem.MonHoc

Colum name description Datatype length Allow null

MaBoMon Khóa ngoại

tham chiếu

BoMon

10.Bảng Diem.HocKy

Colum name description datatype length Allow null

Trang 6

11.Bảng Diem.PhanDauPhieuDiem

null ChiTietPhieuDie

m

tham chiếu đến bảng HoSoSV

)

Not Null

12.Bảng Diem.DongPD

Colum name description datatype length Allow null ChiTietPD Khóa ngoại tham

chiếu đến bảng PhanDauPhieuDie m

13 Bảng QuiDinh.HocLuc

null

Trang 7

DiemTB DiemTB:decimal(4, 1) Not null

Trang 9

3 Mô tả các thủ tục, hàm và triggers

- Thủ tục

Tên: HoSo.SoGioi

Kết quả thực hiện: Tính số học sinh đạt giỏi trong học kỳ của trường.

Các bước thực hiện:

Tính số học sinh đạt giỏi trong một học kỳ của một năm học nào đó

Lấy mã học kỳ và năm học cần tìm

Đếm số sinh viên có kết quả học tập trên 8.0 lưu trong phần đầu phiếu điểm Lọc ra những sinh viên có mã học kỳ và năm học tương ứng với mã học kỳ và năm học nhập vào

Thực thi thủ tục với các tham số execute as khác nhau để kiểm tra quyền thực hiện của các user

Hàm

Tên: Diem.SoKha

Kết quả thực hiện: Tính số học sinh đạt khá trở lên trong một lớp nào đó tạo

cơ sở để xét khen thưởng với lớp

Các bước thực hiện:

Lấy mã lớp của tên lớp cần tìm

Tìm số học sinh đạt khá trở lên trong bảng lưu điểm trung bình của học sinh toàn trường

Lọc ra những học sinh có mã lớp tương ứng với mã lớp, mã học kỳ và năm học tương ứng tìm được

Trigger

Trang 10

Tên: Diem.DiemCT

Kết quả thực hiện: Tự động tính điểm cuối cùng của 1 môn học của 1 sinh

viên

1 Các bước thực hiện:

1 Kiểm tra xem phần điểm thi lại(Diem2) của sinh viên có tồn tại không

2 Nếu tồn tại thi nhập kết quả điểm thi lại vào điểm chính thức(Diem.DiemCT)

3 Nếu ko thì tự đông nhập điểm thi lần 1 vào phần điểm chính thức

Tên: Diem DiemTB

2 Kết quả thực hiện: Tự động cập nhật điểm trung bình của của sinh viên

vào phần đầu phiếu điểm

3 Các bước thực hiện:

1 Lấy điểm chính thức của sinh viên trong bảng Diem.DiemSV

2 Nhân điểm tương ứng với số đơn vị học trình trong bản Diem.MonHoc

3 Tính tổng điểm má sinh viên đạt được trong 1 học kỳ của 1 năm học

và chia cho tổng số học trình

4 Tự động cập nhật điểm trung bình của của sinh viên trong 1 học kỳ của 1 năm học vào phần đầu phiếu điểm

4 Quản trị cơ sở dữ liệu

4.1 Tạo role theo mẫu: (xong)

 Tên: CoCauToChuc

Danh sách các quyền cần cấp phát cho role:

Role này sở hữu lược đồ CoCauToChuc do đó nó có toàn quyền trên lược đồ này

 Tên: Diem

Danh sách các quyền cần cấp phát cho role:

Role này sở hữu lược đồ Diem do đó nó có toàn quyền trên lược đồ này

 Tên: HoSo

Trang 11

Danh sách các quyền cần cấp phát cho role:

Role này sở hữu lược đồ HoSo do đó nó có toàn quyền trên lược đồ này

 Tên: QuyDinh

Danh sách các quyền cần cấp phát cho role:

Role này sở hữu lược đồ QuyDinh do đó nó có toàn quyền trên lược đồ này

4.2 Tạo user theo mẫu:

 Tên: QTDiem

Danh sách các roles và quyền cần cấp phát cho user

User này có toàn quyền với các bảng thuộc schema Diem, ngoài ra nó còn có quyền xem ở tất cả các bảng khác

 Tên: KhachDiem

Danh sách các roles và quyền cần cấp phát cho user

User này có toàn quyền với các bảng thuộc schema Diem

 Tên: QTHoSo

Danh sách các roles và quyền cần cấp phát cho user

User này có toàn quyền với các bảng thuộc schema HoSo, ngoài ra nó còn có quyền xem ở tất cả các bảng khác

 Tên: KhachHoSo

Danh sách các roles và quyền cần cấp phát cho user

User này có toàn quyền với các bảng thuộc schema HoSo

 Tên: QTQuyDinh

Danh sách các roles và quyền cần cấp phát cho user

User này có toàn quyền với các bảng thuộc schema QuyDinh, ngoài ra nó còn

có quyền xem ở tất cả các bảng khác

Trang 12

 Tên: KhachQuyDinh

Danh sách các roles và quyền cần cấp phát cho user

User này có toàn quyền với các bảng thuộc schema QuyDinh

5.Cấp quyền cho Role, User sử dụng giao diện

5.1.Role

Kịch bản

USE [QuanLySinhVien]

GO

CREATE ROLE [Diem]

Trang 13

USE [QuanLySinhVien]

GO

ALTER AUTHORIZATION ON SCHEMA ::[Diem] TO [Diem] GO

5.2 User

Kịch bản

USE [QuanLySinhVien]

GO

CREATE USER [QTDiem] FOR LOGIN [QTDiem]

GO

USE [QuanLySinhVien]

GO

ALTER AUTHORIZATION ON SCHEMA ::[Diem] TO [QTDiem] GO

Trang 14

USE [QuanLySinhVien]

GO

EXEC sp_addrolemember N'Diem', N'QTDiem' GO

5.3 Cấp quyền cho User

Kịch bản:

use [QuanLySinhVien]

GO

Trang 15

GRANT SELECT ON SCHEMA ::[CoCauToChuc] TO [QTDiem]

GO

use [QuanLySinhVien]

GO

GRANT SELECT ON SCHEMA ::[HoSo] TO [QTDiem]

GO

use [QuanLySinhVien]

GO

GRANT SELECT ON SCHEMA ::[QuyDinh] TO [QTDiem]

GO

6 Mã nguồn một số hàm, thủ tục, trigger,view

6.1 Hàm

create FUNCTION [Diem].[SoKha] (@Lop int , @hocky int , @namhoc nvarchar (50))

RETURNS INT AS

BEGIN

DECLARE @So INT ;

set @So = ( SELECT COUNT(diem.phandauphieudiem.masv)

FROM Diem.phandauphieudiem,CoCauToChuc.sinhvienlop

WHERE diem.phandauphieudiem.masv=cocautochuc.sinhvienlop.masv

AND diem.phandauphieudiem.diemtb>=7.0

AND cocautochuc.sinhvienlop.malop= @Lop

AND diem.phandauphieudiem.mahocky = @hocky

AND diem.phandauphieudiem.namhoc=@namhoc);

RETURN @So;

END

DECLARE @So INT ;

SET @So = Diem.SoKhắ1,1,2010-2011')

PRINT @So;

6.2 Thủ tục

CREATE PROCEDURE [HoSo].[SoGioi] @HK INT ,@NamHoc varchar (20)

WITH EXECUTE AS CALLER

AS

BEGIN

SELECT CURRENT_USER AS 'execute as caller';

SELECT COUNT(*) FROM Diem.PhanDauPhieuDiem

WHERE Diem.PhanDauPhieuDiem.DiemTB >=8.0 AND

Diem.PhanDauPhieuDiem.MaHocKy = @HK AND

Diem.PhanDauPhieuDiem.NamHoc = @NamHoc;

END

6.3 Trigger

Trigger Cập nhật điểm chính thức của sinh viên

create trigger [DiemCT] on [Diem].[Diem_SV]

for insert , update

AS

begin

declare @DiemCT int ,@MaSV int , @MaMonHoc nchar (10);

Trang 16

Set @MaSV=( select MaSV from inserted );

Set @MaMonHoc=( select MaMonHoc from inserted );

if exists( select from inserted where Diem2 is NULL)

Set @DiemCT=( select inserted.Diem1 from inserted);

else

Set @DiemCT=( select inserted.Diem2 from inserted);

update Diem.Diem_SV Set DiemCT=@DiemCT where Diem.Diem_SV.MaSV=@MaSV and Diem.Diem_SV.MaMonHoc=@MaMonHoc

end

Trigger tính điểm trung bình của sinh viên trong 1 học kỳ của 1 năm học

create trigger [DiemTB2] on [Diem].[PhanDauPhieuDiem] for update , insert

AS

declare @MaSV INT , @HocKy INT , @NamHoc NVARCHAR (50), @DiemTB DECIMAL ( , ),

@Diem INT ;

SET @MaSV = ( select MaSV from inserted);

Set @HocKy = ( select MaHocKy from inserted);

SET @NamHoc = ( Select NamHoc from inserted);

SET @DiemTB= ( select SUM(Diem.Diem_SV.DiemCT *

Diem.MonHoc.SoDVHT)/Sum(Diem.MonHoc.SODVHT)

from Diem.Diem_SV,Diem.MonHoc

where MaSV=@MaSV and NamHoc=@NamHoc and HocKy=@HocKy and

Diem.Diem_SV.MaMonHoc=Diem.MonHoc.MaMonHoc );

update Diem.PhanDauPhieuDiem SET Diem.PhanDauPhieuDiem.DiemTB=@DiemTB where

Diem.PhanDauPhieuDiem.MaSV=@MaSV

insert into diem.dongPD(IDPhanDauPD,Masv,MaMonHoc,Diem,MaGiaovien) select

diem.phandauphieudiem.IDPhanDauPD,diem.phandauphieudiem.masv,diem.diem_sv.mamo nhoc,diem.diem_sv.diemCT,diem.diem_sv.MaGV

from diem.phandauphieudiem,diem.diem_sv

where diem.diem_sv.masv=@masv and

diem.phandauphieudiem.masv=diem.diem_sv.masv and

diem.phandauphieudiem.mahocky=@HocKy

and diem.phandauphieudiem.mahocky=diem.diem_sv.hocky

6.4 View

create view diem.diem_SV88

as

select from diem.diem_SV where diem.diem_sv.diemCT=

go

select from diem.diem_SV8

Kết luận

Qua thời gian thực hiện đồ án chúng em đã đạt được một số vấn đề sau Đã thiết kế được cơ sở dữ liệu cho hệ thống, tạo được một số hàm, thủ tục, quản trị được cơ sở dữ liệu dựa theo các người sử dụng Tuy nhiên cho thời gian thực hiện

Trang 17

đồ án ngắn do vậy đồ án vẫn còn một số hạn chế nhất định Số lượng hàm, thủ tục còn ít và đơn giản, thống kê, báo cáo chưa đầy đủ

Ngày đăng: 23/10/2014, 22:49

HÌNH ẢNH LIÊN QUAN

1. Bảng HoSo.HoSoHS - Quản lý điểm sinh viên
1. Bảng HoSo.HoSoHS (Trang 2)
2. Bảng HoSo.HoSoHS - Quản lý điểm sinh viên
2. Bảng HoSo.HoSoHS (Trang 2)
3. Bảng CoCauToChuc.Khoa - Quản lý điểm sinh viên
3. Bảng CoCauToChuc.Khoa (Trang 3)
7. Bảng CoCauToChuc.GiaoVien_BoMon - Quản lý điểm sinh viên
7. Bảng CoCauToChuc.GiaoVien_BoMon (Trang 4)
4. Bảng CoCauToChuc.BoMon - Quản lý điểm sinh viên
4. Bảng CoCauToChuc.BoMon (Trang 4)
8. Bảng Diem.Diem_SV - Quản lý điểm sinh viên
8. Bảng Diem.Diem_SV (Trang 5)
9. Bảng Diem.MonHoc - Quản lý điểm sinh viên
9. Bảng Diem.MonHoc (Trang 5)

TỪ KHÓA LIÊN QUAN

w