Oracle数据库课程设计报告学生成绩管理系统可编辑.docx

上传人:b****2 文档编号:24481554 上传时间:2023-05-28 格式:DOCX 页数:25 大小:22.42KB
下载 相关 举报
Oracle数据库课程设计报告学生成绩管理系统可编辑.docx_第1页
第1页 / 共25页
Oracle数据库课程设计报告学生成绩管理系统可编辑.docx_第2页
第2页 / 共25页
Oracle数据库课程设计报告学生成绩管理系统可编辑.docx_第3页
第3页 / 共25页
Oracle数据库课程设计报告学生成绩管理系统可编辑.docx_第4页
第4页 / 共25页
Oracle数据库课程设计报告学生成绩管理系统可编辑.docx_第5页
第5页 / 共25页
点击查看更多>>
下载资源
资源描述

Oracle数据库课程设计报告学生成绩管理系统可编辑.docx

《Oracle数据库课程设计报告学生成绩管理系统可编辑.docx》由会员分享,可在线阅读,更多相关《Oracle数据库课程设计报告学生成绩管理系统可编辑.docx(25页珍藏版)》请在冰豆网上搜索。

Oracle数据库课程设计报告学生成绩管理系统可编辑.docx

Oracle数据库课程设计报告学生成绩管理系统可编辑

2014年Oracle数据库课程设计报告学生成绩管理系统(可编辑)

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

Oracle数据库课程设计题目学生考试管理系统班级11网工2班姓名马路瑶学号指导老师杨超峰

前言…………………………………………………2

需求分析……………………………………………3

系统设计……………………………………………5

数据库设计…………………………………………7

编程步骤……………………………………………19

测试…………………………………………………25

课程设计总结………………………………………33

参考资料……………………………………………34

附录…………………………………………………34

一、前言学生考试管理是一个学校必不可少的部分,随着计算机和计算机知识的普及,学生考试管理系统得到了更大的发展空间,通过对学生考试管理系统的开发,可以提高校务人员的工作效率。

学生成绩管理是一个学校不可缺少的部分,一个良好的学生成绩管理系统应该能够为用户提供充足的信息和快捷的查询手段。

学生考试管理系统对学校加强学生考试管理有着极其重要的作用.由于各个大学都在持续扩招,学生的数量日益庞大,对于如何管理如此庞大的学生考试数据显得更为复杂,传统的手工成绩管理不仅工作量大,而且容易出现问题,如:

效率低、保密性差,另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少的困难。

已不能适应时代的发展。

随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。

作为计算机应用的一部分,使用计算机对学生成绩信息进行管理,具有手工管理所无法比拟的优点。

例:

检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。

这些优点能够极大地提高管理者管理的效率,也是学校走向科学化、正规化管理,与世界接轨的重要条件。

因此,开发设计这样一套学生成考试理软件成为很有必要的事情.

二、需求分析

1.功能需求

学生基本信息及所选科目成绩的录入或导入。

基本信息的查询分系、班级;分科目与修改。

对每系或每班各科成绩进行分析即求单科平均成绩、及格率和优秀率;

对所开课程的成绩分析求其平均成绩,最高分和最低分;

对学生考试成绩进行排名单科按系别或班级进行排名,对每一个班级,同一学期学生总体成绩进行排名,并显示各科成绩信息

不及格情况的统计、导出、打印

2.系统需求该学生成绩管理系统采用java语言开发研制,JavaBean作为行为模型,servlet作为响应服务器,DIV+CSS+javascript设计网页,oracle作为数据存储。

在完成用户需求同时,完成条件查询等功能。

针对学生成绩及其数据特点,可以全面实现对学生成绩的插入、查询、修改、删除和输出等功能的计算机管理。

它能使学生成绩数据的工作人员从繁重的工作中解脱出来,大大减轻了

工作量,减少人为的工作失误,全面提高学生成绩管理的效率,从而使学校对于学

生成绩的管理水平和技术水平跃上一个新的台阶。

3.系统开发环境

1.开发语言:

java+jsp

2.开发工具:

IE8.0,Tomcat,jdk1.7,dreamweaver

3.数据库:

Oracle10g

4.文档编写工具:

word

5.服务器端运行环境:

oracle10g,Tomcat,jdk1.7

6.客户端运行环境:

浏览器

三、系统设计

1.功能模块

2.系统流程图

3.数据字典

1数据存储

数据表:

用户表

表组成:

用户名,密码

数据项:

用户名

数据类型:

varchar

数据长度:

50

数据项:

密码

数据类型:

varchar

数据长度:

50

2数据流定义:

登陆

名称:

登陆

简述:

用户登陆系统

数据来源:

用户

数据去向:

用户表

数据组成:

用户名+密码

四、数据库设计

1.数据库结构设计

院系表cs

字段名数据类型是否为空说明

Cs_classVarchar250Notnull班级名主键Cs_deptVarchar250Notnull系别Cs_gradeVarchar250Notnull年级成绩表gd

字段名数据类型是否为空说明

Gd_stu_noVarchar215Notnull学号联合主键、外键Gd_sub_subjectVarchar250Notnull科目联合主键、外键

Gd_gradeNumber3Notnull成绩科目表sub

字段名数据类型是否为空说明

Sub_subjectVarchar250Notnull科目名主键

Sub_teacher_nameVarchar210任课老师名

学生表student

字段名数据类型是否为空说明

Stu_noVarchar215Notnull学号主键

Stu_nameVarchar210Notnull学生名

Stu_cs_classVarchar250班级名外键

Stu_sexVarchar4Notnull性别约束

Stu_birthdayVarchar250出生日期

Stu_phoneVarchar2200

用户表user_

字段名数据类型是否为空说明

nameVarchar250Notnull用户名主键

PasswdVarchar250notnull密码

2.实体联系图

3.数据库源代码

selectuserenv'language'fromdual;shutdownimmediate

startupmount

ALTERSYSTEMENABLERESTRICTEDSESSION;ALTERSYSTEMSETJOB_QUEUE_PROCESSES0;ALTERSYSTEMSETAQ_TM_PROCESSES0;ALTERDATABASEOPEN;

alterdatabasecharactersetINTERNAL_USEUTF8;

shutdownimmediate

startup

createuserxz3identifiedbyxz/

grantdbatoxz

/

connxz3/xz

/

setserveroutputon

/

createtableuser_namevarchar50primarykey,passwdvarchar50not

null

/

insertintouser_values'xz','xz';/

Commit

/

createtablecs

cs_classvarchar50primarykey,cs_deptvarchar50notnull,cs_gradevarchar50notnull

/

createtablestudent

stu_novarchar15primarykey,stu_namevarchar10notnull,stu_sexvarchar4notnullcheckstu_sex'男'orstu_sex'女',stu_birthdayvarchar50,

stu_phonevarchar50,

stu_cs_classvarchar50,

constraintclass_fkforeignkeystu_cs_classreferencescscs_class

ondeletecascade

/

createtablesub

sub_subjectvarchar50primarykey,sub_teacher_namevarchar10

/

createtablegd

gd_stu_novarchar15,

gd_sub_subjectvarchar50,

gd_gradenumber3notnull,

primarykeygd_stu_no,gd_sub_subject,constraintfk_gd_stu_noforeignkeygd_stu_noreferences

studentstu_no,

constraintfk_gd_sub_subjectforeignkeygd_sub_subjectreferences

subsub_subject

/

createorreplaceprocedurep_insert_stu

p_stu_noinstudent.stu_no%type,

p_stu_nameinstudent.stu_name%type,

p_stu_sexinstudent.stu_sex%type,

p_stu_birthdayinstudent.stu_birthday%type,

p_stu_phoneinstudent.stu_phone%type,

p_stu_cs_classinstudent.stu_cs_class%type,

s_state_valuesoutnumber

as

begininsertintostudent

stu_no,stu_name,stu_sex,stu_birthday,stu_phone,stu_cs_classvalues

p_stu_no,p_stu_name,p_stu_sex,p_stu_birthday,p_stu_phone,p_stu_cs_cla

ss;

ifsql%rowcount1

thens_state_values:

0;

endif;

exception

whenothersthens_state_values:

1;

commit;

end;

/

createorreplaceprocedurec_insert_stuc_stu_noinstudent.stu_no%type,c_state_valuesoutnumber

as

begin

selectcount*intoc_state_valuesfromstudentwherestu_noc_stu_no;

end;

/

createorreplaceprocedurec_insert_stu_fkc_cs_classincs.cs_class%type,

c_state_values_fkoutnumber

as

begin

selectcount*intoc_state_values_fkfromcswherecs_classc_cs_class;

end;

/

createorreplaceprocedurep_insert_csp_cs_deptincs.cs_dept%type,

p_cs_gradeincs.cs_grade%type,

p_cs_classincs.cs_class%type,

s_state_valuesoutnumber

as

begin

insertintocscs_dept,cs_grade,cs_classvaluesp_cs_dept,p_cs_grade,p_cs_class;ifsql%rowcount1

thens_state_values:

0;

endif;

exception

whenothersthens_state_values:

1;commit;

end;

/

createorreplaceprocedurec_insert_csc_cs_classincs.cs_class%type,c_state_valuesoutnumber

as

begin

selectcount*intoc_state_valuesfromcswherecs_classc_cs_class;

end;

/

createorreplaceprocedurep_insert_subp_sub_subjectinsub.sub_subject%type,p_sub_teacher_nameinsub.sub_teacher_name%type,s_state_valuesoutnumber

as

begin

insertintosubsub_subject,sub_teacher_namevaluesp_sub_subject,p_sub_teacher_name;ifsql%rowcount1

thens_state_values:

0;

endif;

exception

whenothersthens_state_values:

1;commit;

end;

/

createorreplaceprocedurec_insert_subc_sub_subjectinsub.sub_subject%type,c_state_valuesoutnumber

as

begin

selectcount*intoc_state_valuesfromsubwheresub_subjectc_sub_subject;

end;

/

createorreplaceprocedurep_insert_gdp_gd_stu_noingd.gd_stu_no%type,

p_gd_sub_subjectingd.gd_sub_subject%type,p_gd_gradeingd.gd_grade%type,

s_state_valuesoutnumber

as

begin

insertintogdgd_stu_no,gd_sub_subject,gd_gradevaluesp_gd_stu_no,p_gd_sub_subject,p_gd_grade;ifsql%rowcount1

thens_state_values:

0;

endif;

exception

whenothersthens_state_values:

1;ifp_gd_gradenull

thens_state_values:

2;

endif;

commit;

end;

/

createorreplaceprocedurec_insert_gdp_gd_stu_noingd.gd_stu_no%type,p_gd_sub_subjectingd.gd_sub_subject%type,c_state_valuesoutnumber

as

begin

selectcount*intoc_state_valuesfromselectgd_stu_nofromgd

wheregd_sub_subjectp_gd_sub_subjectwheregd_stu_nop_gd_stu_no;

end;

/

createorreplaceprocedurec_insert_gd_fk1c_stu_noinstudent.stu_no%type,c_state_values_fk1outnumber

as

begin

selectcount*intoc_state_values_fk1fromstudent

wherestu_noc_stu_no;

end;

/

createorreplaceprocedurec_insert_gd_fk2c_sub_subjectinsub.sub_subject%type,c_state_values_fk2outnumber

as

begin

selectcount*intoc_state_values_fk2fromsubwheresub_subjectc_sub_subject;

end;

/

createorreplaceprocedurep_select_stu_no_infop_stu_noinoutstudent.stu_no%type,p_stu_nameoutstudent.stu_name%type,p_stu_sexoutstudent.stu_sex%type,

p_stu_birthdayoutstudent.stu_birthday%type,p_stu_phoneoutstudent.stu_phone%type,p_stu_cs_classoutstudent.stu_cs_class%type,p_cs_deptoutcs.cs_dept%type,

p_cs_gradeoutcs.cs_grade%type,

c_state_valuesoutnumber

as

begin

c_state_values:

0;

selectstu_no,

stu_name,stu_sex,stu_birthday,stu_phone,stu_cs_class,cs_dept,cs_

gradeintop_stu_no,p_stu_name,p_stu_sex,p_stu_birthday,p_stu_phone,

p_stu_cs_class,p_cs_dept,p_cs_grade

fromstudent,cs

wherestu_cs_classcs_classandstu_nop_stu_no;

exception

whenNO_DATA_FOUNDthenc_state_values:

1;

whenothersthenc_state_values:

2;

end;

/

createorreplaceprocedurep_select_stu_no_gdp_stu_noinstudent.stu_no%type,cursor_gdoutsys_refcursor

as

begin

opencursor_gdfor

selectgd_sub_subject,gd_grade

fromgd

wheregd_stu_nop_stu_no;

end;

/

createorreplaceprocedurep_select_stu_name

p_stu_nameinstudent.stu_name%type,cursor_stuoutsys_refcursor,

c_state_valuesoutnumber

as

begin

c_state_values:

0;

opencursor_stufor

selectstu_no,

stu_name,stu_sex,stu_birthday,stu_phone,stu_cs_class,cs_dept,cs_

grade

fromstudent,cs

wherestu_namep_stu_nameandstu_cs_classcs_class;

exception

whenothersthenc_state_values:

2;end;

/

createorreplaceprocedurep_pm_sumcursor_gd_sumoutsys_refcursoras

begin

opencursor_gd_sumfor

selectdistinctsno,stu_name,sumfromstudent,selectgd_stu_noassno,sumgd_gradeassum

fromgd

groupbygd_stu_no

wherestu_nosno

orderbysumdesc;

end;

/

createorreplaceprocedurep_pm_subp_gd_sub_subjectingd.gd_sub_subject%type,cursor_gd_suboutsys_refcursoras

begin

opencursor_gd_subfor

selectgd_stu_no,stu_name,gd_gradefromgd,student

wheregd_sub_subjectp_gd_sub_subjectandstu_nogd_stu_no

orderbygd_gradedesc;

end;

/

createorreplaceprocedurep_pm_class

p_stu_cs_classinstudent.stu_cs_class%type,cursor_gd_classoutsys_refcursor

as

begin

opencursor_gd_classfor

selectdistinctsno,stu_name,sum

fromstudent,selectgd_stu_noassno,sumgd_gradeassumfromgd

groupbygd_stu_no

wherestu_nosnoandstu_cs_classp_stu_cs_classorderbysumdesc;

end;

/

createorreplaceprocedurep_fx

cursor_fxoutsys_refcursor

as

begin

opencursor_fxfor

selectgd_sub_subject,gd_gradeaszuigao,mingd_gradeas

zuidi,avggd_gradeaspingjun,SUMCASEWHENgd_grade60THEN1ELSE0

END/COUNT**100ASjigelv,

SUMCASEWHENgd_grade80THEN1ELSE0END/COUNT**100ASyouxiulv

fromgd

groupbygd_sub_subject;

end;

/

createorreplaceprocedurep_

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 小学教育 > 其它课程

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1