学生成绩管理数据库系统设计数据库实验大作业Word格式文档下载.docx
《学生成绩管理数据库系统设计数据库实验大作业Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《学生成绩管理数据库系统设计数据库实验大作业Word格式文档下载.docx(18页珍藏版)》请在冰豆网上搜索。
二、系统概述
系统功能框架
该系统的功能框架如下:
信息管理:
查询
、添加、删除、修改学生信息。
成绩管理:
、添加、删除、修改学生成绩。
系统管理:
保存各类用户对象的帐号信息、登录验证,维护系统数据字典、添加管理员、删除管理员、修改管理员信息。
运行环境
本系统服务器的运行环境如下:
操作系统:
Windows
XP
以上
服务器:
数据库:
SQL
Server
2005
硬件配置:
CPU:
内存:
256MB以上
用户特点
使用本系统的用户包括:
系统管理员(admin)、教师和学生。
系统管理员是这个系统的root用户,他应该要拥有所有权限以便完成他管理者的角色,所以应该能够有学生信息表,成绩信息表和教师信息表的操作权限,另一方面他应该能够管理普通用户的帐号,实现自主访问控制。
而教师应该可以对自己所授课程相关的信息有着一定的控制权限,例如登记成绩,增加、修改选课信息等,对于跟自己无关的信息应当对其隐藏。
在此系统中的学生应该只有查询权限,以防各种信息被恶意篡改。
所以在此系统中,系统管理员要拥有几乎所有的权限,需要完成对系统的管理和维护,而教师和学生是受限户,其权限受限于自身,不能修改查看与自己无关的数据信息。
三、功能描述
本系统的软件流程图如下:
选课
退课
查询成绩课表学分
修改个人信息
打分
查看成绩分布
首页浏览
发布公告
设置老师
选课开关
修改教师账号状态
增删改课程信息
修改学生账号状态
需求分解
按照不同角色用户对系统需求的不同,系统将需求分解成三个模块,学生模块,教师模块和管理员模块:
1、系统管理员模块
系统管理员需要能够在本系统上完成如下操作:
1、管理所有课程:
増、删、改、查所有课程的信息2、管理所有教师:
増、删、改、查所有教师的信息3、管理所有学生:
増、删、改、查所有课程以及课程成绩信息4、管理所有老师和学生的账号信息:
増、删、改、查所有帐号的信息。
2、教师模块
教师需要能够在本系统上完成的操作有:
1、管理自己所教授课程:
增、删、改、查所授课程的学生信息(包括成绩信息)2、查询自己的教师信息
3、学生模块
学生需要能够在本系统上完成的操作:
查询自己的学生信息(包括成绩和选课)。
功能分解
通过前面描述的系统的功能框架。
我们将系统分解成三个子功能:
系统管理、信息管理和成绩管理:
1、系统管理
功能
保存各类用户对象的帐号信息、登录验证,维护系统数据字典、添加管理员、修改管理员信息。
业务流程
(1)负责对登录用户的用户名、密码进行验证,若为未注册用户或密码错误则提示错误信息并拒绝访问。
(2)若此用户为合法用户并通过了验证,则判断该帐号属于哪类用户,并进入对应的页面。
(3)若此用户是管理员用户,则可以添加新的管理员用户或修改已存在的管理员信息表。
输入
用户的用户名、密码或是对管理员信息的修改命令
界面
标准的登录界面
信息修改界面
算法
调用数据库的各类用户表,通过SELECT语句在用户表的查询结果来验证登录。
通过ALTER等语句对管理员表进行修改
输出
验证结果(通过还是未通过),并进入对应的界面。
更改后的管理员用户表。
备注
登录验证的密码不能是明码存储,应该md5加密之后存储在表中。
2、信息管理系统
实现对学生、教师及选课信息的存储,并且可以查询
(1)判断用户类型,给不同类型用户分配不同的信息表操作权限
(2)若是管理员用户,则对学生信息表、教师信息表和选课表拥有所有操作权限,通过查询、修改等语句将对数据库操作的结果显示在界面上或写入数据库;
若是教师用户,则只能对任课的选课表进行查询、修改操作并且可以查询自己的教职工信息,将结果显示在界面上;
若是学生,仅能在界面上查询自己的学生信息。
(3)若对无权限表进行操作,显示错误信息并拒绝操作。
查询框输入各种查询条件,编辑界面输入修改信息
调用数据库的各类用户表,查询操作就通过各种语句将结果显示在界面上,修改操作就将界面上的操作结果写入到数据库中
查询结果、数据库表格内容变化
实现对各类信息的存储和管理。
3、成绩管理系统
实现学生各门课程成绩的存储,并且对这些信息进行查询
、添加、删除、修改操作。
(1)判断用户类型,给不同类型用户分配不同的成绩表操作权限
(2)若是管理员用户,则对选课表拥有所有操作权限,通过查询、修改成绩等语句将对数据库操作的结果显示在界面上或写入数据库;
若是教师用户,则只能对任课的选课表进行查询(将成绩单显示在界面上)、修改(将成绩录入数据库);
若是学生,仅能在界面上查询自己各科的成绩。
调用数据库的选课表,查询操作就通过各种语句将成绩结果显示在界面上,修改操作就将界面上成绩信息写入到数据库中
实现对学生成绩的存储和管理。
信息流程图
验证可选设置否
是
系主任确认
开放学生选课系统
四、数据库的逻辑结构设计
逻辑结构是独立于任何一种数据模型的信息结构。
逻辑结构的任务是把概念结构设计阶段设计好的基本E-R图转化为宜选用的DBMS所支持的数据模型相符合的逻辑结构,并对其进行优化。
E-R图向关系模型转化要解决的问题是如何将实体型和实体间的联系转化为关系模式,如何确定这些关系模式的属性和码。
设计学生成绩管理数据库,包括课程、学生、教师、成绩四个关系,
其关系模式中对每个实体定义的属性如下:
课程信息表(课程号,课程名,课程人数,任课教师)
学生信息表
(学号,姓名,性别,院系,年龄,籍贯)
教师信息表(教师号,姓名,所在院系)
学生选课表(学号,课程号,平时成绩,期末成绩,总成绩)
管理员表(用户名,登录密码)
学生登录表(用户名,登录密码)
教师登录表(用户名,登录密码)
TABLEadmin(管理员帐号表)
属性
类型
长度
是否为空
默认值
主键
username
VARCHAR
20
NOTNULL
NULL
√
password
30
\
TABLEtealogin(教师帐号表)
外键
tea_info
TABLEstulogin(学生帐号表)
stu_info
TABLEstu_info(学生信息表)
sno
sname
可为空
age
NUMERIC
2
sex
dept
place
TABLEtea_info(教师信息表)
tno
tname
TABLEcourse_info(课程信息表)
cno
cname
stu_num
10
TABLEstu_course(学生选课表)
stu_info
Course_info
usual_grade
int
final_grade
total_mark
五、数据库实施
创建数据库
createdatabasestudent
创建表
#用户名、密码
CREATETABLEIFNOTEXISTSadmin(
usernamevarchar(20)COMMENT='
用户名'
passwordvarchar(30)COMMENT='
登录密码'
PRIMARYKEY(username)
)DEFAULTCHARSET=utf8COMMENT='
管理员表'
;
CREATETABLEIFNOTEXISTStealogin(
PRIMARYKEY(username),
FOREIGNKEY(username)REFERENCEStea_info
教师登录表'
CREATETABLEIFNOTEXISTSstulogin(
FOREIGNKEY(username)REFERENCESstu_info
学生登录表'
#学号、姓名、年龄、性别、院系、籍贯
CREATETABLEIFNOTEXISTSstu_info(
snovarchar(20)COMMENT='
学号'
snamevarchar(30)COMMENT='
姓名'
agenumeric
(2)COMMENT='
年龄'
sexvarchar
(2)COMMENT='
性别'
deptvarchar(20)COMMENT='
院系'
placevarchar(20)COMMENT='
籍贯'
PRIMARYKEY(sno)
学生信息表'
#学工号、姓名、院系
CREATETABLEIFNOTEXISTStea_info(
tnovarchar(20)COMMENT='
教师工号'
tnamevarchar(30)COMMENT='
PRIMARYKEY(tno)
教师信息表'
#课程号、课程名、任课教师
CREATETABLEIFNOTEXISTScourse_info(
cnovarchar(20)COMMENT='
课程号'
cnamevarchar(30)COMMENT='
课程名'
任课教师'
student_numvarchar(10)COMMENT='
课程人数'
PRIMARYKEY(cno)
课程信息表'
#学号、课程号、平时成绩、期末成绩、总成绩
CREATETABLEIFNOTEXISTSstu_course(
usual_gradeintCOMMENT='
平时成绩'
final_gradeintCOMMENT='
期末成绩'
gradeintCOMMENT='
总成绩'
PRIMARYKEY(sno,cno),
FOREIGNKEY(sno)REFERENCESstu_info,
FOREIGNKEY(cno)REFERENCEScourse_info
选课信息表'
#检测数据插入
INSERTINTOadminVALUES('
20'
MD5('
123'
));
INSERTINTOtealoginVALUES('
INSERTINTOstuloginVALUES('
INSERTINTOtea_infoVALUES('
'
赵一'
计算机学院'
);
赵二'
经济与管理学院'
赵三'
物理学院'
INSERTINTOstu_infoVALUES('
张一'
男'
湖北'
张二'
21'
女'
湖南'
张三'
22'
福建'
INSERTINTOcourse_infoVALUES('
201501'
数据库'
201502'
C语言程序设计'
201503'
计算机网络'
INSERTINTOstu_courseVALUES('
90'
100'
94'
96'
六、系统实现
界面设计
系统登陆页面
可选择登陆角色:
学生,老师或管理员
管理员登陆界面
进入管理员操作页面后,可以选择管理课程、管理教师或管理学生
1)管理学生:
2)管理教师
3)管理课程:
添加课程:
学生登陆界面查看分数及课程
教师登陆界面
可查看学生平时成绩、期末成绩和总成绩
还可以根据分数区间、课程号和总成绩进行条件查询:
教师改分与添加成绩融合,使操作更加简单:
七、参考资料
《软件工程》清华大学出版社
《数据库原理与技术(Oracle版)》清华大学出版社
html、jsp、php