数据库原理实验(openGauss)视图
Posted BkbK-
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数据库原理实验(openGauss)视图相关的知识,希望对你有一定的参考价值。
视图
一、创建视图
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+
查看所有视图
五、对视图的理解
视图是一种命名的导出表,是从一个或几个基本表(或视图)导出的表。但与基本表不同,视图的数据并不物理地存储在数据库中(物化视图除外)。查询时,凡是能够出现基本表的地方,都允许出现视图。更新时,只有可更新的视图才允许更新。
视图的作用:
-
使用视图可以使一些查询表达更加简洁
视图是命名的导出表,可以用很复杂的查询定义,但却可以像基本表一样使用。这样,使用视图就屏蔽了实现细节,可以简化查询表达式。对于知道视图定义的用户,视图名是定义视图的表达式的缩写。对仅知道视图存在的用户,视图像基本表 样使用。
-
视图提供了一定程度的逻辑独立性
使用视图可以定义外模式,而应用程序可以建立在外模式上。这样,当模式(即基本表)发生变化时,可以定义新的视图或修改视图的定义,通过视图屏蔽表的变化,从而保待建立在外模式上的应用程序不需要修改。
-
视图可以起到安全保护作用
视图与授权配合使用,可以在某种程度上对数据库起到保护作用。我们可
以对不同用户定义不同视图,并利用授权将不同视图上的访问权限授予不同的用户,而不允许他们访问定义视图的基本表。这样,每个用户只能看到他有权看到的数据,从而实现对机密数据的保护。 -
视图使得用户能够以不同角度看待相同的数据
从用户角度,视图就是表。这使得在相同的数据库模式下,用户透过不同的视图可以看到不同的数据组织形式。此外,在定义视图时还可以对属性重新命名,对不同的用户使用不同的属性名。对千数据共享,这种灵活性是重要的。
以上是关于数据库原理实验(openGauss)视图的主要内容,如果未能解决你的问题,请参考以下文章
数据库原理实验(openGauss) 使用JDBC连接数据库