视图

文章目录

  • 视图
    • 一、创建视图
    • 二、基于视图的查询
    • 三、基于视图的更新
    • 四、删除视图
    • 五、对视图的理解

一、创建视图

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)】视图相关推荐

  1. 【数据库原理实验(openGauss)】实验报告

    <数据库系统原理实验>报告 文章目录 <数据库系统原理实验>报告 一.实验课程性质和教学目标 二.实验课程教学基本要求 三.实验教学内容 实验一 认识DBMS系统 (一)实验目 ...

  2. 【数据库原理实验(openGauss)】金融场景化实验

    金融场景化实验 文章目录 金融场景化实验 一.金融数据模型 1.E-R图 2.关系模式 3.物理模型 Client(客户)表 bank_card(银行卡)表 finances_product(理财产品 ...

  3. 【数据库原理实验(openGauss)】交互式SQL语句

    交互式SQL语句 文章目录 交互式SQL语句 一.数据准备 (1)向Departments中写入数据 (2)向Teachers中写入数据 (3)向Students中写入数据 (4)向Courses中写 ...

  4. 【数据库原理实验(openGauss)】数据库的备份与恢复

    数据库的备份与恢复 文章目录 数据库的备份与恢复 一.物理备份和恢复 实验准备: (1)物理备份 (2)物理备份恢复 二.逻辑备份和恢复 实验准备: (1)gs_dump备份 1.gs_dump备份示 ...

  5. 【数据库原理实验(openGauss)】 使用JDBC连接数据库

    使用JDBC连接数据库 文章目录 使用JDBC连接数据库 一.准备连接环境 1.修改数据库的pg_hba.conf文件 2.登陆数据库授权退出 3.修改数据库监听地址 4.下载Java驱动包导入工具 ...

  6. 【数据库原理实验(openGauss)】认识DBMS系统

    认识DBMS系统(openGauss) 文章目录 认识DBMS系统(openGauss) 一.openGauss安装目录 (1)集群openGauss安装目录 (2)集群openGauss数据目录 ( ...

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

    事务与并发控制 文章目录 事务与并发控制 一.事务 (1)事务的ACID特性 (2)事务管理 (3)事务实例 1.未提交的事务 2.已提交的事务 二.并发控制 (1)加锁语法 (2)加锁实例 一.事务 ...

  8. 【数据库原理实验(openGauss)】 安全性控制

    安全性控制 文章目录 安全性控制 一.用户及角色 (1)用户 (2)角色 二.权限设置及回收 1.将系统权限授权给用户或者角色 2.将数据库对象授权给角色或用户 3.将用户或者角色的权限授权给其他用户 ...

  9. 【数据库原理实验(openGauss)】创建数据库、表和索引

    创建数据库.表和索引 文章目录 创建数据库.表和索引 一.创建数据库 二.创建与删除模式 三.创建与修改表 (1)创建表 (2)修改表 四.创建与删除索引 (1)创建索引 (2)删除索引 一.创建数据 ...

最新文章

  1. Oracle快速复制表
  2. 使用Solr构建企业级的全文检索(三)---------Schema定义
  3. 修改Visual Studio 2010帮助位置
  4. English:daydayup
  5. unity 公用的方法库
  6. TensorFlow MNIST LeNet 模型持久化
  7. pandas 读写 excel
  8. 从RT-Thread RTOS接触到的3个算法
  9. linux安装mysql.rpm软件包_Linux环境安装MySQL数据库(RPM格式的软件包)
  10. 在SQL Server 2000中使用Transact-SQL建立数据库
  11. 流水线的几个指标总结
  12. CentOS7 扩容时发现 /dev/mapper/centos-home 不存在,创建后登录终端显示 -bash-4.2
  13. 华为hcia题库有哪些内容?华为HCIA认证考试多少分及格?
  14. sql注入之——sqlmap教程
  15. NET FRAME WORK 3.5下载地址
  16. 单元货格式自动化立体仓库AR/RS货架 高效的货位管理及空间利用率的使用
  17. 小程序小程序--定时器(定时任务、循环任务)
  18. 北京儿研所自制药一览表,宝妈们必读!转
  19. 导出计算机应用的组策略,组策略应用
  20. Android实现QQ空间图片下拉变大效果(雷惊风)

热门文章

  1. 解决OpenCV3+VS2015(VS2017)运行时出现debug error abort()has been called的问题
  2. python画反比例函数_反比例光滑支撑向量机
  3. r语言折线图_R语言基础入门视频教程——语法篇(完结)
  4. python3参考手册_Python3 中文手册
  5. linux 创建文件夹快捷方式
  6. 最常用的Linux命令大全
  7. matlab录音函数怎么保存在哪里,利用matlab 录音
  8. VUE 浏览器最强插件——极简插件
  9. java final 详解_java中Final详解
  10. python版本切换_电脑上安装两个版本的python时,迅速切换环境