您的当前位置:首页正文

《Oracle数据库》实验报告

2020-06-26 来源:星星旅游


河南财经政法大学计算机与信息工程学院

实验报告 2013年---2014年第2学期

专 业: 课程名称: Oracle数据库 班 级: 姓 名: 学号:

实验一 数据库和表空间管理

实验目的 (1)了解数据库的结构以及一些基本概念 (2)掌握使用DBCA创建数据库 (3)了解使用SQL语句手工创建数据库 (4)掌握使用OEM和SQL语句管理表空间 实验内容 (1)启动DBAC,利用DBCA创建数据库ORCL,并删除数据库ORCL (2)启动OEM,创建本地管理方式自动分配区间的表空间DATA01,其中数据文件的名称为data01.dbf,大小为10M。 (3)启动SQL * Plus,使用create tablespace语句创建本地管理方式,区间尺寸为256k的表空间DATA02,其中数据文件的名称为data02.dbf,大小为12M。 (4)使用alter tablespace语句在本地管理表空间DATA02中增加数据文件data03.dbf,大小为8M,自动增长。 (5)使用PL/SQL语句改变数据文件data03.dbf的大小为10M。 (6)使用drop tablespace语句删除表空间DATA02及其包含的段和数据文件。 (7)使用OEM和PL/SQL语句创建重做日志组,组号为4,并且包含两个重做日志文件log1d.log和log2d.log,给出其绝对路径,大小为5000k。 实验数据记录及分析(或程序及运行结果) 评语: 日期:2014年 月 日 实验报告

实验二 创建和管理表

实验目的 (1)掌握OEM中创建表的方法 (2)掌握使用SQL语句创建表 (3)掌握OEM中修改、删除表的方法 (4)掌握使用SQL语句修改、删除表的方法 实验内容 (1)启动OEM,在OEM中创建学生信息表XS、课程信息表KC和学生成绩表XS_KC (2)启动SQL * Plus,用PL/SQL创建员创建学生信息表XS、课程信息表KC和学生成绩表XS_KC (3)在OEM中,为XS表增加SFZH列,字符型,长度18,唯一约束 (4)利用SQL语句, 在XS表上增加一个class字段,使class字段只能取值为(1,2,3,4,5,6); (5)删除KC表,能否删除?为什么?怎么解决? 学生信息表XS 列名 XH XM ZYM XB CSSJ ZXF 课程信息表KC 列名 KCH KCM KKXQ XS XF 列名 XH KCH CJ 数据类型 char varchar2 varchar2 char date number 数据类型 char varchar2 number number number 数据类型 char char number 大小 小数位 是否为空 默认值 6 20 10 2 2 否 否 男 约束 主键 约束 主键 1~8 约束 含义 学号 姓名 专业 性别 出生时间 总学分 含义 课程号 课程名 开课学期 学时 学分 含义 学号 课程号 学分 大小 小数位 是否为空 默认值 3 20 1 2 1 否 否 1 学生成绩表XS_KC 大小 小数位 是否为空 默认值 6 3 3 否 否 主键,外键 主键,外键 河南财经政法大学计算机与信息工程学院 第 3 页 共16页

实验数据记录及分析(或程序及运行结果) 评语: 日期:2014年 月 日 实验报告

实验三 表数据的插入、修改和删除

实验目的 (1)掌握用PL/SQL语句对数据库表进行插入、修改和删除数据的操作 (2)理解数据更新操作时要注意数据的完整性 (3)理解PL/SQL语句对表数据操作的灵活控制功能 实验内容 (1)利用PL/SQL的INSERT INTO命令向学生信息表XS、课程信息表KC和学生成绩表XS_KC添加数据,其数据内容参考下表。 (2)利用PL/SQL的UPDATE命令修改表数据:  在数据表XS中,将学号(XH)为“”同学的专业(ZYM)改为“通信工程”;  在数据表XS_KC中,将成绩(CJ)小于70分的所有同学成绩置空;  在数据表XS_KC中,将计算机系的学生成绩增加10分; (3)利用PL/SQL的DELETE命令删除数据表XS中所有备注(BZ)为空的记录。 (4)利用PL/SQL的DELETE命令删除数据表XS_KC中所有男生的成绩记录。 (5)如果要将“王林”的学号改为“”,SQL语句怎么写?能不能修改成功?为什么? (6)如果要删除“王林”的基本信息数据,SQL语句怎么写?能不能删除成功?为什么?怎么解决? 学生信息表(XS)数据 XH 06120l XM 王林 程明 王燕 韦严平 李方方 李明 林一帆 张强民 张蔚 赵琳 严红 王敏 王林 王玉民 ZYM 计算机 计算机 计算机 计算机 计算机 计算机 计算机 计算机 计算机 计算机 计算机 通信工程 通信工程 通信工程 XB 男 男 女 男 男 男 男 男 女 女 女 男 男 男 CSSJ 1986-02-10 1987-02-01 1985-10-06 1986-08-26 1986-11-20 1986-05-01 1985-08-05 1984-08-11 1987-07-22 1986-03-18 1985-08-11 1984-06-10 1985-0l-29 1 986-03-26 ZXF 50 50 50 50 50 54 52 50 50 50 48 42 40 42 提前修完《数据结构》,并获学分 已提前修完一门课 三好生 有一门功课不及格,待补考 有一门功课不及格,待补考 BZ 河南财经政法大学计算机与信息工程学院 第 5 页 共16页

马琳琳 李计 李红庆 孙祥欣 孙研 通信工程 通信工程 通信工程 通信工程 通信工程 女 女 女 女 男 1984-02-10 1985-09-20 1985-05-0l 1984-03-09 1986-10-09 42 42 44 42 42 提前修完一门课,并获学分 课程信息表(KC) KCH 101 102 206 208 209 210 212 301 302 KCM 计算机基础 程序设计语言 离散数学 数据结构 操作系统 计算机原理 数据库原理 计算机网络 软件工程 KKXQ 1 2 4 5 6 7 7 7 7 XS 80 68 68 68 68 85 68 51 51 XF 5 4 4 4 4 5 4 3 3 学生成绩表(XS_KC) XH 06110l KCH 101 102 206 101 102 206 10l 102 206 102 206 CJ 80 78 76 62 70 81 90 84 65 78 78 XH KCH 101 102 206 101 102 206 10l 102 206 10l 102 CJ 78 80 68 85 64 87 66 83 70 95 90 XH 061l11 KCH 206 10l 102 206 10l 101 101 101 101 101 101 CJ 76 63 79 60 80 65 87 91 76 81 70 实验数据记录及分析(或程序及运行结果) 实验报告

评语: 日期:2014年 月 日 实验四 数据库的查询

河南财经政法大学计算机与信息工程学院 第 7 页 共16页

实验目的 (1)掌握SELECT语句的基本语法 (2)掌握子查询的表示 (3)掌握连接查询的表示 (4)掌握数据汇总的方法 (5)掌握SELECT语句的GROUP BY子句的作用和使用方法 (6)掌握SELECT语句的ORDER BY子句的作用和使用方法 实验内容 针对ORCL数据库中的数据表,完成下列查询。 (1)SELECT基本使用  查询每个同学的所有数据。  查询学号为“”同学的姓名、性别和专业。  查询每个女同学的姓名、性别,并将结果中各列的标题指定为姓名和性别;  查询所有其姓名含有“阳”的同学的专业、性别;  查询课程编号“101”,且成绩在70~80之间的同学的学号; (2)嵌套查询  查询选修“101”课程的同学的学号、姓名和专业信息;  查询没有选修“101”课程的同学的学号、姓名和专业信息;  查询比通信工程专业的同学总学分都高的同学学号、姓名和专业信息;  查询平均成绩高于80分的同学的学号、姓名、性别和专业; (3)连接查询  查询每个同学的学号、姓名、课程名和成绩信息;  查询总学分大于48分的同学姓名和其选课情况(包括课程名称、学时和成绩); (4)数据汇总  查询计算机专业同学总学分的平均分;  查询全体同学的总学分的学最高分和最低分;  查询计算机专业同学总人数;  查询学号为“”同学的各门课程总分; (5)GROUP BY  查询每个专业的总人数;  查询每位同学的平均分; (6)ORDER BY  查询每个同学的学号、姓名、课程名和成绩信息,并按成绩由低到高排列输出; 实验报告

实验数据记录及分析(或程序及运行结果) 评语: 日期:2014年 月 日 河南财经政法大学计算机与信息工程学院 第 9 页 共16页

实验五 视图和索引

实验目的 (1)了解视图的重要性 (2)掌握视图的建立 (3)掌握视图的使用 (4)掌握索引的使用方法 (5)掌握索引的概念及分类 实验内容 (1)使用PL/SQL语句CREATE VIEW命令创建下列视图:  视图view_female,包含学生信息表中所有女生信息;  视图view_count,包含每个专业的名称和学生人数信息;  视图view_sum,包含每个同学的学号、姓名、课程总成绩信息;  视图view_score,包含每个同学的学号、姓名、课名,成绩信息; (2)使用PL/SQL语句DROP VIEW命令删除视图view_female。 (3)在SQL Plus中,通过视图,查询下列信息:  查询“计算机”专业的学生人数;  查询学号“”同学的所选课程和课程成绩信息 (5)在OEM中建立索引:  对课程信息表KC的KCM列创建索引idx_kcm;  对学生表XS的XH、XM列创建唯一索引idx_xhxm; (6)使用PL/SQL命令CREATE INDEX建立以上两个索引 (7)通过数据字典查看XS表的索引信息 实验数据记录及分析(或程序及运行结果) 评语: 日期:2014年 月 日 实验报告

实验六 用户、角色管理

实验目的 (1)掌握数据库的安全性能 (2)掌握使用用户实现数据库安全性的方法 (3)掌握使用角色实现数据库安全性的方法 实验内容 (1)利用CREATE USER语句,在数据库中创建用户MANAGER,授予DBA角色和SYSDBA系统权限。 (2)利用CREATE USER语句,在数据库中创建用户USER1,授予查询XS表的对象权限和创建表的系统权限。 (3)利用CREATE ROLE语句,在数据库中创建角色ADMIN,授予DBA角色和修改表和删除表的权限。 (4)利用新建立的用户连接数据库,验证其权限。 实验数据记录及分析(或程序及运行结果) 评语: 日期:2014年 月 日 河南财经政法大学计算机与信息工程学院 第 11 页 共16页

实验七 备份和恢复

实验目的 (1)掌握备份的使用方法 (2)掌握恢复的使用方法 (3)掌握闪回的使用方法 实验内容 (1)利用Expdp 命令,对ORCL数据库导出整个scott方案中的emp、dept表。 (2)利用impdp命令,使用步骤1导出的转储文件,对ORCL数据库导入emp、dept表。 (3)练习数据库闪回技术 实验数据记录及分析(或程序及运行结果) 评语: 日期:2014年 月 日 实验报告

实验八 PL/SQL编程

实验目的 (1)掌握变量的分类及使用 (2)掌握各种运算符的使用 (3)掌握各种控制语句的使用 (4)掌握系统函数及用户自定义函数的使用 (5)游标的使用 实验内容 (1)创建函数get_score(xh,kch),返回某个学生某门课的成绩,要求成绩转换为五级制。 (2)调用函数get_score。 (3)练习游标的用法。按下列格式输出学生的成绩: 王林: 计算机基础 90 程序设计语言 80 … 程明: 计算机基础 56 程序设计语言 74 … 实验数据记录及分析(或程序及运行结果) 河南财经政法大学计算机与信息工程学院 第 13 页 共16页

评语: 日期:2014年 月 日 实验报告

实验九 存储过程和触发器的使用

实验目的 (1)掌握存储过程的意义 (2)掌握存储过程的使用方法 (3)掌握触发器的意义 (4)掌握触发器的使用方法 实验内容 (1)利用CREATE PROCEDURE创建存储过程,使其能够完成向学生信息表中添加记录信息,添加时需判断该学生信息是否存在。并调用所建立的存储过程,对学生信息表中添加记录信息。 (2)利用CREATE TRIGGER创建触发器,完成XS_KC表的XH列和XS表的XH列的参照完整性规则。 实验数据记录及分析(或程序及运行结果) 河南财经政法大学计算机与信息工程学院 第 15 页 共16页

评语: 日期:2014年 月 日

因篇幅问题不能全部显示,请点此查看更多更全内容