学生信息管理系统的设计
2013-08-06黄思明
黄思明
(广东省电子职业技术学校,广东 广州 510515)
1.引言
目前,学校的办公方式仍然采用传统的基于纸质的办公模式,既浪费时间且效率低下,也不环保,对于处理大量的学生信息来说变得流动不畅通,反馈时间变长,缺乏时效性,该模式已经无法适应新时期的办公需要。随着网络技术的发展,利用计算机网络技术设计一种基于Web的学生信息管理系统,这是一种优化的科学的办公手段。本文的学生信息管理系统是基于Web的B/S结构,应用SQL数据库与PHP语言技术实现的系统,主要包括系统设计目的、系统模块设计、数据库设计、系统的技术与实现,重点是在SQL数据库的设计和系统的技术PHP语言的实现。
2.系统设计目的
设计学生信息管理系统的目的就是为了将学校的各个部门通过网络紧密地联系起来,实现办公信息化,达到设备和信息实时共享,使用户能方便得到想要的信息,使得管理工作更加清晰、条理化、自动化,最大程度地提高各个部门的工作效率。解决长期困扰学生管理中的信息的处理问题,将信息的管理分配给各部门的相关老师来处理,不用管理人员独自处理数据,不必为聘用专门的操作人员来给众多班级编辑学生信息而精疲力竭,方便数据信息的收集、存储、传递和维护,从而提高了数据的安全性、可靠性和可管理性。方便管理者、老师和学生间的信息发布、信息交流和信息共享。
3.系统模块设计
学生信息管理系统的功能模块设计主要由学生管理、班级管理、专业管理、课程管理、系部管理、成绩管理、用户管理和系统设置八个部分组成,功能模块如图1所示,各模块的功能如下:
(1)学生管理包括添加学生信息注册、修改学生信息、删除学生信息、查看学生信息和学生档案信息的功能。
(2)班级信息管理包括添加班级信息、修改班级信息、删除班级信息、查询班级信息功能。
(3)课程管理包括添加课程、修改课程、删除课程和查询课程功能。
(4)专业管理包括添加专业、修改专业、删除专业和查询专业功能。
(5)成绩管理包括录入成绩、修改成绩、查询成绩和成绩内部排名功能。
(6)系部管理包括添加系部、修改系部、删除系部和查询系部功能。
(7)用户管理包括登录账户管理和修改登录密码、添加登录账户、删除登录账户和禁止登录帐户功能。
(8)系统设置包括数据库备份与恢复功能。
图1 学生信息管理系统图
图2 学生信息管理系统E-R图
4.数据库设计
根据学生信息管理系统各模块功能的要求,数据库设计分五个步骤进行,它们分别是数据库的关系数据模型设计、数据库概念结构(E-R图)设计、数据库各表逻辑结构设计、数据库与表的创建、用户管理和数据库备份与恢复。
4.1 数据库的关系数据模型
学生信息管理系统关系数据模型为:
(实体)系部(系部编号,系部名称)
(实体)班级(班级编号,班级名称,班主任,专业名称,系部编号)
(实体)学生(班级学号,学生姓名,性别,民族,政治面貌,籍贯,出生年月日,身份证号,专业名称,本人联系电话,家长联系电话,家庭住址,邮政编码,系部名称,班级编号)
(实体)课程(课程编号,课程名称,专业名称,系部编号)
(联系)成绩(班级学号,学生姓名,课程编号,分数)
4.2 数据库概念结构(E-R图)与各表逻辑结构设计
(1)数据库E-R图设计:将“实体-联系”的概念模型转化为E-R图,用E-R图描述学生信息管理系统,如图2所示。
(2)数据库各表逻辑结构设计:根据系统E-R图设计数据表来存放学生信息管理系统的信息,各表包括系部表(department)、班级表(class)、学生表(student)、课程表(course)和成绩表(score)的设计,具体情况如下各表所示。
表1 系部表(department)
表2 班级表(class)
表3 学生表(student)
表4 课程表(course)
表5 成绩表(score)
4.3 创建数据库和数据表
4.3.1 创立数据库的SQL语句
create database stuinfo
on primary
(name='Stuinfo',
filename=d:datastuinfo.mdf',size=10mb,maxsizeE=50mb,filegrow th=10%),
log on
(name='stuinfo_log',
filename=d:datalog_stuinfo.ldf',size=5mb,maxsizeE=20mb,filegrow th=10%),
collate chinese_prc_bin
4.3.2 创建各数据表
(1)创建系部表
create table department
(xb_id char(8)primary key notnull,xbmc char(10)null,)
(2)创建班级表
create table class
(bj_id char(8)primary key not null,bjmc char(8)null,bzr char(5)null,zymc char(5)null,Xb_id char(8)not null,constraint fk_sno foreign key references department(bj_id))
(3)创建学生表
create table student
(bjxh_id char(8)primary key not null,xsxm char(6)null,xb char(2)null,mz char(3)null,zzmm char(6)null,jg char(8)null,csny smalldatetime(4)null,sfzh char(18)null,zymc char(6)null,brdh char(11)null,Jzdh char(11)null,jtzz char(18)null,yzbm char(5)null,xbmc char(6)null,Bjbh_id char(8)notnull,Constraint fk_sno foreign key references class(bj_id))
(4)创建课程表
create table course
(kc_id char(8)primary key not null,kcmc char(8)null,zymc char(5)null,Xb_id char(8)not null,Constraint fk_sno Foreign Key references department(bj_id),fs char(3)null))
(5)创建成绩表
create table score
(bjxh_id char(6)primary key not null,xsxm char(4)null,kc_id char(8)not null,Constraint fk_sno foreign key reference scourse(kc_id))
4.4 用户管理
在使用学生信息管理系统中分为三个等级的用户,其中服务器管理员(教师)是最高级的教师用户,他们的权限是最高的,可以对数据库进行添加、修改和删除等的管理;一般的教师用户没有数据库的管理权,他们的权限是第二级的权限,只是可以通过网页添加班级学生的鉴定、成绩等信息;学生是最低的权限,只能通过网页查看学生本人的信息,如查看成绩、鉴定和通知等。根据上述权限的不同等级,为提高数据库的安全性,在本文的数据库系统中重新设置登录账户管理和修改登录密码、添加登录账户、删除登录账户和禁止登录帐户,对一般的教师用户和学生不设置为登录账户。
(1)登录账户管理:在安装数据库后,数据库提供了三个系统内置的登录账户,其中SA为系统管理员登录账户,该账户拥有最高的管理权限,可以对数据库进行添加、删除登录账户或修改账户的所有操作,必须更改SA账户的登录密码,修改 SQL代码是 exec sp_password'zhangssan','lisi','SA',即将账户为SA的密码由原先的“zhangsan”改为“lisi”。
(2)添加登录账户:添加SQL代码是exec sp_addlogin'zhangsan','xinm ima','stuinfo','simplifiedchina',即为学生信息管理系统数据库“stuinfo”添加了“zhangsan”登录账户,密码是“xinmima”,默认语言是“simplifiedchina”。
(3)删除登录帐户:删除SQL代码是exec sp_droplogin'zhangsan',即为学生信息管理系统数据库“Stuinfo”删除“zhangsan”登录账户。
(4)禁止登录帐户:禁止SQL代码是exec sp_denylogin'domain\zhangsan',即禁止“zhangsan”账户登录为学生信息管理系统数据库“stuinfo”中。
4.5 数据库备份和恢复
数据库中存放的是最为重要的数据信息,数据库中的数据丢失将给用户带来不可估量的损失。数据丢失可能的原因有非法登录者对数据库进行刻意的破坏,或者是感染病毒、用户的错误操作、硬件的损坏和计算机系统的崩溃等等。为了使系统在出现故障后能尽快恢复正常工作,把损失降为最低,必须对数据库进行备份,以便在需要时能够及时恢复。将学生信息管理系统数据库“Stuinfo”备份和恢复的关键代码如下。
(1)数据库备份
exec sp_adddumpdevice'disk','stuinfo','d:Stuinfo.bak'
backup database stuinfo to'disk'='d:Stuinfo.bak'with format
(2)数据库恢复
restore database stuinfo from disk='e:Stuinfo.bak'with replace
5.系统的技术与实现
随着计算机网络技术的发展,B/S结构即浏览器和服务器结构应用非常广泛。B/S结构的优点是一次开发到位,能实现不同人员,从不同地点,以不同的接入方式进行访问和操作共同的数据库,它能有效地保护数据平台和管理访问权限,服务器数据库也很安全。因此,本文的学生信息管理系统是采用基于Web的B/S结构并应用PHP与MySQL的技术实现。
由于学生管理、班级管理、专业管理、课程管理、系部管理、成绩管理和用户管理七部分中添加、修改、删除和查询信息部分的操作方法相同,因此下面只以班级管理中添加班级信息、修改班级信息、删除班级信息、查询班级信息为例,列出这部分实现操作的关键性代码。
(1)连接stuinfo数据库公共代码
$conn=mysql_connect("localhost","root","root")or die("数据库服务器连接错误".mysql_error());
mysql_select_db("Stuinfo",$conn)or die("数据库访问错误 ".mysql_error());
mysql_query("setnamesgb2312");
(2)添加信息部分代码
连接stuinfo数据库公共代码;$bjmc=$_POST[bjmc];$bzr=$_POST[bzr];$zymc=$_POST[zymc];
$sql=mysql_query("insert into class(bjmc,bzr,zymc)values('$bjmc','$bzr','$zymc')");
mysql_free_result($sql);mysql_close($conn);?>
(3)修改信息部分代码
连接Stuinfo数据库公共代码;$bjmc=$_POST[bjmc];$bzr=$_POST[bzr];$zymc=$_POST[zymc];$id=$_POST[id];
$sql=mysql_query("update class set bjmc='$bjmc',bzr='$bzr',zym c=$zym c where id=$id");
}
?>
(4)删除信息部分代码
连接Stuinfo数据库公共代码;$id=$_GET[id];$sql=mysql_query("delete from classwhere id=$id");
?>
(5)查询信息部分代码
连接Stuinfo数据库公共代码;$sql=mysql_query("select*from class");
$row=mysql_fetch_object($sql);
do{
?>
}while($row=mysql_fetch_object($sql));
mysql_free_result($sql);mysql_close($conn);
?>
6.总结与展望
本文针对当前我校的办公情况设计了一个基于Web的B/S结构的,使用MySQL数据库技术和PHP技术开发的学生信息管理系统,使学校的各个部门的办公连成一体。系统通过Internet网络对学生的各种信息进行采集和管理,使学生的信息高度共享,实现对学生信息管理的计算机化、网络化,方便老师和学生查询,同时也保证数据的安全。
本系统只是对学生信息进行管理,管理的范围还是比较窄,不能完全服务整个学校的信息管理的需求。本系统的管理功能还不够完善,它只涉及到学生的系部、班级、年级、课程、成绩、专业、学生个人信息的添加、删除、修改和查询等方面的管理,缺乏对学生处分、学生档案、学生宿舍和学生选课的管理需求;还缺乏对图书馆的借阅还书管理、教职员工管理、通知短信发送等方面的管理。另外,对数据的准确分析、数据的完整性、安全性等方面的问题,都有待进一步的深入研究,最终能将本系统升级为功能全面的办公自动化OA管理系统。
[1]胡莹瑾,张鸿颜,李杰.S Q L S er v er2000数据库[M].北京:化学工业出版社,2008.
[2]赵增敏,朱粹丹,赵朱曦.S Q L S er v er2000案例教程[M].北京:电子工业出版社,2005.