




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 数据库原理及其应用课 程 设 计 报 告 书题 目: 学生成绩管理系统 学 号: * 学生姓名: * 专 业: 网络工程 指导教师: * 2014年 5 月 31日目 录1 题目的来源.32 需求分析.33 系统设计44 实现功能.54.1 存储器54.2 触发器85 总结9教师评分表10101. 题目的来源随着科技的发展,基本上所有的具有一定数量数据的机构都开始使用计算机数据库来做管理。几乎所有学校也都已已经在使用计算机管理数据的机制,大大减少了学校学生成绩管理的工作量。以前没学数据库,感觉学生成绩管理系统很神奇,认为这样的系统只有那些业界精英才能实现它;当我学完数据库系统概论后,才意识到
2、这些系统其实也很简单,所以就尝试做个学生成绩管理系统,加强动手能力与实践能力,学以致用。2. 需求分析 成绩管理系统大体分为两大模块如,一是学生的基本信息模块,里边应包括学生的各方面的基本信息;二是课程管理模块,在该模块中应包括有对学生成绩信息的查询和管理,如选课情况,学生平均成绩,学生成绩排名等。根据以上分析,本系统设计的实体包括:(1) 学生基本信息:(学生,姓名,性别,年龄,班级号,成绩)。(2) 课程基本信息:(课程名,课程号,先休克课程号,教师号,学分)。这些实体间的联系包括: 每个学生可以选修多门课程,每门课程可供多个学生学习。由以上分析可得到系统的E-R图:学号课程号成绩姓名学分
3、课程学生性别先修课年龄班级号3. 系统设计学生成绩管理系统主要用于学生成绩信息管理,分析学生成绩管理系统,需要的数据表有四个:学生基本信息表,课程基本信息表,学生基本成绩表,班级基本信息表。如下图所示:Student 表:Course 表:SC 表:Class表:4. 实现功能4.1 存储过程建立一个存储过程输入学号时能查出该学生的平均成绩,代码如下:create procedure s_scoresn char(6),sg int outputasselect sg = avg(grade ) from sc where sno=sn 执行存储过程:declare g intexec s_s
4、core '120101',g outputselect g建立一个存储过程输入课程名字(cname)和班级名字(classname)查询班级学生单科成绩排名,代码如下:create procedure course_rankcname char(10) ,classname char(10)asselect Student.sno ,sname ,grade from scjoin course on o=o join student on student.sno =sc.sno join class on class.classclno = student.sclno wh
5、ere ame=cname and classname=classnameorder by grade 执行存储过程:exec course_rank '数据结构','网络工程'建立一个查询存储过程,实现班级学生成绩排名:select Student.sno ,sname,avg(grade) ,sum(grade ) from sc join student on student.sno =sc.sno join class on class.classclno = student.sclno where classname=classnamegroup by
6、 student.sname,student.sno order by avg(grade ),student.sno执行存储过程:exec student_rank '网络工程'建立一个查询存储过程,该存储过程输入学号返回(学号,姓名,课程,成绩)create procedure getinfossno char(6)Asselect student.sno,sname,cname,gradefrom Student,course,scwhere student.sno=sc.sno and o=o and Student.sno=ssno;执行存储过程:exec getin
7、fo '120101'建立一个查询存储过程,该存储过程实现在sc表插入新数据(学号,课程号,成绩)的功能:create procedure sc_insert ssno char(6),cno char(4),grade int as begin insert into sc(sno,cno,grade) values(ssno,cno,grade) End执行存储过程:exec sc_insert '120406','2',89建立一个存储过程,该存储过程实现在sc表删除数据create procedure sc_delete ssno cha
8、r(6) as begin DELEte sc WHERE sc.sno = ssno End执行存储过程:exec sc_delete '120406'建立一个存储过程,该存储过程实现在student表插入功能:create procedure s_insert ssno char(6),sname char(20),ssex char(2),sage smallint,sclno char(4) as begin insert into Student (sno,sname,ssex,sage,sclno ) values(ssno,sname,ssex ,sage,scl
9、no) End执行存储过程: exec s_insert '120102','艾薇','女',19,'1201'建立一个存储过程,该存储过程实现在student表删除功能: create procedure s_delete ssno char(6) as begin DELEte Student WHERE Student.sno = ssno End执行存储过程: exec s_delete '120102'建立一个存储过程,该存储过程实现在course表插入功能: create procedure c_ins
10、ert cno char(4),cname char(10),cpno char(10), ctno char(6),ccredit int as begin Insertint ocourse(cno,cname,cpno,ctno,ccredit) values(cno,cname ,cpno,ctno,ccredit) end建立一个存储过程,该存储过程实现在course表删除功能:create procedure c_delete cno char(4) as begin DELEte course WHERE o = cno End4.2 触发器student 表上的触发器: 当在学
11、生信息表(student表)中删除一个学生时,同步删除sc表该学生选修的课程以及成绩,实现级联删除功能:create trigger s_s on studentfor deleteasbegindeclare s char(6)select s = deleted.sno from deleted delete sc where sno =s endcourse 表上的触发器: 当在课程信息表(course表)中删除一门课程时,同步删除sc表所有学生选修该课程的成绩,实现级联删除功能:create trigger c_c on coursefor deleteasbegindeclare c
12、 char(4)delete from sc where cno in(select cno from deleted) endSC 表上的触发器:确保向sc表添加的学生学号(sno) 存在于student表中,课程编号(cno)存在于course表中。 create trigger tr_sc on scfor insertasif(not exists(select sno from student WHERE sno IN (SELECT sno FROM inserted)or(not exists(select cno from course WHERE cno IN (SELECT
13、 cno FROM inserted)begin PRINT '添加记录操作不能完成!' PRINT '输入的教师工号、课程编号或学生学号有错误。' ROLLBACK TRANSACTION End5. 总结5.1 系统优缺点(1)优点 :本系统输入学生学号就能查询他的基本相关信息,学生平均成绩,班级成绩排名,单科成绩排名,操作简单易懂。(2)不足之处:本系统未对用户权限的设计,这会对数据库的安全性存在威胁。5.2 经验总结 经过几周的课程设计,加强了我关于理论联系实际、与具体课题项目结合开发、设计系统的能力。通过对触发器和存储器的设计和使用,让我对触发器和存储器又有了新的认识,进一步了解了数据库的安全性和完整性。通过这此课程设计,既让我们了解到应该怎样把理论运用于实际,又让我了解到在实践中遇到问题时要怎样运用所学知识理论去解决,我收货了很多。 另一方面,我也意识到理论知识的狭隘性。由于我们在课本上学的知识片面,不系统,所以在课程设计中遇到了很多问题。例如如何用触发器实现级联删除问题,如何用存储过程实现表间的连接查询,如何用存储过程实现一些简单的运算等等,经过我在网上查阅资料和同学老师讨论后,都一一解
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年长春市城乡建设委员会-企业报告(业主版)
- 2025年中国煤炭项目创业投资方案
- 2025年中国煤制氨项目投资计划书
- 临沂市2025年高三二模物理试题卷含答案
- UPS蓄电池安装施工方案(完整版无需过多修改)
- 柏拉图法则与ABC分类法培训考试试题及答案
- 2025河南省工勤技能等级考试职业能力综合练习题及答案
- 2025年建筑电工建筑特殊工种理论考试题及答案
- 2025年AOPA无人机考试理论题库含答案详解
- 2025年光伏电站运维工程师考试试题及答案
- 中国外币管理制度
- 广州市市政工程主要项目概算指标及编制指引 (2021年)
- 关于体育的论文
- 中医治疗发热
- 水利安全风险防控“六项机制”与安全生产培训
- 导医客服礼仪培训
- 第三届“皇家杯”职业院校宠物营养学知识竞赛考试题库(含答案)
- QGDW12505-2025电化学储能电站安全风险评估规范
- 2025年部编版新教材三年级上册《9.犟龟》教案
- 盆栽种植基础知识培训课件
- 常见病护理常规
评论
0/150
提交评论