大型数据库实验报告(实验八)_第1页
大型数据库实验报告(实验八)_第2页
大型数据库实验报告(实验八)_第3页
大型数据库实验报告(实验八)_第4页
大型数据库实验报告(实验八)_第5页
已阅读5页,还剩5页未读, 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、课程实验报告(实验8)课程名称 大型数据库 专业班级 软件 姓 名 学 号 指导教师 计算机学院实验教学考核和成绩评定办法1 课内实验考核成绩,严格按照该课程教学大纲中明确规定的比重执行。实验成绩不合格者,不能参加课程考试,待补做合格后方能参加考试。2 单独设立的实验课考核按百分制评分,考核内容应包括基本理论、实验原理和实验。3 实验考核内容包括:1)实验预习;2)实验过程(包括实验操作、实验记录和实验态度、表现);3)实验报告;权重分别为0.2 、0.4 、 0.4;原则上根据上述三个方面进行综合评定。学生未取得1)和2)项成绩时,第3)项成绩无效。4 实验指导教师应严格按照考核内容分项给出

2、评定成绩,并及时批改实验报告,给出综合成绩,反馈实验中出现的问题。实验成绩在教师手册中有记载。实验报告主要内容一 实验目的 二 实验仪器及设备三 实验原理四 实验步骤五 实验记录及原始记录六 数据处理及结论七 实验体会(可选项)注:1. 统一采用a4纸,(正文采用宋体五号字)或手写,右侧装订。2. 实验类别指验证、演示、综合、设计、创新(研究)、操作六种类型实验。3. 验证性实验:是指为了使学生巩固课程基本理论知识而开设的强调演示和证明,注重实验结果(事实、概念或理论)的实验。4. 综合性实验:是指实验内容涉及本课程的综合知识或本课程相关的课程知识的实验。5. 设计性实验:是指给定实验目的、要

3、求和实验条件,由学生自行设计实验方案并加以实现的实验。实验题目实验八 存储过程、函数、程序包和触发器实验室机房9202实验时间2016 年 5月 17日 实验类别设计同组人数1 成 绩指导教师签字:【实验目的】(1)掌握存储过程的编辑及调用方法;(2)掌握函数的编辑及调用方法;(3)掌握程序包的编辑及调用方法;(4)掌握dml触发器的创建及应用。【实验原理】1. 存储过程 2. 函数 3. 程序包 4. 触发器【实验内容】基本任务一、存储过程、函数和程序包设计编程1假若有一个学生成绩管理系统,其中有一个学生成绩表stu_scores_xxx(学号,课程号,成绩,录入时间),其中课程号的第3位代

4、表课程类型(1:必修 2:考查 3:选修)。且要求一个学生的某一门课程只能有一个成绩。(1)现要求设计学生成绩表stu_scores_xxx的表结构及约束,表结构中应至少包含以上列出的字段,设计完成后创建该表。(2)编写程序包pkg_score_xxx,该程序包应至少提供以下功能: 教师可向学生成绩表中录入学生的考试成绩,在录入记录时要求对可能出现的异常进行处理。 教师可根据学号和课程号,查询出该某个学生某门课程的成绩,并返回对应记录。 当输入某课程的课程号后,可查询出该课程的课程类型(1:必修 2:考查 3:选修); 当输入一个百分制成绩,可返回其五级分制成绩(优、良、中、及、不及格); 当

5、输入某个学生的学号时,可查询出该生的成绩信息及课程类型,要求必修课输出百分制成绩,选修课或考查课输出五分制成绩。包规范(包头)代码:create or replace package pkg_score_221 isfunction course_type_221(cid char)return nvarchar2;function getgreade(sid number,cid char)return number;function getfive_score(grd number)return char;procedure insert_data(sid number,cid char,

6、grd number,prd varchar2);procedure sele_stuscore_221(sid number);end pkg_score_221;包体代码:create or replace package body pkg_score_221isfunction course_type_221(cid char) return nvarchar2 is v_ctype nvarchar2(10); v_str char(1); begin v_str:=substr(cid, 3, 1); case v_str when 1 then v_ctype:=必修课; when

7、 2 then v_ctype:=考查课; when 3 then v_ctype:=选修课; else v_ctype:=课程类型错误; end case; return v_ctype;end course_type_221;function getgreade(sid number,cid char)return numberiscid1 number;beginselect grade into cid1 from stu_scores_221where stuid=sid and courseid=cid; return cid1;end getgreade;function get

8、five_score(grd number)return charis ss nvarchar2(10); begin case when grd=90 and grd=80 and grd=70 and grd=60 and grd70 then ss:=及格; else ss:=不及格; end case;return ss;end getfive_score;procedure sele_stuscore_221(sid number) is begin for i in (select * from stu_scores_221 where stuid=sid) loop if cou

9、rse_type_221(i.courseid) =必修课 then dbms_output.put_line(学号:| i.stuid | 课程:|i.courseid| 课程类型:|course_type_221(i.courseid)| 成绩:|i.grade); else dbms_output.put_line(学号:| i.stuid | 课程:|i.courseid| 课程类型:|course_type_221(i.courseid)| 成绩:|getfive_score(i.grade); end if; end loop;end sele_stuscore_221; proc

10、edure insert_data(sid number,cid char,grd number,prd varchar2) is num_null_221 exception; pragma exception_init(num_null_221,-1400);begin insert into stu_scores_221(stuid,courseid,grade,prodession) values(sid,cid,grd,prd); commit; exception when dup_val_on_index then dbms_output.put_line (该学生信息已存在); when num_null_221 then dbms_output.put_line(违反了非空约束!);end insert_data;end pkg_score_221;(3)试编写程序块分别调用测试程序包中的公有存储过程。插入数据:利用学号查询信息:二、触发器设计编程2 假若在员工考勤系统中有一个员工考勤表empl_kq_xxx,其表中的列内容要求如表1所示:表1 员工考勤表empl_kq_xxx名称备注考

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论