oracle实验
更新时间:2024-03-15 08:26:01 阅读量: 综合文库 文档下载
实验一 Oracle 安装与使用
1、 安装Oracle 11g(选作)
2、 通过SQL命令行(SQL*PLUS)启动(startup命令)和停止(shutdown命令)数据库 3、 用Net Configuration Assistant完成网络连接配置 4、 使用Oracle常用工具OEM、SQL *PLUS、iSQL*PLUS 5、 使用DBCA工具创建数据库
6、 在新创建数据库内建立表空间(使用CREATE TABLESPACE命令) 7、 创建新的数据库用户
8、 Oracle中的用户管理(用户授权、修改用户口令、删除用户等) 9、 卸载Oracle数据库(选作)
实验二 SQL *Plus 的使用
1、 启动、退出 SQL *Plus 环境 2、 使用 SQL *Plus 命令 (1) DESCRIBE 命令 (2) #号的作用
3、 SQL *Plus 环境下使用脚本文件
(1) 准备工作。在SQL *Plus中输入一条SQL 语句,并以分号结束。 (2) 使用 SAVE 命令将缓冲区中内容保存到文件。 (3) 在编辑器中编辑文件。
(4) 使用 GET 命令将文件读入缓冲区。
(5) 使用 START 命令运行脚本文件,最后使用 SPOOL OFF 命令结束。 (6) 将SQL *Plus 中的各种操作及执行结果复制到d:\\mysql\\result.lst。
4、 使用 CONNECT 和 DISCONNECT 命令在 SQL *Plus 环境下连接和断开Oracle 数据库。 5、 用多种方法运行 SQL 语句。 6、 SQL *Plus 下的格式控制
(1) 修改列标题名称及其对齐方式。 (2) 格式化数据的显示格式。 (3) 复制列的格式。 (4) 使用汇总行。
(5) 设置页与报告的标题和脚注。
实验三 SQL 查询语句设计
1、 在SQL *Plus 环境下使用 CREATE TABLE 语句创建表t_student和 t_score。
t_student表结构如下: 列名 Sno(主键) Sname ssex sbirthday 数据类型 Varchar2(10) Varchar2(10) Number(1) date 限制条件 Not null Not null 学生学号 学生姓名 学生性别(0代表女,1代表男) 出生日期 字段含义 t_score表结构如下: 列名 Sno(主键) score 数据类型 Varchar2(10) Number 限制条件 Not null Not null 学生学号 课程编号 考试成绩 字段含义 Sub_no(主键) Varchar2(10) 2、 使用 INSERT 语句向表t_student和 t_score中输入若干数据。
t_student表数据示例: sno 20100001 20100002 20100003 20110001 20110002 sname 刘浩 张杰 李娟 王强 马力 ssex 1 1 0 1 sbirthday 1991-10-12 1992-01-03 1992-06-14 1991-02-21
t_score表数据示例: sno 20100001 20100002 20100003 20100001 20100003 20110001 20110002 Sub_no 001 001 001 002 002 002 002 score 90 87 88 84 85
3、 完成下列操作并观察结果
(1) 删除学号为 20100001的学生信息。
(2) 将学号为20100001的学生的课程号为002的课程成绩修改为95分。 (3) 显示所有学生的姓名和年龄。 (4) 查询年龄最大的学生天数。 4、 函数的使用
(1) 利用CONCAT函数将学生学号和姓名连接成一个字符串输出。 (2) 从学生学号中提取入学年份,即前4个字符。 (3) 求当前时间所在月的最后一天。 (4) 将学生出生日期按照指定格式输出。 5、 查询设计并实现
(1) 查询每门课程的不及格人数。
(2) 查询课程001的所有学生成绩,显示学生姓名、课程号和成绩信息,按照成绩降序
排列。
(3) 查询选修了两门课程以上的学生学号、学生姓名和选课门数。
实验四 PL/SQL 编程
1、 用PL/SQL块查询数据表信息
(1) 输入学号,查询t_student中的学生姓名。
(2) 执行程序,在系统提示符下输入查询的学生学号后,观察运行结果。 2、 用条件语句控制操作表数据
(1) 用 PL/SQL 程序块来修改表。如果 t_score 表中学号为 20100002、课程号为 001
的选课成绩小于等于80分则加8分,如果大于80分、小于等于90分则加5分,如果大于90分小于97分则只加3分。
(2) 执行后,用查询语言查看学生成绩的变化情况。
3、 使用 PL/SQL 中的循环控制语句,计算1~100中所有能被3整除的偶数,并输出结果。 4、 创建和使用存储过程
利用已建的表t_student和t_score 完成下列设计:
(1) 建立一个带参数的存储过程,功能是向学生表中追加一个记录,其记录内容可
由输入参数提供。
(2) 建立一个带参数的存储过程,它能得到指定学号的学生所有课程的平均成绩。 (3) 首先创建一个带参数的存储过程,其作用是 :当任意输入一个学生的姓名时,
将从表中返回该学生的学号、选修的课程号和成绩;其次执行该存储过程,查询若干指定姓名的学生学号、选修的课程号和成绩。
5、 利用 PL/SQL 中的异常处理
输入一个欲查询学生姓名,若存在则输出该学生的学号,若不存在,则进行异常处理,提示该学生不存在,并输出错误号(SQLCODE)和错误原因(SQLERRM)。
实验五 数据库对象管理
1、 使用与设计视图
(1) 以 SYS 用户身份登录数据库,给予scott用户创建视图的权限。
(2) 以 scott 用户登录数据库,创建一个包含部门号、部门名、部门地址、职工号、
职工名和工种信息的视图,并设计一个对该视图的查询。
(3) 创建查出男生、女生人数,在结果中列标题指定为“男生人数、女生人数”的视图。 2、利用同义词隐藏数据库对象
Scott用户利用同义词将dept表的访问权限授予temp_guest用户,同时不让temp_guest用户知道访问的表是dept表以及表的所有者为scott。
(1) 以SYS 身份登录数据库,创建temp_guest 用户并授予CONNECT、RESOURCE、CREATE SYNONYM以及对scott的dept表查询的权限。
(2)已temp_guest的身份登录到数据库,创建dept表的同义词 department。 (3)系统管理员将temp_guest账号分配给其他数据库用户使用。
(4)其他数据库用户以temp_guest登录数据库,查询department对象内容。 3、使用序列实现自增主键
(1)以scott用户的身份登录数据库,创建一个实验用的表staff(id number primary key,name varchar2(10) not null)。 (2)为表创建自增序列。
(3)重复输入数据,查看staff表 的数据,观察主键是否按照递增排序。 4、运用 PL/SQL 数据结构
(1)使用记录和集合类型。 (2)使用动态SQL。 5、创建索引加快查询
在t_student 表中建立两种不同的索引,进行查询并观察输出。通过 SET AUTOTRACE TRACE EXPLAIN; 代码可以显示查询计划。
实验六 Oracle 游标应用
本实验要用到课程表 t_subject,结构如下:
列名 数据类型 限制条件 Not null Not null 字段含义 课程号 课程名 Sub_no(主键) Varchar2(10) Sub_name(主键) Varchar2(20)
t_subject表数据示例: Sub_no 001 002 003 Sub_name 数据库原理 Oracle数据库应用 数据库系统实现
1、利用游标查询 t_student 表中学生学号、姓名和性别信息,按照学生学号递增排序。 2、用游标生成学生成绩单。要求利用变量来实现按照不同课程统计学生成绩。 3、使用带参数的游标实现2、的功能。 4、用游标更新数据
(1)利用游标实现将学生成绩按照分数字段降序排列,并给前十名的学生加分,分别是第一名加10分,第二名加9分,依此类推。
(2)分别在更新前后查询 t_score 表,查看数据更新情况。
5、使用 REF 游标,输入课程号,动态查询返回所有选修该门课程的学生成绩。
实验七 Oracle 触发器设计
1、使用BEFORE 行级触发器
在 t_score 表上创建行级触发器,要求修改学生成绩时,修改后的成绩不能低于修改前的成绩。
2、使用 AFTER 行级触发器
为保护 t_score 表中数据的安全,需要对任何修改成绩的操作进行审计。创建AFTER 行级触发器,记录所有对 t_score 表的成绩列的数据进行的修改。 3、使用 BEFORE 语句级触发器
在 t_score 表上创建BEFORE 语句级触发器,实现只允许 scott 用户有权修改 t_score 表。
4、使用 AFTER 语句级触发器
创建AFTER 语句级触发器,记录所有对 t_score 表的修改动作。 5、使用 INSTEAD OF 触发器
(1)创建一个包含课程号、课程名、学生学号、姓名、成绩的视图 v_stu_sub_score。 (2)在视图 v_stu_sub_score 上创建INSTEAD OF 触发器,实现视图的更新操作。
6、使用 DDL 触发器
创建DDL 触发器保护 t_student 表不允许被删除。 7、使用系统触发器
创建数据库启动和关闭触发器。为记录数据库的启动和关闭情况,可创建一个表来记录数据库的启动和关闭信息。 8、管理触发器
(1)使用DESC 命令查看数据字典视图 user_triggers 的结构。 (2)学习 ALTER TRIGGER 和 DROP TRIGGER 命令的使用。
正在阅读:
oracle实验03-15
CI的定义系列论述07-11
运控复习题03-27
公车使用与费用管理办法04-03
公通字〔2010〕16号 公安部关于印发《构筑社会消防安全“防火墙”工程工作方案》的通知 - 图文09-22
竣工验收备案表 doc05-23
元旦安全教育内容03-27
高等教育自学考试老年护理学试题603-01
博大致睿专家浅谈国家司法考试参考人群05-19
- 高一物理牛顿运动定律全套学习学案
- 水处理一级反渗透加还原剂亚硫酸氢钠后为什么ORP会升高
- 毕业设计(论文)-正文董家口 - 图文
- 荣盛酒店经营管理公司录用通知及入职承诺书II
- 第二讲 大学英语四级快速阅读技巧
- 质量管理体系文件(2015年委托第三方医药物流配送企业专用版本)
- 214071收款办法
- 苏轼对《文选》选文的评价
- 《诊断学基础B》1-8作业
- 广东省东莞市高一数学下学期期末教学质量检查试题
- 海南电网公司VIS推广应用管理办法
- 红星照耀中国习题
- 苏教版小学语文六年级上册期末复习资料之生字词整理
- 局域网组建与应用—王向东
- 税务稽查内部管理文书样式
- 环保社会实践调查表
- 九年级思品第一单元复习
- 2016年全国注册咨询工程师继续教育公路路线设计规范试卷
- 毕业设计-青岛港董家口港区防波堤设计
- 撞背锻炼方法与益处
- 实验
- oracle
- 名人名言,2014名人名言大全-关于微笑的名言
- 浙师大教育学复习整理
- 数学的历史
- 教科版三年级上册科学第一二单元每课练习
- AUTOCAD小技巧
- 浅析小学语文作业(2)-最新教育文档
- 住宅建筑设计规划论文
- 282道民法经典练习题(241-260)
- 明清以来中西文化交流知识要点
- 2011年会计继续教育需知
- 武大弘毅备考:播音主持类即兴评述题目参考
- 人教版小学数学二年级下册第二单元表内除法(一)测试题
- 团结的力量
- 关于公司如何提高客户满意度的几点建议
- 汽车综合服务中心项目 - 图文
- 咨询行业探讨
- 中考数学专题39 数学思想方法问题 - 图文
- 北师大版五年级下册语文期末试卷
- 解析雅思阅读段落细节题答题策略
- 2013安全稳定“百日攻坚战”的实施方案