ImageVerifierCode 换一换
格式:DOC , 页数:36 ,大小:7.45MB ,
资源ID:2226514      下载积分:12 金币
验证码下载
登录下载
邮箱/手机:
验证码: 获取验证码
温馨提示:
支付成功后,系统会自动生成账号(用户名为邮箱或者手机号,密码是验证码),方便下次登录下载和查询订单;
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

开通VIP
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.zixin.com.cn/docdown/2226514.html】到电脑端继续下载(重复下载【60天内】不扣币)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  
声明  |  会员权益     获赠5币     写作写作

1、填表:    下载求助     留言反馈    退款申请
2、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
3、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
4、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
5、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【精***】。
6、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
7、本文档遇到问题,请及时私信或留言给本站上传会员【精***】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。

注意事项

本文(Oracle数据库课程设计报告学生成绩管理系统.doc)为本站上传会员【精***】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4008-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

Oracle数据库课程设计报告学生成绩管理系统.doc

1、Oracle数据库课程设计报告学生成绩管理系统 作者: 日期:36 个人收集整理 勿做商业用途Oracle数据库课程设计题目 学生考试管理系统 班级 11网工2班 姓名 马路瑶 学号 指导老师 杨超峰目录一、 前言2二、 需求分析3三、 系统设计5四、 数据库设计7五、 编程步骤19六、 测试25七、 课程设计总结33八、 参考资料34九、 附录34一、前言 学生考试管理是一个学校必不可少的部分,随着计算机和计算机知识的普及,学生考试管理系统得到了更大的发展空间,通过对学生考试管理系统的开发,可以提高校务人员的工作效率。学生成绩管理是一个学校不可缺少的部分,一个良好的学生成绩管理系统应该能够为

2、用户提供充足的信息和快捷的查询手段。学生考试管理系统对学校加强学生考试管理有着极其重要的作用。由于各个大学都在持续扩招,学生的数量日益庞大,对于如何管理如此庞大的学生考试数据显得更为复杂,传统的手工成绩管理不仅工作量大,而且容易出现问题,如:效率低、保密性差,另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少的困难。已不能适应时代的发展。随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。作为计算机应用的一部分,使用计算机对学生成绩信息进行管理,具有手工管理所无法比拟的优点。例:检索迅速、查找方便、

3、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高管理者管理的效率,也是学校走向科学化、正规化管理,与世界接轨的重要条件.因此,开发设计这样一套学生成考试理软件成为很有必要的事情.二、需求分析1。功能需求1. 学生基本信息及所选科目成绩的录入或导入。2. 基本信息的查询(分系、班级;分科目)与修改。3. 对每系或每班各科成绩进行分析(即求单科平均成绩、及格率和优秀率);4. 对所开课程的成绩分析(求其平均成绩,最高分和最低分);5. 对学生考试成绩进行排名(单科按系别或班级进行排名,对每一个班级,同一学期学生总体成绩进行排名,并显示各科成绩信息)6. 不及格情况的统计、导出

4、、打印2。系统需求该学生成绩管理系统采用java语言开发研制, JavaBean作为行为模型,servlet作为响应服务器,DIV+CSS+javascript设计网页,oracle作为数据存储。在完成用户需求同时,完成条件查询等功能。针对学生成绩及其数据特点,可以全面实现对学生成绩的插入、查询、修改、删除和输出等功能的计算机管理。它能使学生成绩数据的工作人员从繁重的工作中解脱出来,大大减轻了工作量,减少人为的工作失误,全面提高学生成绩管理的效率,从而使学校对于学生成绩的管理水平和技术水平跃上一个新的台阶。3。系统开发环境1.开发语言:java+jsp2。开发工具: IE 8.0,Tomcat

5、 ,jdk 1.7,dreamweaver3。数据库:Oracle 10g4.文档编写工具:word5. 服务器端运行环境:oracle 10g,Tomcat ,jdk 1.76. 客户端运行环境:浏览器三、系统设计1。功能模块学生考试管理系统信息录入信息查询信息修改信息删除成绩统计分析班级信息录入科目信息录入学生信息录入班级内部排名按学号查询按姓名查询学生信息修改成绩信息修改学生信息删除成绩信息删除单科成绩排名单科成绩分析成绩信息录入不及格情况统计学生总成绩排名2.系统流程图开始登陆密码正确?是否进入系统修改密码控制面板退出系统?结束是否3。数据字典(1)数据存储数据表:用户表表组成:用户名

6、,密码数 据 项:用户名数据类型:varchar数据长度:50数 据 项:密码数据类型:varchar数据长度:50(2)数据流定义:登陆名 称:登陆简 述:用户登陆系统数据来源:用户数据去向:用户表数据组成:用户名+密码四、数据库设计1.数据库结构设计院系表(cs)字段名数据类型是否为空说明Cs_classVarchar2(50)Not null班级名(主键)Cs_deptVarchar2(50)Not null系别Cs_gradeVarchar2(50)Not null年级成绩表(gd)字段名数据类型是否为空说明Gd_stu_noVarchar2(15)Not null学号(联合主键、外键

7、)Gd_sub_subjectVarchar2(50)Not null科目(联合主键、外键)Gd_gradeNumber(3)Not null成绩科目表(sub)字段名数据类型是否为空说明Sub_subjectVarchar2(50)Not null科目名(主键)Sub_teacher_nameVarchar2(10)任课老师名学生表(student)字段名数据类型是否为空说明Stu_noVarchar2(15)Not null学号(主键)Stu_nameVarchar2(10)Not null学生名Stu_cs_classVarchar2(50)班级名(外键)Stu_sexVarchar(4

8、)Not null性别(约束)Stu_birthdayVarchar2(50)出生日期Stu_phoneVarchar2(200)联系电话用户表(user_)字段名数据类型是否为空说明nameVarchar2(50)Not null用户名(主键)PasswdVarchar2(50)notnull密码2.实体联系图学生信息姓名出生日期性别学号联系电话所在班级成绩信息科目名学号成绩教师用户管理用户名密码班级信息班级名年级科目信息科目名任课老师系别管理管理管理3.数据库源代码select userenv(language) from dual;shutdown immediatestartup mo

9、untALTER SYSTEM ENABLE RESTRICTED SESSION;ALTER SYSTEM SET JOB_QUEUE_PROCESSES=0;ALTER SYSTEM SET AQ_TM_PROCESSES=0;ALTER DATABASE OPEN;alter database character set INTERNAL_USE UTF8;shutdown immediatestartupcreate user xz105151640043 identified by xz/grant dba to xz/conn xz105151640043/xz/set serve

10、routput on/create table user_(name varchar(50) primary key,passwd varchar(50) not null)/insert into user_ values(xz,xz);/Commit/create table cs(cs_class varchar(50) primary key,cs_dept varchar(50) not null,cs_grade varchar(50) not null)/create table student(stu_no varchar(15) primary key,stu_name va

11、rchar(10) not null,stu_sex varchar(4) not null check (stu_sex=男or stu_sex=女), stu_birthday varchar(50) ,stu_phone varchar(50),stu_cs_class varchar(50),constraint class_fk foreign key(stu_cs_class) references cs(cs_class)on delete cascade)/ create table sub(sub_subject varchar(50) primary key,sub_tea

12、cher_name varchar(10))/ create table gd(gd_stu_no varchar(15),gd_sub_subject varchar(50),gd_grade number(3) not null,primary key(gd_stu_no,gd_sub_subject),constraint fk_gd_stu_no foreign key(gd_stu_no) references student(stu_no),constraint fk_gd_sub_subject foreign key(gd_sub_subject) references sub

13、(sub_subject))/create or replace procedure p_insert_stu(p_stu_no in student.stu_no%type,p_stu_name in student.stu_name%type,p_stu_sex in student。stu_sextype,p_stu_birthday in student。stu_birthdaytype,p_stu_phone in student.stu_phone%type,p_stu_cs_class in student。stu_cs_class%type,s_state_values out

14、 number) asbegin insert into student(stu_no,stu_name,stu_sex ,stu_birthday,stu_phone,stu_cs_class) values (p_stu_no,p_stu_name,p_stu_sex,p_stu_birthday,p_stu_phone,p_stu_cs_class);if sqlrowcount=1then s_state_values:=0;end if;exceptionwhen others then s_state_values:=1;commit;end ;/create or replace

15、 procedure c_insert_stu(c_stu_no in student。stu_no%type,c_state_values out number)asbeginselect count(*) into c_state_values from studentwhere stu_no=c_stu_no;end ;/create or replace procedure c_insert_stu_fk(c_cs_class in cs.cs_classtype,c_state_values_fk out number)asbeginselect count(*) into c_st

16、ate_values_fk from cswhere cs_class=c_cs_class;end ;/create or replace procedure p_insert_cs(p_cs_dept in cs。cs_dept%type,p_cs_grade in cs。cs_grade%type,p_cs_class in cs。cs_class%type,s_state_values out number)asbegininsert into cs(cs_dept,cs_grade,cs_class)values(p_cs_dept, p_cs_grade, p_cs_class);

17、if sqlrowcount=1then s_state_values:=0;end if;exceptionwhen others then s_state_values:=1;commit;end ;/create or replace procedure c_insert_cs(c_cs_class in cs.cs_classtype,c_state_values out number)asbeginselect count(*) into c_state_values from cswhere cs_class=c_cs_class;end ;/create or replace p

18、rocedure p_insert_sub(p_sub_subject in sub。sub_subjecttype,p_sub_teacher_name in sub。sub_teacher_nametype,s_state_values out number)asbegininsert into sub(sub_subject,sub_teacher_name)values(p_sub_subject, p_sub_teacher_name);if sqlrowcount=1then s_state_values:=0;end if;exceptionwhen others then s_

19、state_values:=1;commit;end;/create or replace procedure c_insert_sub(c_sub_subject in sub.sub_subjecttype,c_state_values out number)asbeginselect count() into c_state_values from subwhere sub_subject=c_sub_subject;end ;/create or replace procedure p_insert_gd(p_gd_stu_no in gd。gd_stu_no%type,p_gd_su

20、b_subject in gd.gd_sub_subjecttype,p_gd_grade in gd.gd_gradetype,s_state_values out number)asbegininsert into gd(gd_stu_no,gd_sub_subject,gd_grade)values(p_gd_stu_no,p_gd_sub_subject,p_gd_grade);if sqlrowcount=1then s_state_values:=0;end if;exceptionwhen others then s_state_values:=1;if p_gd_grade=n

21、ullthen s_state_values:=2;end if;commit;end ;/create or replace procedure c_insert_gd(p_gd_stu_no in gd.gd_stu_notype,p_gd_sub_subject in gd。gd_sub_subject%type,c_state_values out number)asbeginselect count(*) into c_state_values from (select gd_stu_no from gdwhere gd_sub_subject=p_gd_sub_subject)wh

22、ere gd_stu_no=p_gd_stu_no;end ;/create or replace procedure c_insert_gd_fk1(c_stu_no in student.stu_notype,c_state_values_fk1 out number)asbeginselect count(*) into c_state_values_fk1 from studentwhere stu_no=c_stu_no;end ;/create or replace procedure c_insert_gd_fk2(c_sub_subject in sub。sub_subject

23、type,c_state_values_fk2 out number)asbeginselect count() into c_state_values_fk2 from subwhere sub_subject=c_sub_subject;end ;/create or replace procedure p_select_stu_no_info(p_stu_no in out student.stu_no%type,p_stu_name out student.stu_nametype,p_stu_sex out student。stu_sextype,p_stu_birthday out

24、 student。stu_birthdaytype,p_stu_phone out student.stu_phone%type,p_stu_cs_class out student.stu_cs_classtype,p_cs_dept out cs。cs_dept%type,p_cs_grade out cs.cs_grade%type,c_state_values out number)asbeginc_state_values:=0;select stu_no, stu_name,stu_sex ,stu_birthday ,stu_phone ,stu_cs_class ,cs_dep

25、t ,cs_grade into p_stu_no, p_stu_name, p_stu_sex, p_stu_birthday, p_stu_phone, p_stu_cs_class, p_cs_dept, p_cs_gradefrom student, cswhere stu_cs_class=cs_class and stu_no=p_stu_no;exceptionwhen NO_DATA_FOUND then c_state_values:=1;when others then c_state_values:=2;end ;/create or replace procedure

26、p_select_stu_no_gd(p_stu_no in student。stu_notype , cursor_gd out sys_refcursor)asbeginopen cursor_gd forselect gd_sub_subject,gd_gradefrom gdwhere gd_stu_no=p_stu_no;end;/create or replace procedure p_select_stu_name(p_stu_name in student.stu_nametype , cursor_stu out sys_refcursor,c_state_values o

27、ut number)asbeginc_state_values:=0;open cursor_stu forselect stu_no, stu_name,stu_sex ,stu_birthday ,stu_phone ,stu_cs_class ,cs_dept ,cs_grade from student, cswhere stu_name=p_stu_name and stu_cs_class=cs_class;exceptionwhen others then c_state_values:=2;end;/create or replace procedure p_pm_sum(cu

28、rsor_gd_sum out sys_refcursor)asbeginopen cursor_gd_sum forselect distinct sno,stu_name,sumfrom student,(select gd_stu_no as sno,sum(gd_grade) as sum from gd group by gd_stu_no)where stu_no=snoorder by sum desc;end;/create or replace procedure p_pm_sub(p_gd_sub_subject in gd。gd_sub_subject%type,curs

29、or_gd_sub out sys_refcursor)asbeginopen cursor_gd_sub forselect gd_stu_no,stu_name,gd_gradefrom gd,studentwhere gd_sub_subject=p_gd_sub_subject and stu_no=gd_stu_noorder by gd_grade desc;end;/create or replace procedure p_pm_class(p_stu_cs_class in student。stu_cs_class%type,cursor_gd_class out sys_r

30、efcursor)asbeginopen cursor_gd_class forselect distinct sno,stu_name,sumfrom student,(select gd_stu_no as sno,sum(gd_grade) as sum from gd group by gd_stu_no)where stu_no=sno and stu_cs_class=p_stu_cs_classorder by sum desc;end;/create or replace procedure p_fx(cursor_fx out sys_refcursor)asbeginope

31、n cursor_fx forselect gd_sub_subject,max(gd_grade) as zuigao,min(gd_grade) as zuidi,avg(gd_grade) as pingjun,SUM(CASE WHEN gd_grade=60 THEN 1 ELSE 0 END)/COUNT(*)*100 AS jigelv,SUM(CASE WHEN gd_grade=80 THEN 1 ELSE 0 END)/COUNT(*)*100 AS youxiulvfrom gdgroup by gd_sub_subject;end;/create or replace

32、procedure p_bujige(cursor_bujige out sys_refcursor)asbeginopen cursor_bujige forselect gd_stu_no,gd_sub_subject,gd_gradefrom gdwhere gd_grade60;end;/create or replace procedure p_update_stu(p_stu_no in student。stu_no%type,p_stu_name in student。stu_name%type,p_stu_sex in student.stu_sex%type,p_stu_bi

33、rthday in student。stu_birthday%type,p_stu_phone in student.stu_phonetype,p_stu_cs_class in student.stu_cs_class%type,s_state_values out number) asbeginupdate studentset stu_name=p_stu_name,stu_sex=p_stu_sex,stu_birthday=p_stu_birthday,stu_phone=p_stu_phone,stu_cs_class=p_stu_cs_classwhere stu_no=p_s

34、tu_no; if sqlrowcount=1then s_state_values:=0;end if;exceptionwhen others then s_state_values:=1;commit;end ;/create or replace procedure p_delete_stu(p_stu_no in student。stu_no%type,s_state_values out number)asbegindelete from gd where gd_stu_no=p_stu_no;delete from student where stu_no=p_stu_no;s_

35、state_values:=0;exceptionwhen others then s_state_values:=1;rollback;commit;end;/create or replace procedure p_update_gd(p_gd_stu_no in gd。gd_stu_no%type,p_gd_sub_subject in gd。gd_sub_subject%type,p_gd_grade in gd。gd_grade%type,s_state_values out number)asbeginupdate gd set gd_stu_no=p_gd_stu_no,gd_

36、sub_subject=p_gd_sub_subject,gd_grade=p_gd_gradewhere gd_stu_no=p_gd_stu_no and gd_sub_subject=p_gd_sub_subject;if sqlrowcount=1then s_state_values:=0;end if;exceptionwhen others then s_state_values:=1;rollback;commit;end ;/create or replace procedure p_delete_gd(p_gd_stu_no in gd.gd_stu_notype,p_gd

37、_sub_subject in gd。gd_sub_subject%type,s_state_values out number)asbegindelete from gdwhere gd_stu_no=p_gd_stu_no and gd_sub_subject=p_gd_sub_subject;if sqlrowcount=1then s_state_values:=0;end if;exceptionwhen others then s_state_values:=1;rollback;commit;end ;/create or replace procedure p_denglu(p

38、_name in user_。name%type,p_passwd in user_.passwdtype,s_state_values out number)asbeginselect count() into s_state_valuesfrom user_where name=p_name and passwd=p_passwd;end;/create or replace procedure p_update_passwd(p_name in user_.name%type,p_passwd in user_.passwd%type,s_state_values out number)

39、asbeginupdate user_ set passwd= p_passwdwhere name=p_name;if sql%rowcount=1then s_state_values:=0;end if;exceptionwhen others then s_state_values:=1;rollback;commit;end;/create or replace procedure p_select_no(cursor_stu_no out sys_refcursor)asbeginopen cursor_stu_no forselect stu_no from studentord

40、er by stu_no;end;/create or replace procedure p_select_all(cursor_all out sys_refcursor)asbeginopen cursor_all forselect stu_no, stu_name,stu_sex ,stu_birthday ,stu_phone ,stu_cs_class ,cs_dept ,cs_grade from student, cswhere stu_cs_class=cs_classorder by stu_no;end;/create or replace procedure p_se

41、lect_count(myrowcount out number )asbeginselect count(*) into myrowcountfrom student;end;/五、编程步骤1。连接数据库的javabean 由于在本系统的多个JSP页面中都需要访问数据库,因此使用一个JavaBean来专门完成数据库的连接。把数据库连接封装在一个类中,每次需要访问数据库是只需实例化这个类并利用类里面提供的共有方法来完成连接即可。这样,既可以节省编码时间,也提高了代码的利用率.1。1模块描述负责完成与数据库的连接1。2.类的设计与实现(1)名称:jdbc.java(2)功能:负责完成与数据库的连

42、接。1.3构造方法设计1。3。1 方法定义:public jdbc() IPO图输入:无。处理:加载驱动程序,若加载中出现异常,则显示异常描述信息.输出:无。 程序清单:public class jdbc private static final String DB_NAME= xz105151640043”;private static final String DB_PASSWORD=”xz;private static final String DB_URL = ”jdbc:oracle:thin:localhost:1521:orcl”;static try Class。forName

43、(oracle.jdbc。driver.OracleDriver”); catch (ClassNotFoundException e) e.printStackTrace();System。out.println(”class not found!”);1.3.2 方法定义:public getConnection() IPO图输入:无。处理:创建驱动程序和指定数据库间的连接对象,建立语句对象输出:无。 程序清单:public static Connection getConnection()try return DriverManager.getConnection(DB_URL, DB_NAME,

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服