Oracle-视图与索引

视图

简介

视图是一种虚表

视图建立在已有表的基础上,视图赖以建立的的这些表成为基表

向视图提供的数据的内容的语句的select 语句,可以将视图理解为存储起来的select 语句

视图向用户提供基表数据的另外一种表现形式

视图的好处

控制数据访问

简化查询

避免重复访问相同的数据

语法

语法: create or replace view 视图名 as 查询语句;

 [with check option]   -- 指出在视图上进行的修改 要符合子查询所指定的条件
                              要求增删改操作的数据必须是select查询所能查到的数据,否则 不允许操作
     
     [with read only]   --  说明 该视图是只读视图, 不能通过视图进行增删改,只能进行查询

示例

-- 查询 姓名,年级名称,电话     用视图
--创建视图
create or replace view view_grade_student
as
  select name,stuname,phone
	from student s,grade g
	where s.GID=g.id;

-- 查询视图中的数据
select * from  view_grade_student;
		
	--  赵丽丽 电话 000 ,  update  	
		
update student set phone='112333' where  stuname='赵丽丽';




--  创建视图, 带着 检查  with check option

create or replace view view_grade
as
   select * from grade where id in (5005,1,5)
	 with check option;   



select * from  view_grade;





update  view_grade  set name='444' where id=4;   --因为view_grade 中 不存在 id=4的记录,因此 基本不会更新

update  view_grade  set name='444' where id=5;   --  因为view_grade 中 存在 id=5的记录,因此会更新,同时 基表 也会更新





-- 创建 视图, 带着 只读  with read only

create or replace view view_grade
as
   select * from grade where id in (5005,1,5)
	 with read only;  --只读
	 
	 
	 

update  view_grade  set name='444' where id=5; 	   --无法对只读视图执行 DML 操作  

 

索引

简介

索引: index

用于 加快数据的检索,类似于书籍的索引,不用翻阅整本书找到想要的消息

用户无法看到索引,只用来加速查询

索引是简历在表上的可选对象,
索引的关键在于通过一组排序后的索引键来取代默认的全表扫描的检索方式,
从而提高检索效率


当创建或删除一个索引时不影响基本的表

索引一旦建立,在表上进行DML操作时,oracle 会自动管理索引
,  删除索引后,不会对表产生影响


oracle 创建主键时,会自动在该列上 创建索引

语法 

语法:
   create index 索引名index_
     on  表名 (列名 [desc|asc]); 

示例

create index index_emp_ename
on emp ('ename');  -- 对 emp 的ename 创建索引 

  • 10
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

射手座的程序媛

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值