Oracel中视图相关概念和操作(一)

目录

1.视图概念(有必要)

 (1)视图基本概念

 (2)视图和定义的表的联系

(3)视图的优点

2.创建视图

(1)使用SQL DEVELOPER创建视图(可视化)

(2)使用SQL Plus创建视图

①语法格式

3.视图的查询,更新,插入等操作


学习Oracle数据库相关基本操作(一)

学习Oracle数据库的新建表的基本操作(二)

学习Oracle数据库新建数据库操作(三)

学习Oracle数据库并对数据进行查询,插入等操作(四)

关于Oracle中的关闭和启动数据库的几种方式(五)

1.视图概念(有必要)

提示:学习视图之前有必要了解相关的概念,只有这样你才知道为什么需要视图,视图到底有什么用。

 (1)视图基本概念

视图就是从一个或者多个表(或视图)中导出的表。

既然数据已经存在数据库中的一个或者多个表中,那么为什么还要导出来呢?

解:虽然针对的是从同一张表导出的数据,这些也是一样的,但是不同的对象对于数据的处理是有区别的。比如将学生的信息存储一个或者多个表中,作为学校的不同部门所关心的学生信息是不同的,虽然都是同样的数据,但是操作却不一样。

 (2)视图和定义的表的联系

不同点:

(1)视图和表(基本表)不同,视图是一个虚表,也就是视图中对应的数据不是实际存储的,数据库中只存储视图的定义,对视图进行的数据操作时,系统将根据视图的定义操作与视图相关联的基本表。

(2)视图可以由一个基本表的任意子集(基本表的一部分)组成;两个或者两个以上的基本 的合集;两个或者两个以上的基本表的交集;对一个或者多个基本表运算的结果集合;另一个视图的子集。

相同点:

(1)视图和基本表一样,当视图定义之后,就可以和基本表一样进行添加,删除,修改,查询和更新等基本操作(语句都是一样的)。

(3)视图的优点

(1)集中数据:当定义的数据分散在多个表中的时候,可以使用视图将这些数据集合在一个表中;

(2)屏蔽数据库的复杂性:用户不需要了解复杂的数据库的表结构,并且数据库中表的更改也不会影响用户对数据的使用;

(3)简化用户权限的管理:只需要授权用户使用视图的权限即可;

(4)便于数据共享:用户不必对自己所需要的数据进行定义和存储,可共享数据库中的数据,因此数据只需要存储一次;

(5)重新组织数据,便于输出到其他的应用程序中。

2.创建视图

 现在数据库中已经创建了表XSB(学生表)。

(1)使用SQL DEVELOPER创建视图(可视化)

在创建视图之前,首先进行授权:

grant create view to scott;

提示:如果你创建了多个数据库的话,要注意自己授权的用户到底哪个数据库中的用户。

连接数据库管理员模式:conn sys/[密码]@[数据库服务器名] as sys

SELECT *

FROM XSB

WHERE profession='计算机'

上面的SQL语句表示将专业为计算机的学生导入到视图“DEMO_VIEW”.

(2)使用SQL Plus创建视图

①语法格式

CREATE [OR REPLACE] [FORCE | NOFORCE] VIEW [<用户方案名>.]<视图名>

                [(<列名>[,......n])]

AS 

        <SELECT查询语句>

        [WITH CHECK OPTION[CONSTRAINT]<约束名>]

        [WITH READ ONLY]

OR REPLACE:表示在创建视图的时候,如果已经存在了同名的视图,那么重新创建。如果没有此关键字,那么需要将已经存在的视图删除才能重新创建。

FORCE:表示强制创建视图,无论视图的基本表是否存在或者拥有权限。

用户方案名:指定所创建的视图所属的用户方案,如scott(普通用户),system(系统用户),sys(超级管理员)等其他的用户。

SELECT:查询 多个表或者视图,表示新创建的视图所参照的表或者视图。

WITH CHECK OPTION:在视图上进行的修改要符合SELECT语句所指的限制条件,这可以确保修改数据之后,任可以通过视图查询到修改的数据。

CONSTRAINT:约束名,默认为SYS_Cn,n为整数(唯一)。

WITH READ ONLY:规定视图中不能进行删除,插入,更新等操作,只能进行检索数据。

例子1:根据基本表XSB,要求将XSB表中的专业为通信工程的学生导入到视图表为demo_view_1中。

CREATE VIEW DEMO_VIEW_1
AS SELECT *
    
FROM XSB
WHERE profession='计算机';

 例子2:根据基本表XSB,创建一个来自计算机专业,只有学号,姓名和学分的视图。

CREATE VIEW CJB(ID,NAME,SCORE)

        AS

        SELECT sid,sname,score

                FROM XSB

                WHERE profession=‘计算机’;

3.视图的查询,更新,插入等操作

由于视图的这些操作和基本表的操作是一样的,所以直接看下面链接:

https://mydreamambitious.blog.csdn.net/article/details/126727541

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值