多语言展示
当前在线:743今日阅读:167今日分享:16

Oracle视图基础知识

Oracle视图基本知识
工具/原料
1

centos7

2

centos7、 secureCRT

方法/步骤
1

基本定义:它是基于一个表或多个表的逻辑表,视图本身并不包含任何数据。视图是虚拟的表,它的数据来源是基于基表的。基表中的数据发生变化视图也会变化。所谓视图就是提取一张或者多张表的数据生成一个映射,管理视图可以同样达到操作原表 的效果,方便数据的管理以及安全操作。视图其实就是一条查询sql语句,用于显示一个或多个表或其他视图中的相关数据。视图将   一个查询的结果作为一个表来使用,因此视图可以被看作是存储查询结果的一个虚拟表。视图来  源于表,所有对视图数据的修改最终都会被反映到视图的基表中,这些修改必须服从基表的完整  性约束。

2

视图的存储:与表不同,视图不会要求分配存储空间,视图中也不会包含实际的数据。视图只是定义了一个查询,视图中的数据是从基表中获取,这些数据在视图被引用时动态的生成。由于视图基于数据库中的其他对象,因此一个视图只需要占用数据字典中保存其定义的空间,而无需额外的存储空间。

3

视图作用 1.全数据简化 2.全数据更加独立 3.增加安全性 4.简化权限 视图类型 1.关系视图      是虚拟表,最常用 2.内嵌视图 3.对象视图 4.物化视图

4

视图的创建: 创建视图需要具有DBA权限grant create view to username; 视图的创建: 语法 create (or replace) (no force) view view_name  as select id,name,age from user_admin where age=20 with read only; 可根据不同的条件创建不同的视力来满足不同的需求  如下: or replace 视图如果存在则替换 no force 表示是否强制创建视图  如果基表不存在创建视图会报错  no force是oracle默认创建视图方式   force 是强制创建    no force 是不强制创建 with read only  设置视图只读   设置成功后不能更改视图中的数据 with check option【constraint】要使用这个条件必须满足子查询constraint 如果想通过视图去插入一条数据,那么必须要满足where后面的条件 例如 insert into view_name (id,name,age) values(18,'名字',20);   这条插入的数据条件   age 必须是20  如果是其它则报错    修改‘删除语句操作也要满足条件才可以进行     对视图里面的数据进行更改 删除操作也会影响基表数据 对视图里面的数据操作有 insert update delete三种

5

修改视图   直接使用create or replace .....命令来执行  和新建视图一样 create or replace view view_name  as select id,name,age from user_admin where age=20 with read only; 删除视图 drop view view_name;

推荐信息