sqlserver学生成绩管理系统课程设计.docx
《sqlserver学生成绩管理系统课程设计.docx》由会员分享,可在线阅读,更多相关《sqlserver学生成绩管理系统课程设计.docx(9页珍藏版)》请在冰豆网上搜索。
sqlserver学生成绩管理系统课程设计
sqlserver-学生成绩管理系统-课程设计
1需求分析..............................................................................................................................1
1.1功能需求....................................................................................................................11.2系统的开发运行环境...............................................................................................12总体设计..............................................................................................................................1
2.1系统功能模块...........................................................................................................12.2主要类设计(子模块设计)..................................................................................23数据库设计..........................................................................................................................3
〔要求数据库设计完整,参考综合实验〕.............................错误!
未定义书签。
3.1数据表设计(要体现数据完整性)......................................................................23.2存储过程与触发器设计...........................................................................................33.3索引(视图)设计...................................................................................................43.4安全性设计...............................................................................................................44详细设计..............................................................................................................................8
5.1登录模块....................................................................................................................85.2教师模块..................................................................................................................115.3学生模块..................................................................................................................135小结和展望........................................................................................................................15参考文献..........................................................................................................................15附录.......................................................................................................................................15
使用说明书.....................................................................................................................15
1需求分析
1.1功能需求
我做的是学生成绩管理系统,设计到的主要用户有两大类,即教师和学生。
从学生的角度来看,需要实现的功能有查询基本信息,查询成绩,修改密码。
这三项功能是学生成绩管理系统所必须具备的,其余功能可以具体分析是否添加。
我做的系统的学生界面就是基于这三个功能进行的。
从教师的角度来看,需要实现的功能有录入学生基本信息,录入学生的各科成绩,修改教师登录系统的密码,以及修改学生成绩。
1.2系统的开发运行环境
本系统开发平台:
Java或其他可视化高级语言+qlervereclipe本系统运行环境:
window7
2总体设计
2.1系统功能模块
为了简化学生管理系统,将系统划分为三个模块,即:
登录模块,教师模块,学生模块。
功能模块实现用户的登录,用户主要为两类:
学生,教师。
其中登录账号即为学生的学号与教师的教师号,学生的初始密码为123,教师的初始密码为教师号。
登录系统之后要及时进行修改。
教师模块实现对学生成绩与基本信息的管理。
即录入学生信息,录入学生成绩,修改成绩,修改密码
学生模块实现对信息的查询与更改,查询即为查询学生的基本信息,查询学生的成绩,以及更改密码。
系统总体结构图
2.2主要类设计(子模块设计)
学生成绩管理系统由9个类组成,分别是:
系统类,教师类,学生类,添加信息类,添加成绩类,修改成绩类,修改密码类,查询基本信息类,查询成绩类。
系统类实现用户的登录,验证用户的身份。
学生的登录账号为学号,初始密码为123。
教师的登录账号为教师号,初始密码为教师号。
当登录账号输入有错时,系统会提示登录失败。
教师成功登录系统之后进入的是教师界面,教师自由的选择要实现的功能。
教师可以录入学生的基本信息,录入学生的成绩,修改学生的成绩,修改教师的登录密码。
教师选择录入学生的基本信息之后系统就弹出了录入信息类,通过添加学生的学号,姓名,性别,班级,学院,备注,出生年月,点击添加按钮实现向数据库添加学生信息。
教师选择录入学生的成绩之后,录入成绩的界面弹出。
教师根据学号,一次添加学生的各科成绩之后,点击添加实现向数据库中添加学生的成绩。
同时教师也可以修改学生的成绩,因为考虑到教师的误操作,所以设置了修改学生成绩类。
教师只要输入学号再加
上要修改的学生的科目的成绩之后点击添加即可。
为了避免账号被人随意登录,教师可在首次登录系统之后进行密码的修改。
学生成功登录系统之后进入的是学生界面,学生界面主要实现一些基本的查询功能,如查询学生的基本信息,查询学生的成绩,修改学生的登录密码等。
学生选择查询基本信息之后系统随即弹出查询信息类的界面,学生不需要输入学号,点击查询即可。
同时学生可以选择查询成绩,点击之后系统自动弹出查询成绩类的界面,学生不需要输入学号即可实现查询。
因为学生成绩管理系统的初始登录密码为123,所以学生登录之后的第一件事是修改登录密码。
3数据库设计
3.1数据表设计(要体现数据完整性)
学生成绩管理系统共有四个表,分别是:
学生表,成绩表,教师表,课程表。
表的设计如下:
学生表(学号,姓名,性别,初始年月,专业班级,总学分,备注,班级,学校,密码);
教师表(教师号,姓名,性别,学校,密码);课程表(课程号,课程名,教师号,学分,学时);
3.2存储过程与触发器设计
存数过程是数据库对象之一,存储过程可以理解为数据库的子程序,在客户端和服务端可以使用它。
触发器是与表直接关联的特殊的存储过程,是对表记录操作时触发的。
在数据库设计过程中,均对存储过程和触发器进行了设计。
定义elect某from某b存储过程:
createproceduretudent_infoaelect某from某be某ectudent_info
定义elect某fromTCH存储过程:
createproceduretch_infoaelect某fromtche某ectch_info
定义elect某from某b存储过程:
createprocedure某b_info_earchaelect某from某bwhere学号='"+id+"'
创建触发器,当向学生表中插入一行数据时,提示“triggeriworking”
createtrigger某b_inerton某bafterinerta
创建触发器,当想某b中插入一个学生的成绩时,将某b表中的该学生的总学分加上添加的课程的学分
createtriggercjb_inertoncjbafterinerta
begin
创建触发器,当修改某b表中的学号时,同时也要将cjb表中的学号修改成相应的学号
createtrigger某b_updateon某bafterupdateabegin
创建某cjgl数据库作用域的ddl触发器,当删除一个表时,提示禁止该操作,然后回滚删除表的操作。
createtriggerafetyondatabaeafterdrop_tableaprint'不能删除该表'rollbacktranaction
创建服务器作用域的ddl触发器,当删除一个数据库时,提示禁止该操作并回滚删除数据库的操作。
createtriggerafety_erver_deleteonallerverafterdrop_databaea
print'不能删除该数据库'rollbacktranaction
3.3索引(视图)设计
Sqlerver中索引可以分为两类,即聚集索引和非聚集索引。
索引是可以唯一的,这意味着不会有两行相同的索引键值,这样的索引称为唯一索引。
聚集索引将数据行的键值在表内排序并存储对应的数据记录,使得数据表物理顺序与索引顺序一致。
非聚集完全独立于数据行的结构。
本系统使用的是唯一索引,这是因为考虑到每个表中都不允许出现两行一样的值,约束输入数据的正确规范,保证数据的完整性。
创建唯一聚集索引:
createuniquecluteredinde某某b_id_indon某b(学号)createuniquecluteredinde某tch_id_indontch(教师号)createuniquecluteredinde某cjb_id_indoncjb(学号)
3.4安全性设