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教师实体图4.4课程实体(6)成绩实体及其属性,如图4.6所示4.2局部E-R图4.2.1学生-班级局部E-R图4.2.2教师-课程局部E-R图图4.8教师-课程局部E-R图4.2.3学生-课程局部E-R图4.3全局E-R图全局E-R图,如图4.10所示图4.10全局E-R图4.4关系表教师信息表如下表4-1所示:课程信息表如下表4-2所示:班级信息表如下表4-3所示:管理员信息表下表4-4所示:表4-4管理员信息表成绩信息表下表4-5所示:学籍信息下表4-6所示:5关键技术实现5.1创建数据库创建数据库,如下图5.1所示create database studenton(name-student_datefllenaice^ * f : CIE''-, S匸uci皀n匸date . ndf}log on(name -^s tudent_Lcg,f ilenair L e^ * f : CIE''-, S匸ud皀n匸loc.Ldf 1Ccnmand a) ccntpleced successfully图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所示:Exphsner v H X MELDWEAMH3FEXLA£QLEXPftES£ f£QL Server 二1 h Dal^bisse-s- □ lj SthiOCil 日 ll SlLid^M +i N D.ataba-54 Diarg 「日ES H _J T#bl*¥ + jj Syitem ITsbles- ± □ db D .»^<S.a^ 国□ dbQ.r®a®e^ * □晶厂皆理起M ± □ db D .«i.W.oSI H dbo •強程唁宜表+二Tbm 字生信轻ftEl J Views.E _j SyStSflii Views+ Cf dbn.«iWSii?&eH国&北d 学也彌息图5.2教师详细信息视图5.3.2 学生成绩信息”视图创建create view 学生成绩信息asSELECT 学籍信息表.学号,学籍信息表.姓名,学籍信息表.性别, 课程信息表.课程名称,成绩信息表.成绩ftW® 课桂号 谋程宕祢 登眾至田莎 O C01 CKHQQ1 W2 (W1QQ2 003 计 阪002 计 Muitamis 0Q2003 刘JM 兰 005 说计 M6卯 «K (XM005 W7W5005 0® 计is 机耕•聯吏 0fr5006009 匚程瞎设计 006Atti At£^FROM 成绩信息表JOIN 学籍信息表 ON 成绩信息表 JOIN 班级信息表 ON 班级信息表 JOIN 课程信息表 ON 课程信息表 .学号=学籍信息表.学号.班级号=学籍信息表.班级号.课程号=成绩信息表.课程号学生成绩信息视图创建结束的结果图如下图 5.3所示:.xpi-orpr 诗罕耳 MELDV¥EAMHIFE.…t - dbd 孚生底啧后吕 MELDVYEAMHSF... idbc 扳厲淙桂洋帶息 MELL 亨号 姓名 「I踝磁番ELDWEAMH3F£XU\SQLEXPRE SS (SQL S^f j Databases _j System Databases 田 口 Database Diagrams H LJ Tables ffl 匚| System Tables 田□ dbsifliE 信邑吞 ± J d 命咸務信目玉 田□ dbo,管班喘卑夷国□ Tbo,莪1门佶息耒 ffl □ dbm;甲程%亘燕 田23 dbo.^±1s@^ E 」Views bi-J Cj System Views ffl g Tbd 规i5i3聘详细信县田[f Ebd 李主咸S5信旦 田匚I Synonyms90数据结构 3920110566106 782ailO5£61D& JStttt 女 数相菇构 3720110 5&6107 王月 玄 戦库 6S2£111£156£107 王月 女 埶掲菇构 762011)0566106 壬彬67201山磁IDS 王嵌数摇结■恂 霁2011056610$ 划阳 56加1山济109 刘阳 女 教摇结枸 95AU1 AUX ALU NULL NUL L图5.3学生成绩信息视图MELDtfVEAMIH 卵一 EbeJS 种迂程详師旦 讨ELdW"M 阴FE 小…• SQ L Q U 「「:4 .甸・ M ElOWJ school 20U056&101如110麺』旧201in5£6102兀111Q 亦18201105661032011056610^ 周賊5.4存储过程创建541 “单科成绩排名”创建create proc [dbo].[ 单科成绩排名]@keche nn ame char(8),@class name char(8)asselect 学籍信息表. 学号,姓名, 成绩from 成绩信息表join 课程信息表on 课程信息表 .课程号=成绩信息表.课程号join 学籍信息表on 学籍信息表 .学号=成绩信息表. 学号join 班级信息表on 班级信息表 .班级号=学籍信息表.班级号where 课程名称=@kechenname and 班级名称=@classname order 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创建教师信息表-课程信息表之间的触发器仓U建触发器,使教师中某教师信息修改后,相应的在课程信息表中也要将相应教师的信息修改。