数据库课程设计学生成绩管理系统.docx
- 文档编号:251288
- 上传时间:2022-10-07
- 格式:DOCX
- 页数:37
- 大小:449.92KB
数据库课程设计学生成绩管理系统.docx
《数据库课程设计学生成绩管理系统.docx》由会员分享,可在线阅读,更多相关《数据库课程设计学生成绩管理系统.docx(37页珍藏版)》请在冰豆网上搜索。
精选资料
本科生课程设计
课程名称 数据库原理及应用课程设计课程编号
学号
学生姓名
所在专业 计算机科学与技术所在班级
指导教师
成绩教师签字
可修改编辑
目 录
一、设计总说明...................................................................................... III
1.1概况........................................................................................... III
1.2系统开发目的............................................................................. III
1.3开发内容.................................................................................... III
1.4开发要求 IV
1.5开发环境及工具 IV
二、需求分析 IV
2.1系统背景分析 IV
2.2需求介绍 V
三、概念结构设计 V
3.1系统功能模块设计图 V
3.2系统E-R图 VI
四、逻辑结构设计 VII
五、物理结构设计 VIII
5.1数据库创建 VIII
六、系统实现........................................................................................ XV
6.1登陆界面.................................................................................. XV
6.2管理员主界面.......................................................................... XVI
六、优缺点及自我评价........................................................................ XX
八、参考文献....................................................................................... XXI
九、代码(附录) XXVIII
一、设计总说明
1.1概况
名称:
学生成绩管理系统用途:
学校等机构
功能:
实现对学生信息、成绩的管理
1.2系统开发目的
1)掌握利用C#开发工具进行可视化程序设计的基本过程。
2)理解C#应用程序的事件驱动机制,掌握利用C#开发工具编写程序代码的方法,能熟练利用C#语法规则进行算法设计和代码编写。
3)掌握利用ADO.NET对象进行数据库应用程序设计的基本方法。
4)掌握SQL数据库数据表设计以及SQL语句的书写和c#中的调用方法。
通过掌握以上的知识同时提高自己的实践动手能力。
1.3开发内容
通过调查分析得到学生成绩管理系统的系统需求,从而设计出系统的概念模型、逻辑模型、物理模型,通过SQL2005和vs2010的操作平台完成和实现相应的要求,再而进行不断的调试和测试完善系统的漏洞。
1.4开发要求
Ø学生各种信息的输入,包括学生的基本信息、成绩信息、课程信息等。
Ø学生各种信息的修改;
Ø实现基本信息、成绩信息、课程信息的删除;
Ø按照一定的条件,查询、统计符合条件的学生信息;能够实现多种查询方式,并且可以进行简单的学生信息统计;
Ø实现基本信息、成绩信息、课程信息的导入导出等等;
1.5开发环境及工具
系统前台开发软件:
Microsoft公司的VisualStudio2008系统后台管理软件:
SQLServerManagementStudio2005系统开发语言:
C#
二、需求分析
2.1系统背景分析
随着电脑的普及,信息量的增大,现在几乎每个学校乃至每个教育机构也顺应时代的发展,纷纷抛弃繁琐的人工管理学生的成绩以及学生的信息的方式,而是采用各种管理软件进行管理。
采用软件系统进行管理具有处理数据速度更快、信息量更多、更加准确、更加简便等特点。
所以学生成绩管理系统成为学校和其他教育机构不可或缺的管理软件。
2.2需求介绍
通过调查分析以及结合案例,系统应该达到以下的要求:
(1)系统用户应包括两个层次:
管理员和学生,管理员进行所有的操作,而学生只能够进行查询个人成绩信息、查询个人信息和修改密码。
(2)能够实现学生基本信息的录入、修改、删除。
(3)能够实现课程信息的录入、修改、删除。
(4)能够实现成绩信息的录入、修改、删除。
(5)具有丰富的查询功能,能对学生信息、课程信息、成绩信息等进行查询
(6)系统运行稳定,安全可靠。
(7)用户界面设计美观、友好,使用操作便捷。
三、概念结构设计
3.1系统功能模块设计图
学生成绩管理
管理员
学生
学
课
成
成
学
个
个
用
生
程
绩
绩
生
人
人
密
户
信
信
信
查
信
成
信
码
3.2系统E-R图
根据对数据项与数据结构的分析,设计出能够满足系统需求的各种实体,及它们之间的关系,为后面的逻辑结构设计打下基础。
系统E-R图可以将各个实体之间的关系显示出来,将各个实体间的属性依赖表示明白。
性
出
民
姓
密
权
政
学
用
身
用户
地
产
学生
电
院
班
课
选
课
教
课程
考
成绩
成
学
课
四、逻辑结构设计
逻辑结构设计的任务就是把概念模型设计阶段设计好的基本E-R图转换为与选用的具体机器上的DBMS产品所支持的数据库模型相符合的逻辑结构,现在选用关系模型,E-R图转换如下:
用户(用户名,用户密码,权限)
学生信息(学号,姓名,性别,生日,民族,政治面貌,身份证,电话,班级,所在系,家庭地址)
课程信息(课程号,课程名,教师)成绩信息(学号,课程名,成绩)
五、物理结构设计
数据库物理设计阶段的任务是根据具体计算机系统的特点,给给定的数据库系统确定合理的存储结构和存取方法。
我通过创建索引、存储过程、触发器、建立事务等来实现物理结构的优化。
5.1数据库创建
用户表:
学生表:
课程表:
成绩表:
1)创建各种约束条件,来保证数据库的完整性操作,下面是添加外键参照的语句
--外键参照,防止数据的非法操作altertableSC
addconstraintSC_Sno
foreignkey(Sno)referencesStudent(Sno),constraintSC_Sname
foreignkey(Cno)referencesCourse(Cno)
2)创建索引,加快查询的速度
createuniqueindexStudent_SnoonSudent(Sno);createuniqueindexCourse_CourseonStudent(Cno);
3)创建触发器,通过触发器来实现相关的自动工作
--创建触发器,自动生成用户,生成默认密码和用户类型---createtriggerinsert_user
onStudentforinsertas
begin
declare@usernamechar(20)select@username=inserted.Snamefrominserted
insert intoUserInfovalues(@username,'888',1)end
---创建级联删除,删除学生信息,自定删除他的用户信息
createtriggerdelete_studentonStudent
fordeleteas
begin
deleteUserInfo
from UserInfo,deleted
where UserInfo.UserName=deleted.Snameend
droptriggerpp
droptriggerdelete_student1
---创建级联删除,删除学生信息,自定删除他的成绩信息createtriggerdelete_student1
onStudentfordeleteas
begindeleteSC
from SC,deleted
where SC.Sno=deleted.Snoend
go
----创建级联修改,修改学生学号和课程号时自动修改SC表中的学号和课程号
createtriggerStudent_SC_updateonStudent
forupdateas
ifupdate(Sno)begin
updateSC
setSno=(selectSnofrominserted)fromSC,deleted
whereSC.Sno=deleted.Sno
end
go
createtriggerCourse_SC_updateonCourse
forupdateas
ifupdate(Cno)begin
updateSC
setSno=(selectCnofrominserted)fromSC,deleted
whereSC.Cno=deleted.Cno
end
go
--
4)创建视图,通过视图进行查找,提高数据库的安全性
----创建视图
create view
Student_Sno_Query(Sno,Sname,Cname,Teacher,Grade,Gpa)as
select
Student.Sno,Student.Sname,Cname,Teacher,Grade,(Grade-50.0)/10fromSC,Student,Course
whereSC.Sno=Student.SnoandSC.Cno=Course.Cnoorderbygradedesc
5)使用事务,提高数据的准确性,在实现增删查改时,如果产生异常将会回滚
SqlTransactiontrans=con.BeginTransaction();
try
{
trans.Commit();
}
catch(Exception)
{
trans.Rollback();
}
finally
{
trans.Dispose();
}
在c#编写的过程中,把上面的代码嵌入进去就可以完成事务的检测。
六、系统实现
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 课程设计 学生 成绩管理系统
![提示](https://static.bdocx.com/images/bang_tan.gif)