文档详情

实验四Oracle数据库对象.docx

发布:2016-12-30约字共15页下载文档
文本预览下载声明
实验四 Oracle数据库对象一、实验目的了解Oracle的表、视图、索引、序列、同义词的基本概念和基本用法。二、实验内容和步骤1、查看用户具有的对象和可访问的对象(操作结果截图填入空白处)以SCOTT连接数据库。(1)查看用户模式中各种类型的对象数量selectobject_type,count(*) from user_objects group by object_type(2)确定用户模式有权访问的对象总数selectobject_type,count(*) from all_objects group by object_type(3)确定谁拥有用户能够看见的对象select distinct owner from all_objects2、创建基本表(填入代码)创建上图基本表KHB,要求表创建在表空间USER_DATA3、创建临时表(填入代码)(1)创建一个基于会话的临时表。a) 创建临时表tmp_khb_1(与KHB同结构);b)插入一条记录khbh=,khmc=’aaa’;c)以SCOTT用户启动第2个SQL*PLUS会话;d) 在第2个会话中查询tmp_khb_1;(操作代码及操作结果截图)观察是否可以看见第1个会话插入的数据,为什么?不能,因为基于会话的临时表只对当前会话可见。每个会话只能查看和修改自己的数据。e)插入一条记录khbh=,khmc=’bbb’;f)在第1个会话中查看第2个会话的数据;(操作代码及操作结果截图)观察是否可以看见第2个会话插入的数据,为什么?不能,因为基于会话的临时表只对当前会话可见。每个会话只能查看和修改自己的数据。g)在第1个会话中,将表截断;h)在第2个会话中,观察表中是否仍然存在记录;(操作代码及操作结果截图)表中是否仍然存在记录?为什么?是,因为基于会话的临时表只对当前会话可见。每个会话只能查看和修改自己的数据。(2)创建一个基于事务的临时表a) 创建临时表tmp_khb_2(与KHB同结构);b) 插入一条记录khbh=,khmc=’aaa’;c)查询tmp_khb_2;(操作代码及操作结果截图)d)事务提交commit;e)再次查询tmp_khb_2;(操作代码及操作结果截图)是否能查询到数据?为什么?不能,因为基于事务的临时表中的数据仅在事物过程中有效,当事物提交后,临时表的暂时段将被自动截断4、创建分区表(填入代码)(1)创建范围分区a) 创建范围分区表range_testrange_test( t_id number primary key,item_id number(8) not null,item_descriptionvarchar2(300) )分区字段为t_id,以值10、20及maxvalue分为3个分区表,分别存放到不同的表空间中。b)插入三条记录insert into range_test( t_id, item_id,item_description) values(9,100,‘aaa’);insert into range_test( t_id, item_id,item_description)values(19,200,‘bbb);insert into range_test( t_id, item_id,item_description)values(29,300,ccc);c)查询前2个分区的记录(操作代码及操作结果截图)d)删除第2个分区e)查询表全部数据(操作代码及操作结果截图)(2)创建列表分区a)创建list_test(结构如PPT)b)插入几条数据INSERT INTO list_testvalues(01,shanghai);INSERT INTO list_testvalues(02,beijing);INSERT INTO list_testvalues(02,suzhou);数据能否插入?为什么?第一和第二个可以插入,第三个不行,因为插入的分区中没有‘suzhou’这个关键字。c)查询分区1数据(操作代码及操作结果截图)5、启用oracle的execution plan(1)以sysdba身份连接数据库;conn / as sysdba(2)创建plan_table表,执行utlxplan.sql脚本;@?/rdbms/admin/utlxplan.sql(3)创建同义词为多个用户共享一个plan_table,并授权给public;create public synonym plan_table for plan_table;grant all on plan_table to public;(注意,执行过程中,若出现同义词名称已存在,请先删
显示全部
相似文档