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

Quản lý hồ sơ sinh viên

24 526 0

Đ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 24
Dung lượng 682,28 KB

Nội dung

HỌC VIỆN KỸ THUẬT QUÂN SỰ BỘ MÔN CÁC HỆ THÔNG THÔNG TIN – KHOA CNTT BÁO CÁO BÀI TẬP LỚN Đềtài: Quản lý sinh viên của trường đại học GIÁO VIÊN HƯỚNG DẪN: NGUYỄN MẠNH HÙNGHỌC VIÊN THỰC HIỆ

Trang 1

HỌC VIỆN KỸ THUẬT QUÂN SỰ

BỘ MÔN CÁC HỆ THÔNG THÔNG TIN – KHOA CNTT

BÁO CÁO BÀI TẬP LỚN

Đềtài:

Quản lý sinh viên của trường đại học

GIÁO VIÊN HƯỚNG DẪN: NGUYỄN MẠNH HÙNGHỌC VIÊN THỰC HIỆN:

VŨ SỸ ĐẠTNGUYỄN VIẾT HỌC Lớp: Tin học k44

Trang 2

Mục lục

I Các chức năng của hệ thống 3

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

1 Các bảng 4

2 Sơ đồ quan hệ giữa các bảng 9

III Mô tả các thủ tục, hàm, trigger 9

1 Mô tả các thủ tục 9

2 Mô tả các hàm 10

3 Mô tả các trigger 11

IV Mô tả các view 11

1 View danh sách sinh viên có cùng địa chỉ 11

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

1 Tạo các login 12

2 Tạo các role 12

3 Tạo các user 13

4 Cấp phát quyền cho role và user sử dụng giao diện MS SQL Management Studio 14

5 Cấp phát quyền cho role và user sử dụng các câu lệnh T-SQL 18

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

1 Mã nguồn một số thủ tục 20

2 Mã nguồn một số hàm 21

3 Mã nguồn một số trigger 23

VII Kết luận 24

Trang 3

I Cỏc chức năng của hệ thống.

 Lu trữ và khai thác đợc hồ sơ sinh viên trong quá trình học tập và sau khi tốt

nghiệp

 Quản lý chơng trình đào tạo của các chuyên ngành theo từng khoa (gồm

danh sách các môn học và tiến trình đào tạo)

 In danh sách sinh viên đợc nhận học bổng trên cơ sở kết quả điểm thi trong

mỗi học kỳ

 Trợ giúp cho việc ra quyết định cấp bằng tốt nghiệp

 In bảng điểm kèm theo Bằng tốt nghiệp của sinh viên

 Tra cứu các thông tin về số lợng, danh sách sinh viên theo ngành, địa

ph-ơng

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

1 Cỏc bảng

HoSo.SinhVien

Column Name Description Datatype Length Allow Null

TenSV Tờn sinh viờn varchar 30

Trang 4

hi

Trang 5

Column Name Description Datatype Length Allow Null

5

Trang 6

Column Name Description Datatype Length Allow Null

Trang 7

Column Name Description Datatype Length Allow Null

TenGV Tên giáo viên varchar 20

Column Name Description Datatype Length Allow Null

MaCN Mã chuyên ngành Varchar 10

MaKho

a

7

Trang 8

2 Sơ đồ quan hệ giữa các bảng

III Mô tả các thủ tục, hàm, trigger.

Trang 10

b Thủ tục đưa ra danh sách sinh viên trong một chuyên nghành

- Tên: DanhSachSinhVienTrongChuyenNghanh

- Kết quả: Đưa ra danh sách sinh viên trong chuyên nghành

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

+ Nhập vào Mã chuyên nghành+ Đưa ra danh sách sinh viên có trường chuyên nghànhtrùng với tham số mã chuyên nghành truyển vào

c Thủ tục đưa ra danh sách sinh viên còn nợ môn trong khóa

- Tên: SinhVienNoMonTrongKhoa

- Kết quả: Danh sách các sinh viên còn nợ môn trong khóa

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

+ Nhập vào khóa học cần kiểm tra

+ Lấy danh sách sinh viên trong khóa+ Kiểm tra các môn học với lần thi lại cao nhất mà số điểm

o Tìm kiếm sinh viên có điểm tổng kết >=8

o Select trên bảng tạm để đưa ra danh sách các sinh viên được

nhận học bổng

Trang 11

b Hàm tìm kiếm trên dữ liệu đa cấp.

- Tên : TimCapDuoi

- Kết quả thực hiện : Tìm kiếm tất cả giáo viên cấp dưới của một giáo

viên nào đó

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

o Nhập mã giáo viên cần tìm kiếm

o Tạo một bảng tạm có cấu trúc giống với bảng gốc [HoSo].[GiaoVien]

o Chèn thông tin các giáo viên có cấp trên là mã giáo viên nhập vào

- Kết quả: Ngăn chặn việc cố gắng tạo login

- Các bước thực hiện: khi có đối tượng định tạo login trigger lập tức được gọi, hủy hành động này

b Trigger kiểm tra dữ liệu nhập bảng BangDiem

- Tên: tg_RangBuocLanThi

- Kết quả: chỉ cho phép nhập thêm dữ liệu lần thi tiếp theo của sinh viên

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

+ Thêm dữ liệu vào bảng

+ kiểm tra xem lần thi trước đó có liền kề không

+ Nếu liền kề thì cho phép nhập

+ Nếu không liền kề thì hủy hành động

IV Mô tả các view

1 View danh sách sinh viên có cùng địa chỉ.

- Tên view: DanhSachQue

- Kết quả thực hiện: Hiển thị danh sách các sinh viên có cùng quê

Trang 12

go select * from QuanLy DanhSachQue

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

1 Tạo các login

2 Tạo các role

1 nhomquanly Có mọi quyền trong các bảng thuộc schema

DaoTao, Khoa, QuanLy

2 nhomsudung Có quyền select đến các bảng thuộc schema

HoSo, Khoa, QuanLy

Trang 14

4 Cấp phát quyền cho role và user sử dụng giao diện MS SQL Management Studio

a Quyền cho role

 Role nhomquanly

 Role nhomsudung

Trang 15

b Quyền cho user

 User admin

 User khoa

15

Trang 16

 User daotao

 User giaovien

Trang 17

 User sinhvien

 User hoso

17

Trang 18

 User quanly

5 Cấp phát quyền cho role và user sử dụng các câu lệnh T-SQL

a Quyền cho role.

 Role nhomquanly

GRANT CONTROL ON [DaoTao] [CTCT] TO [nhomquanly]

GRANT CONTROL ON [DaoTao] [ChiTietMon] TO [nhomquanly]

GRANT CONTROL ON [DaoTao] [CT] TO [nhomquanly]

GRANT CONTROL ON [DaoTao] [HocKy] TO [nhomquanly]

GRANT CONTROL ON [DaoTao] [Mon] TO [nhomquanly]

 Role nhomsudung

GO

use [QuanLyHoSoSinhVien]

GRANTSELECTONSCHEMA :: [HoSo] TO [nhomsudung]

GRANTSELECTONSCHEMA :: [Khoa] TO [nhomsudung]

GRANTSELECTONSCHEMA :: [QuanLy] TO [nhomsudung]

Trang 19

b Quyền cho user

GRANTSELECTON [DaoTao] [Mon] TO [khoa]

GRANTSELECTON [DaoTao] [HocKy] TO [khoa]

GRANTSELECTON [DaoTao] [CT] TO [khoa]

Trang 20

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

1 Mã nguồn một số thủ tục.

a Thủ tục xem danh sách sinh viên trong chuyên nghành

ALTERproc [dbo] [DanhSachSinhVienTrongChuyenNghanh]

@MaNghanh varchar ( 10 )

as

select * from HoSo SinhVien where MaCN = @MaNghanh

b Thủ tục xem danh sách sinh viên trong khóa học

ALTERproc [dbo] [DanhSachSinhVienTrongKhoa]

@Khoa DateTime

as

select * from HoSo SinhVien

where year ( NgayNhapHoc )= year ( @Khoa )

c Thủ tục xem sinh viên nợ môn:

ALTERproc [dbo] [SinhVienNoMonTrongKhoa]

@KhoaHoc DateTime

as

select t1 MaSV , t1 MaMon , t1 LanThi , t1 Diem from

QuanLy BangDiem t1 innerjoin

( select MaSV , MaMon , max ( LanThi ) LanThi from

QuanLy BangDiem where MaSV in

( select MaSV from HoSo SinhVien

where year ( NgayNhapHoc )= year ( @KhoaHoc ))

groupby MaSV , MaMon ) as t2

on t1 MaSV = t2 MaSV and t1 MaMon = t2 MaMon and

t1 LanThi = t2 LanThi

where Diem < 5

Trang 21

2 Mã nguồn một số hàm.

a Hàm thống kê các sinh viên được học bổng sau mỗi một kỳ học

alterfunction hocbong ( @MaHk varchar ( 10 ))

returns @DS table ( MaSV varchar ( 10 ), DTB float )

[Diem] [float] NULL,

[NgayThi] [datetime] NULL,

[LanThi] [int] NULL);

with MaMH ( Mam ) as

(

select MaMon from DaoTao CTCT where MaHK = @MaHk

)

insert @BD1 select MaMon , MaSV , Diem , NgayThi , LanThi from

QuanLy BangDiem , MaMH where MaMon = MaMH Mam

declare @DS1 table ( MaSV varchar ( 10 ), DTB float )

insert @DS1 select MaSV , sum ( Diem )/ count ( Diem ) from @BD1

where Diem isnotnull

Trang 22

b Hàm tìm kiếm trên dữ liệu đa cấp.

CREATE FUNCTION TimCapDuoi ( @MaGV varchar ( 10 ))

RETURNS

@Temple TABLE (

[MaGV] [varchar] ( 10 ) PRIMARYKEY ,

[TenGV] [varchar] ( 20 )NOTNULL,

[MaKhoa] [varchar] ( 10 )NOTNULL,

[MaChucVu] [varchar] ( 10 )NULL,

[CapTren] [varchar] ( 10 )NULL)

AS

BEGIN

DECLARE @RowsAdded int

DECLARE @reports TABLE (

[MaGV] [varchar] ( 10 ) PRIMARYKEY ,

[TenGV] [varchar] ( 20 )NOTNULL,

[MaKhoa] [varchar] ( 10 )NOTNULL,

[MaChucVu] [varchar] ( 10 )NULL,

[CapTren] [varchar] ( 10 )NULL,

processed tinyintdefault 0 )

INSERT @reports SELECT

MaGV , TenGV , MaKhoa , MaChucVu , CapTren , 0

FROM HoSo GiaoVien WHERE MaGV = @MaGV

SET @RowsAdded = @@rowcount

WHILE @RowsAdded > 0

BEGIN

UPDATE @reports SET processed = 1 WHERE processed

= 0

INSERT @reports SELECT

GV MaGV , GV TenGV , GV MaKhoa , GV MaChucVu , GV CapTren , 0

FROM HoSo GiaoVien GV , @reports r

WHERE GV CapTren = r MaGV and r processed = 1

UPDATE @reports SET processed = 2

Trang 23

3 Mã nguồn một số trigger.

a Trigger kiểm tra dữ liệu nhập bảng điểm

Create trigger tg_RangBuocLanThi

on QuanLy BangDiem

for Insert , update

as

create table #tb1 ( LanThi int , RN intidentity ( 1 , 1 ));

insert into #tb1 selecttop 2 t1 LanThi from

QuanLy BangDiem t1 , inserted where

t1 MaSV = inserted MaSV and t1 MaMon = inserted MaMon

order by t1 LanThi desc ;

declare @diff int ;

select @diff =( select LanThi from #tb1 where RN = 1 ( select LanThi from #tb1 where RN = 2 )

)-print @diff

if @diff <> 1

begin

rollback tran raiserror ( 'Nhap lai lan thi' , 16 , 1 )

end else

print 'Nhap thanh cong' insert into QuanLy BangDiem ( MaSV , MaMon , Diem , LanThi )

values ( 'SV2' , 'M2' , 6 , 4 )

b Trigger cấm thêm login vào server

Create trigger tg_CamThemLogin

Trang 24

VII Kết luận

Mặc dù đã có những cố gắng, cùng với sự hướng dẫn tận tình của thầyNguyễn Mạnh Hùng, song vì thời gian còn hạn chế, bước đầu chúng em đượclàm quen với bài toán quản lý mà kinh nghiệm còn chưa nhiều nên chương trìnhcủa chúng em không tránh khỏi những thiếu sót Chúng em rất mong nhậnđược sự chỉ dẫn của thầy cô giáo cùng với sự góp ý của các bạn để chương trìnhcủa chúng em hoàn thiện hơn

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

HÌNH ẢNH LIÊN QUAN

2. Sơ đồ quan hệ giữa các bảng - Quản lý hồ sơ sinh viên
2. Sơ đồ quan hệ giữa các bảng (Trang 9)

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w