1 概述学生信息管理系统是学校管理的重要工具,是学校不可或缺的部分。
随着在校大学生人数的不断增加,教务系统的数量也不断的上涨,。
学校工作繁杂、资料众多,人工管理信息的难度也越来越大,显然是不能满足实际的需要,效率也是很低的。
并且这种传统的方式存在着很多的弊端,如:保密性差、查询不便、效率低,很难维护和更新等。
然而,本系统针对以上缺点能够极大地提高学生信息管理的效率,也是科学化、正规化的管理,与世界接轨的重要条件。
所以如何自动高效地管理信息是这些年来许多人所研究的。
随着这些年电脑计算机的速度质的提高,成本的下降,IT互联网大众趋势的发展。
我们使用电脑的高效率才处理数据信息成为可能。
学生学籍管理系统的出现,正是管理人员与信息数据,计算机的进入互动时代的体现。
友好的人机交互模式,清晰简明的图形界面,高效安全的操作使得我们对成千上万的信息的管理得心应手。
通过这个系统,可以做到信息的规范管理,科学统计和快速的查询,从而减少管理方面的工作量。毋庸置疑,切实有效地把计算机管理引入学校教务管理中,对于促进学校管理制度,提高学校教学质量与办学水平有着显著意义。2 需求与功能分析学生信息管理系统,可用于学校等机构的学生信息管理,查询,更新与维护,使用方便,易用性强。
该系统实现的大致功能:用户登陆。
提供了学生学籍信息的查询,相关科目的成绩查询和排名,修改登录密码等功能。
教师管理。
提供了对学生学籍信息的查询,添加,修改,删除;学生成绩的录入,修改,删除,查询班级排名。
修改密码等功能。
管理员管理。
拥有最高的权限。
允许添加教师信息和课程信息等。
其提供了简单、方便的操作。
3 概要设计3.1功能模块图功能模块图,如下图3.1所示图3.1 功能模块图3.2数据流图数据流图,如图3.2所示图3.2 数据流程图学生信息管理系统学生基本信息班级基本信息管理员基本信息学生成绩信息课程基本信息教师基本信息学生信息管理系统管理员学生 教师成绩学生信息课程信息教师信息 授课信息 成绩教师信息 课程信息4 数据库设计4.1实体及其属性(1)学生实体及其属性,如下图4.1所示图4.1 学生实体(2)教师实体及其属性,如图4.2所示图4.2 教师实体(3)管理员实体及其属性,如图4.3所示图4.3 管理员实体(4)课程实体及其属性,如图4.4所示学生姓名 学号性别班级号籍贯登录密码教师教师姓名教师ID登陆密码管理员登陆密码管理员ID课程课程名称课程号教师ID图4.4 课程实体(5)班级实体及其属性,如图4.5所示图4.5 班级实体(6)成绩实体及其属性,如图4.6所示图4.6成绩实体4.2局部E-R 图4.2.1学生-班级局部E-R 图学生-班级局部E-R 图如下图4.7所示:图4.7学生-班级局部E-R 图4.2.2教师-课程局部E-R 图教师-课程局部E-R 图如下图4.8所示:班级班级名称班级号所属学院班级人数成绩课程号学号成绩所属n1图4.8教师-课程局部E-R 图4.2.3学生-课程局部E-R 图学生-课程局部E-R 图如下图4.9所示:图4.9学生-课程局部E-R 图4.3全局E-R 图全局E -R图,如图4.10所示图4.10全局E-R 图4.4关系表教师信息表如下表4-1所示:管理员 登陆密码管理员ID 选修成绩nn学生教师课程班级所属选修授课成绩字段名类型空值约束条件教师ID varchar(8) not null 主键教师姓名varchar(8) not null登录密码varchar(8) not null课程信息表如下表4-2所示:表4-2 课程信息表字段名类型空值约束条件课程号varchar(8) not null 主键课程名称varchar(12) not null教师ID varchar(8) not null 外键班级信息表如下表4-3所示:表4-3 班级信息表字段名类型空值约束条件班级号varchar(8) not null 主键班级名称varchar(8) not null所属学院varchar(6)班级人数nchar(4)管理员信息表下表4-4所示:表4-4 管理员信息表字段名类型空值约束条件管理员ID varchar(10) not null 主键登录密码varchar(10) not null成绩信息表下表4-5所示:字段名类型空值约束条件学号varchar(15) not null 主键,外键课程号varchar(8) not null 主键,外键成绩smallint not null学籍信息下表4-6所示:表4-6 学籍信息表字段名类型空值约束条件学号int not null 主键姓名varchar(30) not null性别char(2)班级号varchar(30) not null 外键籍贯char(10)登录密码money not null5 关键技术实现5.1创建数据库创建数据库,如下图5.1所示图5.1 创建数据库5.2 创建基本表5.2.1教师信息表创建create table 教师信息表(教师ID varchar(8) primary key ,教师姓名varchar(8) not null unique,登录密码varchar(8) not null,)5.2.2课程信息表创建create table 课程信息表(课程号varchar(8) primary key,课程名称varchar(12) not null,教师ID varchar(8) not nullforeign key(教师ID) references 教师信息表(教师ID) )5.2.3班级信息表创建create table 班级信息表(班级号varchar(8) not null primary key,班级名称varchar(8) not null unique,所属学院varchar(8) ,班级人数 nchar(4))5.2.4学籍信息表创建create table 学籍信息表(学号varchar(15) primary key,姓名varchar(8) not null ,性别varchar(4) ,班级号varchar(8) not null ,籍贯varchar(5) ,登录密码varchar(6) not nullforeign key (班级号) references 班级信息表(班级号))5.2.5成绩信息表创建create table 成绩信息表(学号varchar(15),课程号varchar(8),成绩smallintprimary key(学号,课程号)foreign key (学号) references 学籍信息表(学号),foreign key (课程号) references 课程信息表(课程号))5.2.6管理员信息表创建create table 课程信息表(管理员ID varchar(8) primary key,登录密码 varchar(12) not null)5.3视图的创建5.3.1“教师课程详细信息”视图创建create view 教师课程详细信息asSELECT 教师信息表.教师ID,教师信息表.教师姓名,课程信息表.课程号,课程信息表.课程名称, 教师信息表.登录密码FROM 教师信息表JOIN 课程信息表 ON 教师信息表.教师ID =课程信息表.教师ID视图创建结束的结果图如下图5.2所示:图5.2 教师详细信息视图5.3.2 “学生成绩信息”视图创建create view 学生成绩信息asSELECT 学籍信息表.学号,学籍信息表.姓名,学籍信息表.性别,课程信息表.课程名称,成绩信息表.成绩FROM 成绩信息表JOIN 学籍信息表 ON 成绩信息表.学号 = 学籍信息表.学号JOIN 班级信息表 ON 班级信息表.班级号 = 学籍信息表.班级号JOIN 课程信息表 ON 课程信息表.课程号 = 成绩信息表.课程号学生成绩信息视图创建结束的结果图如下图5.3所示:图5.3 学生成绩信息视图5.4 存储过程创建5.4.1“单科成绩排名”创建create proc [dbo].[单科成绩排名]@kechenname char(8),@classname char(8)asselect 学籍信息表.学号,姓名,成绩from 成绩信息表join 课程信息表on 课程信息表.课程号=成绩信息表.课程号join 学籍信息表on 学籍信息表.学号=成绩信息表.学号join 班级信息表on 班级信息表.班级号=学籍信息表.班级号where 课程名称=@kechenname and 班级名称=@classnameorder by 成绩desc5.4.2“全班排名”创建create proc [dbo].[全班排名]@class char(8)asselect学籍信息表.学号,姓名,avg(成绩)as平均分,sum(成绩)as总分from成绩信息表join学籍信息表on成绩信息表.学号=学籍信息表.学号join班级信息表on班级信息表.班级号=学籍信息表.班级号where班级信息表.班级名称=@classgroup by学籍信息表.姓名,学籍信息表.学号order by avg(成绩)desc,学籍信息表.学号5.5 触发器创建5.5.1 创建教师信息表-课程信息表之间的触发器。
创建触发器,使教师中某教师信息修改后,相应的在课程信息表中也要将相应教师的信息修改。
创建触发器如下图5.4所示:图5.4 教师信息表-课程信息表之间的触发器5.5.2 创建成绩信息表的触发器为成绩信息表创建触发器,使得成绩在0-100分之间。
创建过程如下图5.5所示图5.5在成绩信息表创建触发器如下图5.6中在成绩信息表中插入两条信息图5.6 在成绩信息表中插入两条子信息5.6数据库的备份和恢复5.6.1数据库备份数据库的备份信息如下图5.7所示BACKUP DATABASE student TO DISK =N'f:\cm\Staff.bak'图5.7 数据库备份5.6.2数据库还原数据库的还原如下图5.8所示RESTORE DATABASE student FROM disk= N'f:\cm\Staff.bak'图5.8 数据库还原6 数据库安全性控制新建两个数据库用户madmin和cai,manager用户能够查看和删除student数据库中的学生信息,而Writer用户能够插入和更新student数据库的学生信息。
用户madmin的权限如下图6.1所示,用户cai的权限如下图6.2所示图6.1用户madmin的权限图6.2用户cai的权限7 总结与展望课程设计是培养学生综合运用所学知识,发现,提出,分析和解决实际问题,锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程。