数据库课程设计学生成绩管理系统_第1页
数据库课程设计学生成绩管理系统_第2页
数据库课程设计学生成绩管理系统_第3页
数据库课程设计学生成绩管理系统_第4页
数据库课程设计学生成绩管理系统_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 数据库原理及其应用课 程 设 计 报 告 书题 目: 学生成绩管理系统学 号:*学生姓名:*专 业: 网络工程 指导教师:*2014年 5 月 31日目录1 题目的来源.32 需求分析.33系统设计44 实现功能.54.1存储器54.2触发器85总结9教师评分表101.题目的来源随着科技的发展,基本上所有的具有一定数量数据的机构都开始使用计算机数据库来做管理。几乎所有学校也都已已经在使用计算机管理数据的机制,大大减少了学校学生成绩管理的工作量。以前没学数据库,感觉学生成绩管理系统很神奇,认为这样的系统只有那些业界精英才能实现它;当我学完数据库系统概论后,才意识到这些系统其实也很简单,所以就尝

2、试做个学生成绩管理系统,加强动手能力与实践能力,学以致用。2. 需求分析成绩管理系统大体分为两大模块如,一是学生的基本信息模块,里边应包括学生的各方面的基本信息;二是课程管理模块,在该模块中应包括有对学生成绩信息的查询和管理,如选课情况,学生平均成绩,学生成绩排名等。根据以上分析,本系统设计的实体包括:(1) 学生基本信息:(学生,姓名,性别,年龄,班级号,成绩)。(2) 课程基本信息:(课程名,课程号,先休克课程号,教师号,学分)。这些实体间的联系包括:每个学生可以选修多门课程,每门课程可供多个学生学习。由以上分析可得到系统的E-R图:学号课程号成绩姓名学分课程学生性别先修课年龄班级号3.

3、系统设计学生成绩管理系统主要用于学生成绩信息管理,分析学生成绩管理系统,需要的数据表有四个:学生基本信息表,课程基本信息表,学生基本成绩表,班级基本信息表。如下图所示:Student 表:Course 表:SC 表:Class表:4. 实现功能4.1 存储过程建立一个存储过程输入学号时能查出该学生的平均成绩,代码如下:createprocedures_scoresnchar(6),sgintoutputasselectsg=avg(grade)fromscwheresno=sn执行存储过程:declaregintexecs_score'120101',goutputselect

4、g建立一个存储过程输入课程名字(cname)和班级名字(classname)查询班级学生单科成绩排名,代码如下:createprocedurecourse_rankcnamechar(10),classnamechar(10)asselectStudent.sno,sname,gradefromsco=ojoinstudentonstudent.sno=sc.snojoinclassonclass.classclno=student.sclnoame=cnameandclassname=classnameorderbygrade执行存储过程:execcourse_rank'数据结构&#

5、39;,'网络工程'建立一个查询存储过程,实现班级学生成绩排名:selectStudent.sno,sname,avg(grade),sum(grade)fromscjoinstudentonstudent.sno=sc.snojoinclassonclass.classclno=student.sclnowhereclassname=classnamegroupbystudent.sname,student.snoorderbyavg(grade),student.sno执行存储过程:execstudent_rank'网络工程'建立一个查询存储过程,该存储过程

6、输入学号返回(学号,姓名,课程,成绩)createprocedure getinfossno char(6)Asselectstudent.sno,sname,cname,gradefromStudent,course,scwherestudent.sno=o=oandStudent.sno=ssno;执行存储过程:execgetinfo'120101'建立一个查询存储过程,该存储过程实现在sc表插入新数据(学号,课程号,成绩)的功能:createproceduresc_insertssnochar(6),cnochar(4),gradeintasbegininsertinto

7、sc(sno,cno,grade)values(ssno,cno,grade)End执行存储过程:execsc_insert'120406','2',89建立一个存储过程,该存储过程实现在sc表删除数据createproceduresc_deletessnochar(6)asbeginDELEtescWHEREsc.sno=ssnoEnd执行存储过程:execsc_delete'120406'建立一个存储过程,该存储过程实现在student表插入功能:createprocedures_insertssnochar(6),snamechar(20)

8、,ssexchar(2),sagesmallint,sclnochar(4)asbegininsertintoStudent(sno,sname,ssex,sage,sclno)values(ssno,sname,ssex,sage,sclno)End执行存储过程:execs_insert'120102','艾薇','女',19,'1201'建立一个存储过程,该存储过程实现在student表删除功能:createprocedures_deletessnochar(6)asbeginDELEteStudentWHEREStudent

9、.sno=ssnoEnd执行存储过程:execs_delete'120102'建立一个存储过程,该存储过程实现在course表插入功能:createprocedurec_insertcnochar(4),cnamechar(10),cpnochar(10),ctnochar(6),ccreditintasbeginInsertintocourse(cno,cname,cpno,ctno,ccredit)values(cno,cname,cpno,ctno,ccredit)end建立一个存储过程,该存储过程实现在course表删除功能:createprocedurec_delet

10、ecnochar(4)asbeginDELEtecourseWHEREo=cnoEnd4.2 触发器student 表上的触发器: 当在学生信息表(student表)中删除一个学生时,同步删除sc表该学生选修的课程以及成绩,实现级联删除功能:createtriggers_sonstudentfordeleteasbegindeclareschar(6)selects=deleted.snofromdeleteddeletescwheresno=sendcourse 表上的触发器: 当在课程信息表(course表)中删除一门课程时,同步删除sc表所有学生选修该课程的成绩,实现级联删除功能:cre

11、atetriggerc_concoursefordeleteasbegindeclarecchar(4)deletefromscwherecnoin(selectcnofromdeleted)endSC 表上的触发器:确保向sc表添加的学生学号(sno) 存在于student表中,课程编号(cno)存在于course表中。 createtriggertr_sconscforinsertasif(notexists(selectsnofromstudentWHEREsnoIN(SELECTsnoFROMinserted)or(notexists(selectcnofromcourseWHEREc

12、noIN(SELECTcnoFROMinserted)beginPRINT'添加记录操作不能完成!'PRINT'输入的教师工号、课程编号或学生学号有错误。'ROLLBACKTRANSACTIONEnd5. 总结5.1 系统优缺点(1)优点 :本系统输入学生学号就能查询他的基本相关信息,学生平均成绩,班级成绩排名,单科成绩排名,操作简单易懂。(2)不足之处:本系统未对用户权限的设计,这会对数据库的安全性存在威胁。5.2 经验总结 经过几周的课程设计,加强了我关于理论联系实际、与具体课题项目结合开发、设计系统的能力。通过对触发器和存储器的设计和使用,让我对触发器和存储器又有了新的认识,进一步了解了数据库的安全性和完整性。通过这此课程设计,既让我们了解到应该怎样把理论运用于实际,又让我了解到在实践中遇到问题时要怎样运用所学知识理论去解决,我收货了很多。 另一方面,我也意识到理论知识的狭隘性。由于我们在课本上学的知识片面,不系统,所以在课程设计中遇到了很多问题。例如如何用触发器实现级联删除问题,如何用存储过程实现表间的连接查询,如何用存储过程实现一些简单的运算等等,经过我在网上查阅资料和同学老师讨论后,都一一解决了。在查阅资料时,网上的信

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论