数据库原理实验(openGauss)视图

Posted BkbK-

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数据库原理实验(openGauss)视图相关的知识,希望对你有一定的参考价值。

视图

一、创建视图

### (1)创建视图

CREATE VIEW CS_Students AS 
SELECT Sno, Sname, Sex , Birthday, Dno 
FROM Students 
WHERE Speciality='计算机';

在这里插入图片描述
查看CS_Students视图的具体信息

\\d+ CS_Students

在这里插入图片描述

二、基于视图的查询

  • 查看视图全部信息

    SELECT * FROM CS_Students;
    

    在这里插入图片描述

  • 显示每位学生的年龄:

    SELECT Sname, 2021-date_part('year',Birthday) AS Age 
    FROM CS_Students;
    

    在这里插入图片描述

三、基于视图的更新

openGauss不支持基于视图的更新

四、删除视图

在这里插入图片描述

  • 使用命令\\d+查看所有视图

    在这里插入图片描述

  • 删除视图

    DROP VIEW CS_Students;
    

    在这里插入图片描述

  • 再次使用命令\\d+查看所有视图
    在这里插入图片描述

五、对视图的理解

视图是一种命名的导出表,是从一个或几个基本表(或视图)导出的表。但与基本表不同,视图的数据并不物理地存储在数据库中(物化视图除外)。查询时,凡是能够出现基本表的地方,都允许出现视图。更新时,只有可更新的视图才允许更新。

视图的作用:

  1. 使用视图可以使一些查询表达更加简洁

    视图是命名的导出表,可以用很复杂的查询定义,但却可以像基本表一样使用。这样,使用视图就屏蔽了实现细节,可以简化查询表达式。对于知道视图定义的用户,视图名是定义视图的表达式的缩写。对仅知道视图存在的用户,视图像基本表 样使用。

  2. 视图提供了一定程度的逻辑独立性

    使用视图可以定义外模式,而应用程序可以建立在外模式上。这样,当模式(即基本表)发生变化时,可以定义新的视图或修改视图的定义,通过视图屏蔽表的变化,从而保待建立在外模式上的应用程序不需要修改。

  3. 视图可以起到安全保护作用

    视图与授权配合使用,可以在某种程度上对数据库起到保护作用。我们可
    以对不同用户定义不同视图,并利用授权将不同视图上的访问权限授予不同的用户,而不允许他们访问定义视图的基本表。这样,每个用户只能看到他有权看到的数据,从而实现对机密数据的保护。

  4. 视图使得用户能够以不同角度看待相同的数据

    从用户角度,视图就是表。这使得在相同的数据库模式下,用户透过不同的视图可以看到不同的数据组织形式。此外,在定义视图时还可以对属性重新命名,对不同的用户使用不同的属性名。对千数据共享,这种灵活性是重要的。

以上是关于数据库原理实验(openGauss)视图的主要内容,如果未能解决你的问题,请参考以下文章

数据库原理实验(openGauss)金融场景化实验

数据库原理实验(openGauss)金融场景化实验

数据库原理实验(openGauss) 使用JDBC连接数据库

数据库原理实验(openGauss) 使用JDBC连接数据库

数据库原理实验(openGauss)事务与并发控制

数据库原理实验(openGauss) 安全性控制