#Oracle数据库课程设计报告学生成绩管理系统
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Oracle数据库课程设计题目学生考试管理系统
班级11网工2班
姓名马路瑶
学号
指导老师杨超峰
目录
一、前言 (2)
二、需求分析 (3)
三、系统设计 (5)
四、数据库设计 (7)
五、编程步骤 (19)
六、测试 (25)
七、课程设计总结 (33)
八、参考资料 (34)
九、附录 (34)
一、前言
学生考试管理是一个学校必不可少的部分,随着计算机和计算机知识的普及,学生考试管理系统得到了更大的发展空间,通过对学生考试管理系统的开发,可以提高校务人员的工作效率。
学生成绩管理是一个学校不可缺少的部分,一个良好的学生成绩管理系统应该能够为用户提供充足的信息和快捷的查询手段。学生考试管理系统对学校加强学生考试管理有着极其重要的作用.由于各个大学都在持续扩招,学生的数量日益庞大,对于如何管理如此庞大的学生考试数据显得更为复杂,传统的手工成绩管理不仅工作量大,而且容易出现问题,如:效率低、保密性差,另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少的困难。已不能适应时代的发展。
随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。
作为计算机应用的一部分,使用计算机对学生成绩信息进行管理,具有手工管理所无法比拟的优点。例:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高管理者管理的效率,也是学校走向科学化、正规化管理,与世界接轨的重要条件。
因此,开发设计这样一套学生成考试理软件成为很有必要的事情.
二、需求分析
1.功能需求
1.学生基本信息及所选科目成绩的录入或导入。
2.基本信息的查询(分系、班级;分科目)与修改。
3.对每系或每班各科成绩进行分析(即求单科平均成绩、及格率和优秀率);
4.对所开课程的成绩分析(求其平均成绩,最高分和最低分);
5.对学生考试成绩进行排名(单科按系别或班级进行排名,对每一个班级,同一学期学
生总体成绩进行排名,并显示各科成绩信息)
6.不及格情况的统计、导出、打印
2.系统需求
该学生成绩管理系统采用java语言开发研制,JavaBean作为行为模型,servlet作为响应服务器,DIV+CSS+javascript设计网页,oracle作为数据存储。在完成用户需求同时,完成条件查询等功能。
针对学生成绩及其数据特点,可以全面实现对学生成绩的插入、查询、修改、删除和输出等功能的计算机管理。它能使学生成绩数据的工作人员从繁重的工作中解脱出来,大大减轻了工作量,减少人为的工作失误,全面提高学生成绩管理的效率,从而使学校对于学生成绩的管理水平和技术水平跃上一个新的台阶。3.系统开发环境
1.开发语言:java+jsp
2.开发工具:IE 8.0,Tomcat ,jdk 1.7,dreamweaver
3.数据库:Oracle 10g
4.文档编写工具:word
5. 服务器端运行环境:oracle 10g,Tomcat ,jdk 1.7
6. 客户端运行环境:浏览器
三、系统设计
1.功能模块
2.系统流程图
3.数据字典(1)数据存储
数据表:用户表
表组成:用户名,密码数据项:用户名
数据类型:varchar
数据长度:50
数据项:密码
数据类型:varchar
数据长度:50
(2) 数据流定义:
登陆
名称:登陆
简述:用户登陆系统
数据来源:用户
数据去向:用户表
数据组成:用户名+密码
四、数据库设计
1.数据库结构设计
科目表(sub)
2.实体联系图
3.数据库源代码
select userenv('language') from dual;
shutdown immediate
startup mount
ALTER 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 immediate
startup
create user xz105151640043 identified by xz
/
grant dba to xz
/
conn xz105151640043/xz
/
set serveroutput 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 varchar(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_teacher_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(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_sex%type,