Oracle数据库课程设计报告学生成绩管理系统样本Word格式.docx
- 文档编号:6472090
- 上传时间:2023-05-06
- 格式:DOCX
- 页数:37
- 大小:336.30KB
Oracle数据库课程设计报告学生成绩管理系统样本Word格式.docx
《Oracle数据库课程设计报告学生成绩管理系统样本Word格式.docx》由会员分享,可在线阅读,更多相关《Oracle数据库课程设计报告学生成绩管理系统样本Word格式.docx(37页珍藏版)》请在冰点文库上搜索。
1.学生基本信息及所选科目成绩的录入或导入。
2.基本信息的查询(分系、班级;
分科目)与修改。
3.对每系或每班各科成绩逬行分析(即求单科平均成绩、及格率和优秀率);
4.对所开课程的成绩分析(求其平均成绩,最高分和最低分);
5.对学生考试成绩进行排名(单科按系别或班级进行排名,对每—个班级,同一学期学生总体成绩进行排名,并显示各科成绩信息)
6.不及格情况的统计、导出.打印
2•系统需求
该学生成绩管理系统采用java语言开发研制,JavaBean作为行为模型,servlet作为响应服务器,DIV+CSS+javascript设计网页,oracle作为数据存储。
在完成用户需求同时,完成条件查询等功能。
针对学生成绩及其数据特点,能够全直实现对学生成绩的插入.查询.修改.删除和输出等功能的计算机管理。
它能使学生成绩数据的工作人员从繁重的工作中解脱出来,大大减轻了工作量,减少人为的工作失误,全面提高学生成绩管理的效率,从而使学校对于学生成绩的管理水平和技术水平跃上一个新的台阶。
3•系统开发环境
1•开发语言:
java+jsp
3.数据库:
Oracle10g
4.文档编写工具:
word
5.服务器端运行环境:
oracle10g,Tomcat,jdk1.7
6.客户端运行环境:
浏览器
3.系统设计
1•功能模块
2•系统流程图
121/TGTtz?
缺牛II笛
♦
3•数据字典
(1)数据存储
数据表:
用户表
表组成:
用户名,密码
数据项:
用户名
数据类型:
varchar
数据长度:
50数据项:
密码
50
(2)数据流定义:
登陆
名称:
简述:
用户登陆系统
数据来源:
用户
数据去向:
数据组成:
用户名+密码
4.数据库设计
1•数据库结构设计
院系表(cs)
字段名
数据类型
是否为空
说明
Csclass
Varchar2(50)
Notnull
班级名(主键)
Cs.dept
系别
Csgrade
年级
成绩表(gd)
Gd_stu_no
Varchar2(15)
学号(联合主键、外键)
Gd_sub_subject
科目(联合主键.外键)
Gdgrade
Number(3)
成绩
科目表(sub)
Subsubject
科目名(主键)
Subteachername
Varchar2(10)
任课老师名
学生表(student)
Stuno
学号(主键)
Stu_name
学生名
Stucsclass
班级名(外键)
Stu.sex
Varchar(4)
性别(约束)
Stubirthday
出生日期
Stuphone
Varchar2(200)
联系电话
用户表(userj
name
用户名(主键)
Passwd
notnull
2•实体联系图
3•数据库源代码selectuserenv(rlanguage,)fromdual;
shutdownimmediatestartupmount
ALTERSYSTEMENABLERESTRICTEDSESSION;
ALTERSYSTEMSETJOB_QUEUE_PROCESSES=0;
ALTERDATABASEOPEN;
alterdatabasecharactersetINTERNAL_USEUTF8;
shutdownimmediate
startup
createuserxzidentifiedbyxz
/
grantdbatoxz
connxz/xz
setserveroutputon
createtableuser_(namevarchar(50)primarykey.passwdvarchar(50)
notnull)
insertintouser_valuesCxzTxz'
);
Commit
createtablecs(
cs_classvarchar(50)primarykey,
cs_deptvarchar(50)notnull,
cs_gradevarchar(50)notnull
)
createtablestudent(
stu_novarchar(15)primarykey,
stu_namevarchar(10)notnull,
stu_sexvarchar(4)notnullcheck(stu_sex=*®
orsUi_sex=‘女stu_birthdayvarchar(50),
stu_phonevarchar(50),
stu_cs_classvarchar(50),
constraintclass_fkforeignkey(stu_cs_class)referencescs(cs_class)
ondeletecascade
createtablesub(
sub_subjectvarchar(50)primarykey,
sub_teacher_namevarchar(lO)
createtablegd(
gd_stu_novarchar(15),
gd_sub_subjectvarchar(50),
gd_gradenumber(3)notnull,
primarykey(gd_stu_no,gd_sub_subject),
constraintfk_gd_stu_noforeignkey(gd_stu_no)referencesstudent(stu_no),
constraintfk_gd_sub_subjectforeignkey(gd_sub_subject)referencessub(sub_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
begin
insertintostudent
(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);
讦sql%rowcount=l
thens_state_values:
=O;
endif;
exception
whenothersthens_state_values:
=l;
commit;
end;
createorreplaceprocedurec_insert_stu(
c_stu_noinstudent.stu_no%type,
c_state_valuesoutnumber)
as
selectcount(*)intoc_state_valuesfromstudent
wherestu_no=c_stu_no;
createorreplaceprocedurec_insert_stu_fk(
c_cs_classincs.cs_class%type,c_state_values_fkoutnumber)as
selectcount(*)intoc_state_values_fkfromcs
wherecs_class=c_cs_class;
createorreplaceprocedurep_insert_cs(p_cs_deptincs.cs_dept%type,
P_cs_gradeincs.cs_grade%type,
p_cs_classincs.cs_class%type,s_state_valuesoutnumber)as
insertintocs(cs_dept,cs_grade,cs_class)values(p_cs_dept,p_cs_grade,p_cs_class);
讦sql%rowcount=l
createorreplaceprocedurec_insert_cs(
c_cs_classincs.cs_class%type,c_state_valuesoutnumber)
selectcount(*)intoc_state_valuesfromcs
createorreplaceprocedurep_insert_sub(
p_sub_subjectinsub.sub_subject%type,
p_sub_teacher_nameinsub.sub_teacher_name%type,s_state_valuesoutnumber)
insertintosub(sub_subject,sub_teacher_name)values(p_sub_subject,p_sub_teacher_name);
ifsql%rowcount=l
end;
createorreplaceprocedurec_insert_sub(c_sub_subjectinsub.sub_subject%type,c_state_valuesoutnumber)as
selectcount(*)intoc_state_valuesfromsub
wheresub_subject=c_sub_subject;
createorreplaceprocedurep_insert_gd(
P_gcl_stu_noingd.gd_stu_no%type,
P_gd_sub_subjectingd.gd_sub_subject%type,
P_gd_gradeingd.gd_grade%type,s_state_valuesoutnumber)as
values(p_gd_stu_no,p_gd_sub_subject,p_gd_grade);
ifsql%rowcount=l
ifp_gd_grade=null
=2;
createorreplaceprocedurec_insert_gd(
P_gd_stu_noingd.gd_stu_no%type,
P_gd_sub_subjectingd.gd_sub_subject%type,c_state_valuesoutnumber)as
selectcount(*)intoc_state_valuesfrom(
selectgd_stu_nofromgd
wheregd_sub_subject=p_gd_sub_subject
wheregd_stu_no=p_gd_stu_no;
createorreplaceprocedurec_insert_gd_fkl(
c_state_values_fk1outnumber)
selectcount(*)intoc_state_values_fk1fromstudent
createorreplaceprocedurec」nsert_gd_fk2(c_sub_subjectinsub.sub_subject%type,c_state_values_fk2outnumber)
selectcount(*)intoc_state_values_fk2fromsub
p_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)begin
c_state_values:
selectstu_no,
stu_name,stu_sex,stu_birthday,stu_phone,stu_cs_class,cs_dept,cs_grade
intop_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
wherestucsclass=csclassandstuno=pstuno;
exceptionwhenothersthenc_state_values:
createorreplaceprocedurep_select_stu_no_gd(p_stu_noinstudent.stu_no%type,cursor_gdoutsys_refcursor)
opencursor_gdfor
selectgd_sub_subject,gd_grade
fromgd
wheregd_stu_no=p_stu_no;
createorreplaceprocedurep_select_stu_name(
p_stu_nameinstudent.stu_name%type,
cursor_stuoutsys_refcursor,
c_state_valuesoutnumber)begin
opencursor_stuforselectstu_name,stu_sex,stu_birthday,stu_phone,stu_cs_class,cs_dept,cs_g
rade
wherestuname=pstunameandstucsclass=csclass;
whenothersthenc_state_values:
createorreplaceprocedurep_pm_sum(
cursor_gd_sumoutsys_refcursor
opencursor_gd_sumfor
selectdistinctsno,stu_name,sum
fromstudent,(selectgd_stu_noassno,sum(gd_grade)assum
groupbygd_stu_no
wherestu_no=sno
orderbysumdesc;
createorreplaceprocedurep_pm_sub(
cursor_gd_suboutsys_refcursor
)begin
opencursor_gd_subfor
selectgd_stu_no,stu_name,gd_grade
fromgd,student
wheregd_sub_subject=p_gd_sub_subjectandstu_no=gd_stu_no
orderbygd_gradedesc;
createorreplaceprocedurep_pm_class(
p_stu_cs_classinstudent.stu_cs_class%type,
cursor_gd_classoutsys_refcursor
opencursor_gd_classfor
wherestuno=snoandstucsclass=pstucsclass
createorreplaceprocedurep_fx(cursor_fxoutsys_refcursorbegin
opencursor_fxfor
selectgd_sub_subject,max(gd_grade)aszuigao,min(gd_grade)aszuidi,avg(gd_grade)aspingjun,SUM(CASEWHENgd_grade>
=60
THEN1ELSE0END)/COUNT(*)*100ASjigelv,
SUM(CASEWHENgd_grade>
=80THEN1ELSE0
END)/COUNT(*)*100ASyouxiulv
groupbygd_sub_subject;
createorreplaceprocedurep_bujige(cursor_bujigeoutsys_refcursor)
opencursor_bujigefor
selectgd_stu_no,gd_sub_subject,gd_grade
wheregd_grade<
60;
createorreplaceprocedurep_update_stu(p_stu_noinstudent.stu_no%type,p_stu_name
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Oracle 数据库 课程设计 报告 学生 成绩管理系统 样本