1.概述
学生管理是一个学校必不可少的部分,随着计算机和计算机知识的普及,学生管理系统得到了更大的发展空间,通过对学生管理系统的开发,可以提高校务人员的工作效率。
随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。学校部门中有着相当庞大的数据内容,而这些数据只是作为单纯数据摆放在电脑里,并没有真正使这些数据起到更大的作用。大量数据的手工操作也会是数据操作错误增加,而且还使得相关的工作更加冗长、繁锁,为了使这些数据为使用者起到更多的作用,为管理人员提供依据与分析,建立起了自己的数据库系统,由计算机管理代替手工操作,进行收集、管理业务数据,从而提高操作人员的工作效率。
2.需求分析
2.1功能需求
2.1.1对于教职工来说
在信息方面,需要对学生的信息能够了解,能够方便以后的课程教学中可以对自己进行改进。
- 在处理方面,当学生的信息出错时,老师能对信息进行修改。比如学生团支部更改、学生有转校、转系、转专业等,老师可以根据实际情况进行更新。需要的操作是修改、删除、增加。老师能够更改课程名、课程时长以及课程对应的学分的修改、删除、增加等等。
- 在安全性与完整性要求方面,系统需要设置访问用户的表示以鉴别是否为合法用户,并按照要求设置用户密码,以防止用户账号被盗用,系统也应该应对不同用户设置不同的访问权限及等级,区分教职工和学生。为了保证信息的完整性,在录入信息时,系统的各项内容不能为空,各项信息数据应保证准确正确,相同数据在不同记录中应一致。
2.1.2对于学生来说
- 在信息方面,学生能够查询自己的个人信息,确保学生信息的正确性。还可以查询学生的课程信息及学生培养信息,以便于学生能够了解学习目标及目的。还可以修改学生信息。
- 在处理方面,学生除了能够查询自己成整体信息外,还能够修改学生信息。当学生查询信息发现学生个人信息比如姓名、年龄等出错时学生可以根据个人情况进行修改、删除等。
2.2数据需求
学生信息包含:学生基本信息、课程基本信息、成绩信息。学生基本信息根据要求应该包括学生对应的学号,姓名,性别,所在班级等;课程基本信息应该包课程号,课程名,课时,学分等;成绩表包含课程号,学号,成绩等。
与学生唯一一对应的是学号,所以学号是唯一的主键,其他的都不能是,根据学号我们可以查找学生的基本信息,还有学生姓名等有关信息;根据课程号可以知道学生对应的成绩等。
与课程一一对应的是课程号,所以课程号是唯一主码,其他的都不是,根据课程号我们可以查询课程的基本信息,如课程名、对应的课时和对应的学分等。
与成绩对应的有两个主码,一个是课程号还有一个是学号。只有这两个同时确定了之后才能确定一个准确的成绩。
在用户表中可以根据用户需要进行密码的修改等一系列操作。
2.3数据字典
数据项是数据库的关系中不可再分的数据单位,下表分别列出了数据的名称、数据类型、长度、取值能否为空。
表1.数据库中用到的表
数据库表名 | 关系模式名称 | 备注 |
Student | 学生表 | 学生学籍信息表 |
Course | 课程表 | 课程基本信息表 |
Teach | 教师表 | 教师基本信息表 |
Stu_Cour | 选课表 | 学生选课信息 |
Score | 成绩表 | 选课成绩信息表 |
表2.Student基本信息表结构
字段名 | 字段类型 | 说明 | 约束控制 |
Sno | char | 学号 | 主键 |
Sname | char | 姓名 | |
Ssex | char | 性别 | |
Sage | int | 年龄 | |
Sdept | char | 所在系 |
表3.Teach基本信息表结构
字段名 | 字段类型 | 字段信息 | 约束控制 |
Tno | char | 教师号 | 主键 |
Tname | char | 教师姓名 | |
Tsex | char | 性别 | |
Cno | char | 所教课程 | 外部码 |
Tage | int | 年龄 | |
Tdept | char | 所在系 |
表4.Course基本信息表结构
字段名 | 字段类型 | 字段信息 | 约束控制 |
Cno | char | 课程号 | 主键 |
Cname | char | 课程名 | |
Cpno | char | 先行课 | |
Ccredit | int | 学分 |
表5.Stu_cour基本信息表结构
字段名 | 字段类型 | 字段信息 | 约束控制 |
Cno | char | 课程号 | 外部键 |
Sno | char | 学号 | 外部键 |
表6.Score基本信息表结构
字段名 | 字段类型 | 字段信息 | 约束控制 |
Cno | char | 课程号 | 外部键 |
Sno | char | 学号 | 外部键 |
Score | int | 成绩 |
2.4系统模块设计
图4.学生管理系统模块设计
- 概念结构设计
3.1E-R图
根据需求分析可知本系统设计的实体包括:
学生基本信息:学号,姓名,性别,邮箱,地址,学院,学历,入学日期,专业,班级,学制等。
图5.学生基本信息E-R图
学科基本信息实体:学科编号,学科名称,学分,开课学院,课程性质
图6.学科基本信息实体E-R图
选课信息:ID号、课程号、学生编号、成绩
图7.选课信息E-R图
教师基本信息实体
图8.教师基本信息实体E-R图
课程设计实体:课程号、学科编号、教师编号、学期、学生人数、最大学生数、学时。
图9.课程信息实体E-R图
总体E-R关系略图:
图10.学生管理系统总体E-R图
3.2流程图
图11.学生管理系统流程图
4.逻辑结构设计
将E-R图转换为关系模型,实体型转换为关系模式。实体的属性就是关系的属性,实体的码就是关系的码。对于实体间内联系则有以下不同的情况:
一个m:n联系转换为一个独立的关系模式。与该联系相联的个实体的码以及联系本身的属性勾转换为关系的属性,而关系的码为各实体码的组合。
一个l:n联系可以转换为一个独立的关系模式,也可以与n端对应的关系模式合并。如果转突为一个独立的关系模式,则与该联系相联的各实体的码以及联系本身的属性均转换为关系的属性,而关系的码为n端实体的码。
一个1:1联系可以转换为一个独立的关系模式, 也可以与任意一端对应的关系模式合并。3个或3个以上实体间的一个多元联系可以转换为一个关系模式。与该多元联系相联的各实体的码以及联系本身的属性均转换为关系的属性,而关系的码为各实体码的组合,具有相同的关系模式可合并,
具体的基本B- R图向关系模式的转化如下:
(1)学生(学生编号,姓名,性别,邮箱,地址,学院,学历,入学日期,专业,班级,学制),其主关键字为学生编号。
(2)学科(学科编号,学科名称,学分,开课学院,课程性质),其中主关键字为学科编号。
(3)教师(教师编号,教师姓名,性别,邮箱,地址,所属学院,职称,入职日期)其中主关健字为教师编号。
(4)课程(课程号,学科编号,教师编号,学期,学生人数,最大学生数,学时)其中主关键字为课程号。
(5)选课(ID号,课程号,学生编号,成绩)其中主关键字为ID号。
可以与学生关系模式合并为:
学生(学生编号,姓名,性别,邮箱,地址,学院,学历,入学日期,专业,班级,学制,课程号,成绩)。