数据库学生管理系统.docx
《数据库学生管理系统.docx》由会员分享,可在线阅读,更多相关《数据库学生管理系统.docx(27页珍藏版)》请在冰豆网上搜索。
数据库学生管理系统
数据库原理实训
——学生管理系统
班级:
成员:
指导老师:
开发时间:
一.需求分析
1、编写目的
为了明确软件需求、安排项目规划与进度、组织软件开发与测试,撰写本文档。
本文档供项目经理、设计人员、开发人员参考。
2、项目背景
使用计算机对学生信息进行管理,拥有手工管理所无法比拟的优点。
例如:
检索迅速、查找方便、可靠性高、存储量大、成本低等。
这些优点能够极大地提高学生信息的效率,也是管理科学化、正规化的重要支撑。
学生信息管理系统能够方便地查询和变更学生的基本数据(包括学籍数据和成绩数据),节省大量工作时间,有效地提高学生信息管理的效率。
而查询信息的直观显示将有助于系统的用户一目了然地掌握学生的情况。
3、开发计划
分阶段完成任务:
第一阶段实现快速界面原型,并进行相应的补充修改以满足客户的需求;
第二阶段完成界面的进一步设计求精,形成最终的设计样式;
第三阶段:
完成数据库的开发;
第四阶段:
整合管理系统并进行各项测试改正出现的各种问题。
4、实现的内容
学生信息管理系统属于应用系统。
学生信息管理系统的使用者是教务处管理员和学生。
它的功能就是教师通过输入用户名和口令登陆到教学管理数据库中,从而实现对各门选课人数限制,对学生信息的维护限制。
每个新学年的开始,都有新生的进入,和毕业生离校,每个学期学生的课程会发生改变以及有些学生因为不同的原因离校或者有新来的转校生。
系统要对这些情况做相应的改变。
离校的将学生信息删除,新来的要将学生信息存入系统,课程改变了,要将其修改。
教务处访问该系统将学生信息填入、删除或修改,学生可以在系统上查询本人信息。
该系统是一个集成多功能的信息管理系统,有教师资料管理、学生管理、班级管理、院系管理、课程管理和成绩管理功能模块。
本系统将大大提高学生信息的管理效率,带来数据共享、网络查询和网络管理等便利,实现学生信息管理的数字化和智能化。
教师管理模块:
本模块主要对教师的资料信息进行查询,删除,修改和添加。
学生管理模块:
本模块主要对学生资料信息进行相应的查询,删除,修改和添加。
添加了学生所在院系资料与学生所在专业资料,同时可对院系资料与专业资料进行相应的添加,修改,查询。
课程管理模块:
本模块主要对课程资料进行管理,对其进行查询,添加,修改和删除。
又详细划分了课程类别资料,对其进行如上操作。
成绩管理模块:
本模块对学生成绩进行查询操作,如发现成绩有输入错误,可对其进行相应的修改,还可对学生的成绩进行录入
班级管理模块:
本模块班级资料信息进行管理,对其进行相应的查询,修改,删除和添加。
根据实际问题,本系统要实现以下功能:
(1)用户认证。
本系统用户有教务处管理员和学生,所以用户必须通过认证才能登入系统。
系统能够自动识别用户类型,能够给不同的用户分配不同的权限。
教务处管理员用户成功登入后可以进入操作界面,学生成功登入后即可进入学生本人信息界面。
(2)数据维护。
可以对学生的成绩和课程等数据进行维护。
(3)信息管理。
允许教务处管理员修改学生信息,允许学生在任何时候登入查询本人信息。
如图所示:
学
生信息管理
系统
学生信息管理
查看学生信息
修改学生信息
增加学生信息
删除学生信息
所在学院信息
所在专业信息
所在年级信息
所在班级信息
老师信息管理
查看老师信息
修改老师信息
增加老师信息
删除老师信息
所在教研室信息
课程信息管理
课程资料管理
学生选课管理
成绩信息管理
成绩录入
成绩修改
成绩查询
二.概念结构设计
概念结构所涉及的数据是独立于硬件和软件系统的,它的目标是以用户可以理解的形式来表达信息的流程,从而可以和不熟悉计算机的用户交换意见。
它要充分地反映实体之间的关系,成为反映现实的概念数据模型。
这是各种基本数据模型的共同基础,易于向关系模型转变。
通过需求分析得到的数据项和数据结构,可以设计出各种实体以及它们之间的关系图,为后面的逻辑结构设计打下基础。
这些实体包含各种具体信息,通过相互之间的作用形成数据的流动。
根据上面的设计规划处的实体有:
学院实体,专业实体,年级实体,班级实体,学生实体、课程实体,教师实体。
(1)一个学院有多个专业,一个专业只能属于一个学院,因此学院与专业之间具有一对多关系。
(2)一个专业有多个年级,一个年级有多个专业,因此学院与专业之间具有多对多关系。
(3)一个专业有多个班级,一个班级只能属于一个专业,因此专业与班级之间具有一对多关系。
(4)一个班级有多个学生,一个学生只能属于一个班级,因此班级与学生之间具有一对多关系。
(5)一个学生可以选修多门课程,一门课程可以被多个学生选修,因此学生与课程之间是多对多的联系。
用成绩来表示学生和课程之间联系的属性。
(6)一个学院有多个教师,一个教师只能属于一个学院,因此学院与教师具有一对多的联系。
(7)一个教师可以任教多门课程,一门课程可以被多个教师任教,因此课程与教师具有多对多的联系。
学生信息系统E—R图如图所示:
学院
编号
名称
专业
编号
名称
学院名称
学院
学院—专业
专业
专业—年级
年级
年级—班级
班级
班级—学生
学生
学生—课程
课程
教师—课程
教师
学院—教师
1
n
m
n
1
n
1
n
m
n
1
n
m
p
年级
专业编号
专业名称
学院名称
年级
班级
学院编号
年级
班级
学生
班级
电话
年级
专业名称
学院名称
年龄
性别
姓名
学号
教师
年龄
学院名称
教研室名称
电话
性别
姓名
工号
教师教研室
教研室编号
学院名称
教研室名称
课程
学分
课程号
课程名
学院名称
三、逻辑结构设计
此阶段的任务是把概念结构转换成SQLServer 2005数据库管理系统能处理的数据模型。
在进行这种转换时,是把实体类型和联系类型分别转换成一个个关系模式,这中间存在着多种可能组合,必须从中选择一个性能好的关系模式集作为关系数据库的模式。
学生管理系统的关系模式集如下:
(1)学生信息表(学生学号,学生姓名,性别,年龄,学院名称,专业名称,年级,班级名称,电话),主键为学生学号。
(2)课程数据表(课程号,课程名称,学院名称,学分),主键为课程号。
(3)学生选课表(学号,课程号,老师工号,成绩),主键为学号,课程号。
(4)教师数据表(老师工号,老师姓名,性别,年龄,学院名称,教研室名称,电话),主键为老师工号。
(5)学院数据表(学院名称,学员编号),主键为学院名称。
(6)专业数据表(专业名称,专业编号,学院名称),主键为专业名称。
(7)年级—班级数据表(年级,学院名称,专业名称,班级名称),主键为年级,班级名称。
(8)教师教研室表(教研室名称,教研室编号,学院名称),主键为教研室名称。
(9)教师任课数据表(课程号,课程名称,教师工号),主键为课程号,教师工号。
四、物理结构设计
物理结构设计是指对给定的基本数据模型选择一个最适合应用环境的物理结构的过程。
数据库的物理结构主要是指数据库的存储记录格式、存储记录安排和存取方法。
确定数据库的存储结构,主要是指确定数据的存放位置和存储结构,包括确定关系、索引、系统存储参数的配置,确定数据库的存储方法。
1.数据结构:
设置每一张数据表的属性的属性名,类型和宽度
每张数据表的属性的属性名,类型和宽度如表所示。
学生信息表student
名称
字段
类型
长度
是否为空
备注
学号
sno
char
10
否
主键
姓名
studentname
varchar
10
否
性别
sex
char
2
年龄
sage
smallint
学院名称
collegename
varchar
20
外键
专业名称
majorname
varchar
20
外键
年级
grade
int
外键
班级名称
class
char
10
外键
电话
tel
varchar
16
课程数据表course
字段
别名
类型
长度
是否为空
备注
课程号
cno
char
10
否
主键
课程名称
coursename
varchar
20
否
学院名称
collegename
Varchar
20
外键
学分
Credit
int
否
学生选课表selectcourse
字段
别名
类型
长度
是否为空
备注
学号
sno
char
10
否
主键(外码)
课程号
Cno
char
10
否
主键(外码)
工号
TeacherID
varchar
10
外键
成绩
Score
int
教师数据表teachers
名称
字段
类型
长度
是否为空
备注
工号
teacherID
varchar
10
否
主键
姓名
teachername
varchar
10
否
性别
sex
char
2
年龄
sage
smallint
学院名称
collegename
varchar
20
外键
教研室名称
department
varchar
20
外键
电话
tel
varchar
16
学院数据表college
名称
字段
类型
长度
是否为空
备注
学院名称
collegename
varchar
20
否
主键
学院编号
collegeID
int
否
专业数据表major
名称
字段
类型
长度
是否为空
备注
专业名称
majorname
varchar
20
否
主键
专业编号
majorID
int
否
学院名称
coolegename
varchar
20
否
外键
班级数据表class
名称
字段
类型
长度
是否为空
备注
年级
grade
int
否
外键
学院名称
collegename
varchar
20
否
外键
专业名称
majorname
varchar
20
否
外键
班级名称
class
char
10
否
主键
年级数据表grade
名称
字段
类型
长度
是否为空
备注
年级
grade
int
否
主键
学院名称
collegename
varchar
20
否
外键
专业名称
majorname
varchar
20
否
外键
教师教研室表depart
名称
字段
类型
长度
是否为空
备注
教研室名称
department
varchar
20
否
主键
教研室编号
departID
int
否
学院名称
collegename
varchar
20
外键
教师任课数据表teachercourse
名称
字段
类型
长度
是否为空
备注
课程号
cno
char
10
否
主键(外码)
课程名称
coursename
varch