【Oracle学习】Oracle之视图

1.视图定义

是从一个或者多个基本表中导出的表,给用户使用的‘专用表’

2.与基本表的区别

1、视图是已经编译好的SQL语句,表不是
2、 视图没有实际的物理记录,不占用物理空间,而表相反。
3、视图是查看表内容的窗口,是查看数据表的一种方法,视图可以不给用户接触表,使得用户不知道表结构,具		  有更大的安全性;
4、视图只是逻辑概念的存在,只能由创建的语句来修改。而表可以随时对它进行修改。
5、视图的建立和删除只影响视图本身,不影响对应的基本表

3.创建简单视图

3-1 授予用户scott创建视图的权限

在这里插入图片描述
在这里插入图片描述

3-2 创建视图
3-2-1 创建普通视图

在这里插入图片描述
在这里插入图片描述

3-2-2 创建只读视图

(with read only)

create view vw_emp_readonly as 
select empno,ename,job,hiredate,deptno 
from emp 
with read only;
3-2-3 创建检查约束视图

(where ~)(with check option)

create view vw_emp_check as 
select empno,ename,job,hiredate,deptno 
from emp 
where deptno=10 
with check option;
3-3 视图上的DML操作
3-3-1 普通视图

在这里插入图片描述

其实和表的操作是相同的,视图修改后,相应的基表也会修改
(经过我的实践,我发现,对于普通视图,基表修改后,相应的视图也会修改

3-3-2 只读视图

(只读视图只能进行查操作,不能增删改,基表修改后,相应的视图也会修改

4.创建连接视图

4-1 创建连接视图
create view vw_dept_emp
		as select a.deptno,a.dname,a.loc,b.empno,b.ename,b.sal 
		from dept a,emp b 
		where a.deptno=b.deptno and a.deptno in(10,30);
4-2 键值保留表
4-2-1 定义

表的键值在一个连接视图中也是键值,那么就称这个表为键值保留表。
在这里插入图片描述
可以看见,在连接视图中empno仍然保持了键的唯一性,所以表emp是键值保留表。

4-2-2 注意事项

不能修改与非键值保留表中所对应的列!

在这里插入图片描述

可以修改与键值保留表中所对应的列!

在这里插入图片描述

  • 13
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值