视图创建和操作创建简单复杂的视图创建基表不存在的视图视图增删改查看视图的
结构
关键字
:
oracle
视图
创建
操作
简单
复杂
基表
不存在
增
删
改
插入
修改
删除
查看
结构
视图的概念
视图是基于一张表或多张表或另外一个视图的逻辑表。视图不同于
表视图本身不包含任何数据。
表是实际独立存在的实体是用于存储数据的基本结构。
而视图
只是一种定义对应一个查询语句。
视图的数据都来自于某些表这些表被称为基表。
通过视图
来查看表就像是从不同的角度来观察一个或多个表。
视图有如下一些优点
可以提高数据访
问的安全性通过视图往往只可以访问数据库中表的特定部分限制了用户访问表的全部行和
列。
简化了对数据的查询隐藏了查询的复杂性。视图的数据来自一个复杂的查询用户对视
图的检索却很简单。
一个视图可以检索多张表的数据因此用户通过访问一个视图可完成对
多个表的访问。
视图是相同数据的不同表示通过为不同的用户创建同一个表的不同视图使
用户可分别访问同一个表的不同部分。
视图可以在表能够使用的任何地方使用但在对视图
的操作上同表相比有些限制特别是插入和修改操作。
对视图的操作将传递到基表所以在表上
定义的约束条件和触发器在视图上将同样起作用。
视图的创建
创建视图需要
CREAE
VIEW
系统权限视图的创建语法如下
CREATE
OR
REPLACE
FORCENOFORCE
VIEW
视
图名别名
1
别名
2...
AS
子查询
WITH
CHECK
OPTION
CONSTRAINT
约束名
WITH
READ
ONL
Y
其中
OR
REPLACE
表示替代已经存在的视图。
FORCE
表示不管基表是否
存在创建视图。
NOFORCE
表示只有基表存在时才创建视图是默认值。
别名是为子查询中
选中的列新定义的名字替代查询表中原有的列名。
子查询是一个用于定义视图的
SELECT
查询语句可以包含连接、
分组及子查询。
WITH CHECK OPTION
表示进行视图插入或修改
时必须满足子查询的约束条件。后面的约束名是该约束条件的名字。
WITH
READ
ONL
Y
表示视图是只读的。
删除视图的语法如下
DROP VIEW
视图名
删除视图者需要是视图的
建立者或者拥有
DROP ANY VIEW
权限。视图的删除不影响基表不会丢失数据。
1
创建简
单视图
创建图书作者视图。
步骤
1
创建图书作者视图
Sql
代码
1. CREATE VIEW
图书作
者书名作者
2. AS SELECT
图书名称作者
FROM
图书
输出结果
视图已建立。
步骤
2
查
询视图全部内容
Sql
代码
1. SELECT FROM
图书作者
输出结果
Sql
代码
1.
书名
作者
2.
--------------------------------
--------------------
3.
计算机原理
刘勇
4.
C
语言程序设计
马丽
5.
汇编语言程序设计
黄海明
步骤
3
查询部分视图
Sql
代码
1. SELECT
作者
FROM
图书作
者
输出结果
Sql
代码
1.
作者
2. ---------- 3.
刘勇
4.
马丽
5.
黄海明
说明本训练创建的视
图名称为
“
图书作者
”
视图只包含两列为
“
书名
”
和
“
作者
”
对应图书表的
“
图书名称
”
和
“
作者
”
两
列。
如果省略了视图名称后面的列名则视图会采用和表一样的列名。
对视图查询和对表查询
一样但通过视图最多只能看到表的两列可见视图隐藏了表的部分内容。
创建清华大学出版
社的图书视图。
步骤
1
创建清华大学出版社的图书视图
Sql
代码
1.
CREATE
VIEW
清华
图书
AS
SELECT
图书名称作者单价
FROM
图书
WHERE
出版社编号
01
执行结果
视
图已建立。
步骤
2
查询图书视图
Sql
代码
1. SELECT FROM
清华图书
执行结果
Sql
代码
1.
图书名称
作者
单价
2.
--------------------------------------------
----------
-----------------------
3.
计算机原理
刘勇
25.3
步骤
3
删除视图
Sql
代码
1. DROP VIEW
清华图书
执行结果
视图
已丢掉。
说明该视图包含了对记录的约束条件。
2
创建复杂视图
修改作者视图加入出版
社名称。
步骤
1
重建图书作者视图
Sql
代码
1. CREATE OR REPLACE VIEW
图书作者书
名作者出版社
2. AS SELECT
图书名称作者出版社名称
FROM
图书出版社
3. WHERE
图
书
.
出版社编号出版社
.
编号
输出结果
视图已建立。
步骤
2
查询新视图内容
Sql
代码
1.
SELECT
FROM
图
书
作
者
输
出
结
果
Sql
代
码
1.
书
名
作
者
出
版
社
2.
-------------------------------------------- ---------- ---------------------------- 3.
计算机原理
刘勇
清华
大学出版社
4.
C
语言程序设计
马丽
电子科技大学出版社
5.
汇编语言程序设计
黄海明