收藏 分销(赏)

oracle专业课程设计实验.doc

上传人:w****g 文档编号:2864322 上传时间:2024-06-07 格式:DOC 页数:19 大小:151.54KB 下载积分:8 金币
下载 相关 举报
oracle专业课程设计实验.doc_第1页
第1页 / 共19页
oracle专业课程设计实验.doc_第2页
第2页 / 共19页


点击查看更多>>
资源描述
学号 武汉理工大学华夏学院 ORACLE应用期末考查汇报 题 目:高校学生课程成绩据库设计 专 业 软件工程 班 级 1111 姓 名 成 绩 教 师 《oracle应用》课程考试要求 考评拟采取大作业汇报形式,将学生学习结果心得体会以文档形式提交。请同意。 此次考评要求每个学生完成内容以下: ⑴选定某一专题,创建一个oracle数据库,对其进行日常管理及应用(全部用SQL语句实现): 创建数据库实例,数据库表空间,创建管理员,一般用户,并分别授予对应权限; 最少建立5个表,和表间关系,使用到序列,索引,视图,同义词,约束,每个表最少插入相关信息10条统计; 要求使用sqlplus,pl/sql建立存放过程,触发器和程序包等代码,其中要求用到游标,异常,多种语句等对表中数据进行处理,建立报表; 有实力同学加入界面,连接数据库; 要有操作截图展示,字数要求4000字左右; ⑵对 oracle数据库认识及心得体会,要求字数1000字以上。 【3】 以班级体刻盘,每人以自己名字命名文件夹; 成绩评定方法: 1、平时成绩占30%,大作业及汇报占70%。 ORACLE应用期末考查汇报 1 1 功效需求分析 4 2概要设计 4 3逻辑设计 5 3.1 6 3.2 6 3.3 6 3.4 7 3.5 7 3.6 7 4实现 8 5测试数据 10 5.1 10 5.2 11 5.3 12 5.4 13 6数据库备份 14 7心得体会 14 8参考资料 15 1 功效需求分析 高校学生课程成绩管理系统关键实现课程开设,老师讲课,学生选课管理。每学期学校能够开设若干门课程,每门课程能够有多个教学班组成,每个老师能够选择若干个教学班进行讲课,每个学生只能参与相同课程一个教学班选课,但能够选择多个不一样课程教学班。高校学生课程成绩管理系统关键功效以下: (1) 老师管理。关键实现老师信息管理,包含课程信息添加,修改,删除和查询等任务。 (2) 课程管理。关键实现按教学计划开设课程管理。包含课程信息添加,修改,删除和查询等任务。 (3) 学生管理。关键实现在校学生信息管理。包含学生信息添加,修改,删除和查询等任务。 (4) 课程开设管理。关键实现每学期教学任务。每门课程将分成若干个教学班进行教学。 (5) 老师选择教学任务管理。关键实现老师选择教学班,实现教学任务分配。 (6) 学生选课管理。关键实现学生选择教学班。达成学生选课目标。 (7) 学生成绩管理。关键实现学生选修课程成绩录入,修改,删除和查询等功效。 (8) 统计管理。按老师,课程,时间统计老师在一个时间所讲课程平均成绩;按课程时间统计学校在一个时间该课程全部学生平均成绩。 2概要设计 依据高校学生课程成绩管理系统功效需求分析,设计4个实体对象分别是:老师,学生,课程和开设课程。老师对象描述老师基础信息,包含老师号,姓名,性别和联络电话;课程对象描述课程基础信息,包含课程号,课程名,学分,系别;学生对象描述学生基础信息,包含学号,姓名,性别,出生年月,系别和联络电话。实体之间存在3个关系,分别是讲授,开设和选课。讲授描述老师和开设课程之间关系,开设描述课程和开设课程关系,选课描述学生和开设课程之间关系。高校学生课程成绩管理系统E-R图图(1) 。 老师 讲授 开设可程 选课 学生 姓名 性别 老师号 联络电话 时间 成绩 姓名 性别 学号 系别 出生年月 联络电话 开设 课程 系别 课程名 课程号 学分 1 M 1 M n 图1 3逻辑设计 依据高校学生课程成绩管理系统概要设计。设计关系模型数据库。该系统设计4个实体对象表,1个关系表和2个视图,分别是teacher老师表,student学生表,course课程表,KC开设课程表,SC学科表,avg_v视图和cou_v视图。 3.1 teacher老师表包含4个字段。老师号为主键,性别字段只能为“男”或“女”。以下表teacher老师表所表示. teacher老师表 字段名 属性 类型 约束 sname 姓名 Char(20) Not null sex 性别 Char(2) Check(sex in(n男女)) tno 老师号 Char(12) Primary key tphone 联络电话 Char(20) Not null 3.2 student学生表包含6个字段。学生对象学号作为主键,性别字段只能为“男”或“女”。以下表student学生表所表示. student学生表 字段名 属性 类型 约束 sname 姓名 Char(20) Not null sex 性别 Char(2) Check(sexin(n男女)) sno 学号 Char(12) Primary key sdept 系别 Char(12) sphone 联络电话 Char(11) brithday 出生年月 Date 3.3 course课程表包含4个字段。课程对象用课程号作为主键,且课程名唯一。以下表course课程表所表示。 course课程表 字段名 属性 类型 约束 cno 课程号 Number(6) Primary key cname 课程名 Char(20) unique credit 学分 Number(2,1) sdept 系别 Char(12) 3.4 KC开设课程表包含3个字段。KC开设课程表用shijian,tno和cno作为主键。以下表KC开设课程表所表示。 KC开设课程表 字段名 属性 类型 约束 shijian 时间 char(20) tno 老师号 foreign key,reference teacher(tno) cno 课程号 foreign key,reference course(cno) 3.5 SC选课表包含5个字段。SC开设课程表用sno,tno,cno和shijian作为表主键。以下表SC选课表所表示。 SC选课表 字段名 属性 类型 约束 grade 成绩 number(2) not null sno 学号 foreign key,reference student(cno) tno 老师号 foreign key,reference KC(tno,cnoshijian) cno 课程号 shijian 时间 3.6 为了实现高校学生课程成绩管理系统统计管理功效,设计avg_v视图和cou_v视图。Avg_v视图包含老师名,课程名,时间和平均成绩4个字段,经过查询teacher老师表,course课程表和SC选课,在老师号和课程号字段上等值链接,而且根据老师名,课程名和时间分组,实现老师所讲课程平均成绩。Cou_v视图包含时间,课程和平均成绩3个字段,经过查询course课程表和SC选课表,在课程号字段上等值链接,而且根据时间和课程名分组,实现统计学习在某个时间课程平均成绩。 在SC选课表上创建索引,索引建立在SC选课表学号,课程号,老师号和时间字段上。课程号和老师号按升序排列,学号和时间按降序排列。 4实现 --创建表空间test CREATE TABLESPACE test DATAFILE ‘c:\app\john\oradata\orcl\test01.dbf’ SIZE 10M; --创建用户manager CREATE USER manager IDENTIFIED BY abc123 DEFAULT TABLESPACE test QUOTA 5M ON test; --授权系统权限 GRANT CREATE SESSION,CREATE TABLE TO manager; --用manager账号登陆 CONNECT manager/abc123 --创建teacher老师表 CREATE TABLE teacher( tname CHAR(20) NOT NULL, sex CHAR(2) CHECK(sex in (‘男’,’女’)), tno CHAR(12) PRIMARY KEY, tphone CHAR(20) NOT NULL); --创建course课程表 CREATE TABLE course ( cname CHAR(20) UNIQUE, cno NUMBER(6) PRIMARY KEY, credit NUMBER(2,1) sdept CHAR(12)); --创建student学生表 CREATE TABLE student ( sname CHAR(20) NOT NULL, sex CHAR(2) CHECK(sex in (‘男’,’女’)), sno CHAR(12) PRIMARY KEY, sdept CHAR(12), sphone CHAR(11), birthday DATA)); --创建KC开设课程表 CREATE TABLE KC ( tno CHAR(12) REFERENCES teacher(tno) ON DELETE CASCADE, cno NUMBER(2) REFERENCES course(cno) ON DELETE CASCADE, shijian CHAR(20) PRIMARY KEY(shijian, tno, cno)); --创建SC表 CREATE TABLE SC ( sno NUMBER(12) REFERENCES student(sno) ON DELETE CASCADE, cno NUMBER(6), tno CHAR(12), shijian CHAR(20), grade NUMBER(2) NOT NULL, FOREIGN KEY(shijian, tno, cno) REFERENCES KC(shijian, tno, cno) ON DELETE CASCADE, PRIMARY KEY(shijian, tno, cno,sno)); --创建视图avg_v CREATE VIEW avg_v(tname,cname,shijian,Gavg) AS SELECT tname,cname,shijian,avg(grade) FROM teacher a,course b,SC c WHERE a.tno=c.tno AND o=o GROUP BY (tname,cname,shijian); --创建视图cou_v CREATE VIEW cou_v (shijian,cname,Gavg) AS SELECT shijian, cname,avg(grade) FROM course a,SC b WHERE o= o GROUP BY (shijian, cname); --创建索引 CREATE UNIQUE INDEX SCno on SC(sno DESC,tno ASC,cno ASC,shijian DESC); --用户登录存放过程 create or replace procedure denglu(flag out number,username varchar2,upwd number)---登录 as i varchar2(20); p number; begin flag:=0; select t.ename into i from scott.yonghu t where t.ename=username; if i is not null then flag:=1; select t.eno into p from scott.yonghu t where t.ename=username and t.eno=upwd; if upwd is not null then flag := 2;----登录成功 else flag := 1;-----密码不正确 end if; else flag := 0;------用户不存在 end if; commit; exception when no_data_found then rollback; end; 5测试数据 5.1 teacher老师表测试数据以下: tname sex tno tphone 老师一 男 老师二 男 老师三 女 老师四 男 老师五 男 代码以下:INSERT INTO teacher(tname,sex,tno,tphone) VALUES(‘老师一’,’ 男’,’ 112601’,’’); INSERT INTO teacher(tname,sex,tno,tphone) VALUES(‘老师二’,’ 男’,’ 112602’,’’); INSERT INTO teacher(tname,sex,tno,tphone) VALUES(‘老师三’,’ 女’,’ 112603’,’’); INSERT INTO teacher(tname,sex,tno,tphone) VALUES(‘老师四’,’ 男’,’ 112604’,’’); INSERT INTO teacher(tname,sex,tno,tphone) VALUES(‘老师五’,’ 男’,’ 112605’,’’); 5.2 student表测试数据以下: sname sex sno sdept sphone birthday 学生一 男 计算机 1989-07-15 学生二 男 网络工程 1990-04-09 学生三 男 电子信息 1988-10-12 学生四 男 自动化 1990-07-27 学生五 男 数学 1990-08-24 学生六 男 计算机 1988-08-25 代码以下: INSERT INTO student(sname,sex,sno,sdept,sphone,birthday) VALUES(‘学生一’,’ 男’,’ 01010121’,’ 计算机’,’’, to_data(’ 1989-07-15’,’yyyy-mm-dd’)); INSERT INTO student(sname,sex,sno,sdept,sphone,birthday) VALUES(‘学生二’,’ 男’,’ 01010148’,’ 网络工程’,’’,to_data(’ 1990-04-09’,’yyyy-mm-dd’)); INSERT INTO student(sname,sex,sno,sdept,sphone,birthday) VALUES(‘学生三’,’ 男’,’ 01010114’,’ 电子信息’,’’, to_data(’ 1988-10-12’,’yyyy-mm-dd’)); INSERT INTO student(sname,sex,sno,sdept,sphone,birthday) VALUES(‘学生四’,’ 男’,’ 01010141’,’ 自动化’,’’, to_data(’ 1990-07-27’,’yyyy-mm-dd’)); INSERT INTO student(sname,sex,sno,sdept,sphone,birthday) VALUES(‘学生五’,’ 男’,’ 01010144’,’ 计算机’,’’, to_data(’ 1988-08-25’, ’yyyy-mm-dd’)); INSERT INTO student(sname,sex,sno,sdept,sphone,birthday) VALUES(‘学生一’,’ 男’,’ 01010144’,’ 计算机’,’’, to_data(’ 1989-07-15’, ’yyyy-mm-dd’)); 5.3 KC开设课程表数据以下: tno cno time 112601 -第二学期 112601 -第一学期 112602 -第二学期 112602 -第一学期 112603 -第二学期 112603 -第一学期 112604 -第一学期 112604 -第一学期 112605 -第一学期 112605 -第二学期 代码以下: INSERT INTO KC(tno,cno,shijian) VALUES(‘112601’,’ 112601’,’ -第二学期’); INSERT INTO KC(tno,cno,shijian) VALUES(‘112601’,’ 112601’,’ -第一学期’); INSERT INTO KC(tno,cno,shijian) VALUES(‘112602’,’ 112602’,’ -第二学期’); INSERT INTO KC(tno,cno,shijian) VALUES(‘112602’,’ 112602’,’ -第一学期’); INSERT INTO KC(tno,cno,shijian) VALUES(‘112603’,’ 112603’,’ -第二学期’); INSERT INTO KC(tno,cno,shijian) VALUES(‘112603’,’ 112603’,’ -第一学期’); INSERT INTO KC(tno,cno,shijian) VALUES(‘112604’,’ 112604’,’ -第一学期’); INSERT INTO KC(tno,cno,shijian) VALUES(‘112604’,’ 112604’,’ -第一学期’); INSERT INTO KC(tno,cno,shijian) VALUES(‘112605’,’ 112605’,’ -第一学期’); INSERT INTO KC(tno,cno,shijian) VALUES(‘112605’,’ 112605’,’ -第二学期’); 5.4 SC选课表中数据以下: sno cno tno time grade 112601 -第一学期 96 112602 -第二学期 98 112605 -第一学期 99 112601 -第一学期 85 112605 -第二学期 92 112602 -第二学期 75 112603 -第一学期 88 112603 -第一学期 82 112604 -第一学期 80 112604 -第一学期 94 112601 -第二学期 68 112601 -第一学期 77 112602 -第二学期 87 112605 -第一学期 89 代码以下: INSERT INTO SC(sno,cno,tno,shijian,grade) VALUES(‘01010121’,’ 112601’,’ 112601’,’ -第一学期’,’ 96’); INSERT INTO SC(sno,cno,tno,shijian,grade) VALUES(‘01010121’,’ 112602’,’ 112602’,’ -第二学期’,’ 98’); INSERT INTO SC(sno,cno,tno,shijian,grade) VALUES(‘01010121’,’ 112605’,’ 112605’,’ -第一学期’,’95’); INSERT INTO SC(sno,cno,tno,shijian,grade) VALUES(‘01010148’,’ 112601’,’ 112601’,’ -第一学期’,’85’); INSERT INTO SC(sno,cno,tno,shijian,grade) VALUES(‘01010148’,’ 112605’,’ 112605’,’ -第二学期’,’ 92’); INSERT INTO SC(sno,cno,tno,shijian,grade) VALUES(‘01010114’,’ 112602’,’ 112602’,’ -第二学期’,’75’); INSERT INTO SC(sno,cno,tno,shijian,grade) VALUES(‘01010114’,’ 112603’,’ 112603’,’ -第一学期’,’ 88’); INSERT INTO SC(sno,cno,tno,shijian,grade) VALUES(‘01010141’,’ 112603’,’ 112603’,’ -第一学期’,’ 82’); INSERT INTO SC(sno,cno,tno,shijian,grade) VALUES(‘01010141’,’ 112604’,’ 112604’,’ -第一学期’,’80’); INSERT INTO SC(sno,cno,tno,shijian,grade) VALUES(‘01010125’,’ 112604’,’ 112604’,’ -第一学期’,’ 94’); INSERT INTO SC(sno,cno,tno,shijian,grade) VALUES(‘01010125’,’ 112601’,’ 112601’,’ -第二学期’,’ 68’); INSERT INTO SC(sno,cno,tno,shijian,grade) VALUES(‘01010144’,’ 112601’,’ 112601’,’ -第一学期’,’ 77’); INSERT INTO SC(sno,cno,tno,shijian,grade) VALUES(‘01010144’,’ 112602’,’ 112602’,’ -第二学期’,’ 87’); INSERT INTO SC(sno,cno,tno,shijian,grade) VALUES(‘01010144’,’ 112605’,’ 112605’,’ -第一学期’,’ 89’); 6数据库备份 alter tablespace test begin backup; host copyc:\app\john\oraddta\orcl\test01.dbf c:\users\john\documents\test01.dbf alter tablespace test end backup; 7心得体会 经过一个星期设计和开发,对高校学生课程成绩管理系统基础开发完成。经过不停地对程序及各模块进行修改、编译、调试、运行。和应用了Oracle 11g语言,对数据库创建、修改、删除,我深刻意识到设计系统必需得经过系统调研、需求分析、概念设计、逻辑设计、物理设计、系统调试、维护和系统评价通常过程。才能做好符合市场需求系统。 很多时候感觉后面设计根本无法继续,感觉像是被前面做多种图限制了。不过不管做什么,我们全部要相信自己,不能畏惧,不能怕碰到困难,什么全部需要去尝试,有些你开始认为极难事在你尝试以后你可能会发觉原来它并没有你以前认为那样。 经过这次大作业真切地体会到作业目标并仅仅是自己单纯任务完成,而在于重新巩固已学过知识,从而取得新知识。设计进行很艰苦,编码很不轻易,才发觉做一个项目最关键不在于怎样实现,而是实现之前需求分析和模块设计。创新极难,有些流行系统其实现并不难,难在于对市场分析和正确定位。设计,是一个任重道远过程,需要我么不停学习和创新。 整个过程中,从需求分析到设计、编码、测试,我全部努力争取规范化和文档化,努力让自己以前学知识利用到本系统开发中,尽可能确保整个系统开发进度和质量,顺利完成这次课程设计。  不过,在系统开发过程中,好多知识全部是随学随用,就增加了很多无须要麻烦。虽说这些全部会消耗系统开发时间,但在同学和自己不停努力下,不怕麻烦,不怕反复,当克服了这些问题以后,我会感觉到自己知识在一点一滴地积累,不知不觉中增加。   我相信,只要肯钻研,只要挤时间,一切自己想要知识全部能够掌握。 经过此次课程设计,我对高校学生课程成绩管理系统经典问题有了深入了解,尤其是在设计数据库方面有了新认识。在这次课程设计中,因为没有掌握好进程同时中部分关键知识,造成在实际操作中碰到了很多问题,比如说对对数据表第三范式计划。此次课程设计使我明白,在程序设计中,我们需要有一个清楚整体结构,然后针对每个模块逐步实现其功效,在设计中也需要有严谨和认真态度,才会愈加好完成一项任务。 8参考资料 [1] 尹志宇、郭晴,数据库原理和应用教程—sql server,北京:清华大学出版社,.07 [2]黄维通、王晓英,SQL Server 数据库技术和应用 ,北京:清华大学出版社,.01 [3] 庞娅娟、房大伟SQL Server 应用和开发范例宝典(第二版),北京:人民邮电出版社,.10 [4]王小科、王军、赵会东,C#项目开发案例全程实录(第二版),北京:清华大学出版社,.01 [5]孙士保、张瑾,ASP.NET数据库网站设计教程(C#版)北京:电子工业出版社,.02
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 学术论文 > 其他

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

关于我们      便捷服务       自信AI       AI导航        抽奖活动

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

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

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

关注我们 :微信公众号    抖音    微博    LOFTER 

客服