Oracle 综训学生成绩管理系统文档格式.docx
- 文档编号:15238665
- 上传时间:2022-10-28
- 格式:DOCX
- 页数:28
- 大小:204.04KB
Oracle 综训学生成绩管理系统文档格式.docx
《Oracle 综训学生成绩管理系统文档格式.docx》由会员分享,可在线阅读,更多相关《Oracle 综训学生成绩管理系统文档格式.docx(28页珍藏版)》请在冰豆网上搜索。
3.4.1测试…………………………………………………………………16
3.4.2分析…………………………………………………………………19
3.5代码……………………………………………………………………19
4.总结与展望……………………………………………………………30
5.参考文献……………………………………………………………31
1设计时间
2015/6/1~2015/6/7
2设计任务
信息管理系统—学生成绩管理系统
掌握ORACLE数据库的特点,熟悉SQL命令和PL/SQL的编程特点,运用所学知识解决现实问题,完成学生成绩管理系统的后台数据库设计,提高系统性能。
在该项目中,不考虑需求分析过程,要求建立以下关系:
院系信息:
院系编号、院系名称、院系主管、地址、院系人数;
学生基本信息:
院系编号、学号、姓名、性别、学生类型、入学日期、籍贯、身份证号、详细地址、出生日期、所学专业、民族、电话(家)、缴费总计、已修学分、备注;
课程信息:
课程号、课程名称、开设年级、学时数、学分;
成绩单:
学号、课程号、学期、成绩、备注。
使用存储过程统计每个学生的‘已修学分’。
使用触发器实现当登记学生成绩(60分以上)时自动统计学生的‘已修学分’。
使用函数实现统计各课程的未及格人数,要求输入参数课程号后,返回各课程的人数NUM。
并实现调用,查‘数据库系统设计’的未及格人数。
将上实验中的存储过程与本实验中函数创建包。
3设计内容
3.1系统设计
3.1.1系统功能概述
系统的功能模块图如下:
图3-1-1功能模块图
3.1.2系统功能模块设计
1.信息查询模块
信息查询模块可以查询院系信息、学生信息、课程信息以及成绩单信息。
2.信息输入、修改模块
信息输入、修改模块以修改院系信息、学生信息、课程信息。
3.信息统计模块
用于统计学生已修学分、课程人数及课程未及格人数。
系统业务流程图如下:
图3-1-2业务流程图
3.2数据库设计
3.2.1数据库需求分析
系统E-R图如下:
表3-2-1实体及其属性表
实体名称
属性名称
院系信息
院系编号、院系名称、院系主管、地址、院系人数
学生信息
院系编号、学号、姓名、性别、学生类型、入学日期、籍贯、身份证号、详细地址、出生日期、所学专业、民族、电话(家)、缴费总计、已修学分、备注
课程信息
课程号、课程名称、开设年级、学时数、学分
选修
学号、课程号、学期、成绩、备注
图3-2-2院系实体属性图
图3-2-3学生实体属性图
图3-2-4课程实体属性图
图3-2-5E-R图
数据流图如下:
图3-2-60层数据流图
图3-2-71层数据流图
3.2.2数据库逻辑结构设计
表3-2-8学生成绩管理系统数据库结构
表名称
表信息表述
College
院系信息表
Student
学生信息表
Course
课程信息表
Score
成绩单
表3-2-9院系信息表college
描述
字段
类型
院系编号(主键)
Cno
varchar2(10)
院系名称
Cname
varchar2(30)
院系主管
Manager
地址
Address
varchar2(50)
院系人数
Population
number(10)
表3-2-10学生信息表student
学号(主键)
Sno
varchar2(20)
院系编号(外键)
姓名
Sname
性别
Sex
varchar2
(2)
学生类型
Type
入学日期
in_date
Date
籍贯
Jiguan
身份证号
Id
详细地址
出生日期
Birth
所学专业
Major
民族
Nation
电话(家)
Tele
varchar2(11)
缴费总计
Payment
已修学分
Credit
number(5)
备注
Remark
表3-2-11课程信息表course
课程号(主键)
课程名称
开设年级
Grade
varchar2(5)
学时数
study_time
number(4)
学分
表3-2-12成绩单score
课程号(联合主键、外键)
学号(联合主键、外键)
学期
Term
number
(2)
成绩
Scores
3.3数据库实现
3.3.1创建用户
创建admin用户并授权。
createuseradminidentifiedbyadmin;
SQL>
grantcreateproceduretoadmin;
授权成功。
grantcreatetriggertoadmin;
3.3.2创建表和约束
1.创建院系信息表。
1createtablecollege(
2cnovarchar2(10)primarykey,
3cnamevarchar2(10),
4managervarchar2(10),
5addressvarchar2(50),
6populationnumber(10)
7*)
/
表已创建。
2.创建学生信息表
1createtablestudent(
2snovarchar2(20)primarykey,
3cnovarchar2(10),
4snamevarchar2(10),
5sexvarchar2
(2),
6typevarchar2(10),
7in_datedate,
8jiguanvarchar2(10),
9idvarchar2(20),
10addressvarchar2(50),
11birthdate,
12majorvarchar2(10),
13nationvarchar2(10),
14televarchar2(11),
15paymentnumber(10),
16creditnumber(5),
17remarkvarchar2(50),
18foreignkey(cno)referencescollege(cno)
19*)
3.创建课程信息表
1createtablecourse(
3cnamevarchar2(30),
4gradevarchar2(5),
5study_timenumber(4),
6creditnumber(4)notnull
4.创建成绩单表
1createtablescore(
2cnovarchar2(10),
3snovarchar2(10),
4termnumber
(2),
5scoresnumber(10),
6remarkvarchar2(50),
7primarykey(cno,sno),
8foreignkey(cno)referencescourse(cno),
9foreignkey(sno)referencesstudent(sno)
10*)
3.3.3创建存储过程、函数及触发器
1.创建存储过程Statistic_credit,用于统计每个学生的‘已修学分’。
1createorreplaceprocedureStatistic_credit
2is
3cursorc1
4isselect*fromstudent;
5stu_infostudent%rowtype;
6begin
7openc1;
8fetchc1intostu_info;
9whilec1%found
10loop
11dbms_output.put_line(stu_info.sno||'
'
||stu_info.sname||'
||stu_info.credit);
12fetchc1intostu_info;
13endloop;
14closec1;
15*end;
过程已创建。
2.创建触发器t1,实现当登记学生成绩(60分以上)时自动统计学生的‘已修学分’。
1createorreplacetriggert1
2afterinsertorupdateofscoresonscore
3foreachrow
4begin
5if:
new.scores>
=60then
6updatestudentsetstudent.credit=student.credit+(selectcreditfromcoursewhereo=:
o)
7where
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Oracle 综训学生成绩管理系统 学生 成绩管理系统
![提示](https://static.bdocx.com/images/bang_tan.gif)