【postgresql初级使用】视图的基础操作,管理员与普通员工看到不同的数据,视图的作用与重要性介绍

这篇具有很好参考价值的文章主要介绍了【postgresql初级使用】视图的基础操作,管理员与普通员工看到不同的数据,视图的作用与重要性介绍。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

视图基础操作

专栏内容

  • postgresql使用入门基础
  • 手写数据库toadb
  • 并发编程

个人主页:我的主页
管理社区:开源数据库
座右铭:天行健,君子以自强不息;地势坤,君子以厚德载物.

概述


数据库视图是一个虚拟的表,它基于一个或多个实际表的查询结果。视图并不实际存储数据,而是通过查询语句动态地生成数据。视图的内容由查询定义,包含一系列带有名称的列和行数据。从用户角度来看,视图是从一个特定的角度来查看数据库中的数据。从数据库系统内部来看,视图是由SELECT语句组成的查询定义的虚拟表。

本文主要介绍视图的创建与删除,而视图的查询与普通表是一样的,当然一般不能修改视图的数据。

View 创建


准备数据

视图是一张虚拟的表,在创建视图之前先有实际的数据表。那么在开始之前我们先创建一张数据表,并且插入一些数据。

CREATE TABLE employee (  
    eid int primary key,
    ename VARCHAR(50) NOT NULL,  
    birth_date DATE,  
    position VARCHAR(100),  
    department VARCHAR(100) ,  
    email VARCHAR(100) ,  
    phone_number VARCHAR(20),  
    hire_date date ,  
    address varchar,  
    emergency_contact VARCHAR(100)  
);

-- 插入数据 
insert into employee values(1,'lihua','2010-10-1','jiangsu','sales department','abc','123','2015-4-22','jiangsu','34'),(2,'zhanglei','2000-10-1','jiangsu','software department','df','444','2015-1-22','jiangsu','65645');

创建了一张员工信息表,这在公司中很常见,要找某个员工的信息,可以查看公司员工通讯录就可以了。

所有员工都可以看到通讯录的全部信息吗? 答案是否定的,知道真相后很扎心吧!

这是怎么实现的呢?其中一种方法就是通过视图来实现。

创建视图

下面创建两个视图,一是管理员角色可以看到的数据;一是普通员工看到的数据的视图;

创建视图的语法如下:

CREATE VIEW vw_name 
AS 
  query_sql;

其中vw_name 是用户定义的视图名称,query_sql是定义视图数据的查询语句。

那么管理员的视图创建如下:

postgres=# create view vw_admin as SELECT * from employee ;
CREATE VIEW

普通员工的视图创建如下:

create view vw_common as SELECT eid,ename,department from vw_admin  ;
CREATE VIEW

这里的vw_common视图是基于上一个视图的数据再进行过滤,存在级联关系。

View 查询


视图的查询方法与普通表没有区别。

当登陆通讯录系统时,角色就已经确定,系统就会根据角色的不同,调用不同的视图,下面看看两个视图的差异吧。

postgres=# select * from vw_admin ;
 eid |  ename   | birth_date | position |     department      | email | phone_number | hire_date  | address | emergency_contact
-----+----------+------------+----------+---------------------+-------+--------------+------------+---------+-------------------
   1 | lihua    | 2010-10-01 | jiangsu  | sales department    | abc   | 123          | 2015-04-22 | jiangsu | 34
   2 | zhanglei | 2000-10-01 | jiangsu  | software department | df    | 444          | 2015-01-22 | jiangsu | 65645
(2 rows)

postgres=# select * from vw_common ;
 eid |  ename   |     department
-----+----------+---------------------
   1 | lihua    | sales department
   2 | zhanglei | software department
(2 rows)

View 删除


不用的视图可以使用drop view命令进行删除,当有依赖时也可以追加cascade进行级联删除。

postgres=# drop view vw_admin cascade;
NOTICE:  drop cascades to view vw_common
DROP VIEW

当我们级联删除vw_admin视图时,与它关联的视图vw_common也被删除了。

总结


视图应用非常广泛,它有下面分享一下它的作用和重要性。

作用

  1. 简化数据访问:视图可以将多个表的数据组合在一起,使得用户可以通过一个视图来访问多个表的数据,从而简化了数据访问的过程。这有助于用户更容易地理解和操作数据。
  2. 数据安全性:视图可以限制用户对底层表的访问权限,只允许用户访问视图中的数据。通过视图,可以限制用户访问数据的权限,只允许用户访问特定字段或满足特定条件的记录,从而防止用户访问敏感数据或意外修改数据,提高了数据的安全性。
  3. 数据逻辑独立性:视图可以隐藏底层表的结构,使得用户只需要关注视图的结构,而不需要关注底层表的结构。这有助于用户更容易地理解和使用数据,同时也提高了数据的逻辑独立性。当底层表的结构发生变化时,只要视图定义没有改变,用户访问数据的方式就不会受到影响。
  4. 数据一致性:视图通过将多个表的数据组合在一起,有助于保证数据的一致性,避免了数据冗余和不一致的问题。
  5. 性能优化:视图可以对底层表进行优化,例如对表进行聚合、过滤、排序等操作,从而提高了查询的性能。

重要性

数据库视图在数据库设计和应用中具有重要性,主要体现在以下几个方面:

  1. 灵活性:视图可以根据不同的需求和场景进行定义,提供了灵活的数据访问方式。
  2. 安全性保障:通过视图,可以实现对数据的访问控制,保护敏感数据不被非法访问或修改。
  3. 简化复杂操作:视图可以封装复杂的查询逻辑,使得用户可以更简单地访问和操作数据。
  4. 数据抽象:视图提供了一种抽象的数据表示方式,使得用户可以更专注于业务逻辑的实现,而不需要过多关注底层数据的细节。

结尾


非常感谢大家的支持,在浏览的同时别忘了留下您宝贵的评论,如果觉得值得鼓励,请点赞,收藏,我会更加努力!

作者邮箱:study@senllang.onaliyun.com
如有错误或者疏漏欢迎指出,互相学习。

注:未经同意,不得转载!文章来源地址https://www.toymoban.com/news/detail-859603.html

到了这里,关于【postgresql初级使用】视图的基础操作,管理员与普通员工看到不同的数据,视图的作用与重要性介绍的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 网络安全管理员_三级_操作技能考核解题过程(1)

    1. 工作任务 对路由器 RT 与交换机 SW 进行安全加固,逻辑拓扑图如下图如示: 具体要求如下: 在 GNS3 中打开项目 1.1.1; 开启 Switch 上的 SSH 服务以加密登录通信,创建用户 Inspc 密码为 P@ssw0rd,用户登录后,可以完全管理交换机; 配置 Switch acl 策略 , 实 现 仅 允许 Linux-B 192

    2024年02月03日
    浏览(40)
  • 网络安全管理员_三级_操作技能考核解题过程(8)

    1. 场地设备要求 计算机一台 虚拟化软件平台 已安装好 eNSP 的 Windows 虚拟机 Windows 系统用户 Administator, 密码 Inspc@2021 2. 工作任务 对 AC 进行配置,具体拓扑如下图所示 (AC 设备型号为 AC6605,AP 设备型 号为 AP6050DN): 具体要求如下: 根据拓扑配置 AC 设备的名称为 AC ,并将

    2024年02月05日
    浏览(53)
  • Node-Red-访客、操作员和管理员登录

    要实现Node-Red识别图片内容,在这里我们需要下载安装有控件: node-red-dashboard 。 首先在左上角点击设置,并找到节点管理 ; 在节点管理中点击安装; 在安装界面的查询窗口输入node-red-dashboard控件,查询后选择下载,等待下载完成; 本案例主要实现的功能包含有模式选择及

    2023年04月08日
    浏览(72)
  • 网络安全管理员_三级_操作技能考核解题过程(9)

    1. 场地设备要求 (1)计算机一台 (2)Windows Server 2016 虚拟机 2. 工作任务 你是某企业的一名网络安全防护人员,现需要对公司服务器的安全做设置, 使其满足以下具体要求:(1) 此服务器可以通过可移动磁盘获取外部资料,但禁止通过可移动磁盘向外 转移资料; (2) 记

    2024年02月04日
    浏览(50)
  • 银河麒麟高级服务器操作系统V10-系统管理员手册:01 基本系统配置

    目录 第一章 基本系统配置 1.1. 系统地区和键盘配置 1.1.1. 配置系统地区 1.1.1.1. 显示当前配置 1.1.1.2. 显示可用地区列表 1.1.1.3. 配置地区 1.1.2. 配置键盘布局 1.1.2.1. 显示当前配置 1.1.2.2. 显示可用键盘布局列表 1.1.2.3. 配置键盘 1.1.3. 其他资源 1.2. 网络访问配置 1.2.1. 动态网络配置

    2024年02月15日
    浏览(62)
  • 银河麒麟高级服务器操作系统V10-系统管理员手册:03 常用图形化工具

    目录 第三章 常用图形化工具 3.1. 刻录工具 3.2. 磁盘 3.2.1. 磁盘管理 3.2.1.1. 磁盘管理工具介绍 3.2.1.2. 磁盘管理工具界面展示 3.2.2. 磁盘管理工具使用 3.2.2.2. 分区格式化 3.2.2.3. 分区编辑 3.2.2.4. 编辑文件系统 3.2.2.5. 分区大小调整 3.2.2.6. 分区卸载和挂载 3.2.2.7. 分区删除 3.3. 远程

    2024年02月08日
    浏览(116)
  • Windows管理员权限打开cmd使用cd切换路径失败

    问题描述 :在安装MySQL时需要使用到管理员权限打开cmd来进行服务的安装,MySQL的目录放在了D盘下,在使用到cd来进行路径切换时,出现了路径切换失败。 如:C:WINDOWSsystem32 cd D:UtilMySqlmysql-5.6.44-winx64bin 原因 :在管理员权限打开cmd时,使用 cd 路径 的方式切换路径时,只能

    2024年02月16日
    浏览(48)
  • windows10使用administrator登录后出现“无法使用内置管理员账户打开应用”的解决方法

    解决方法: 修改组注册表。   详细步骤: ​​​​​​1. 【Win】+【R】打开“运行页面”,输入:【regedit】进入注册表编辑器。 2. 依次打开: 【HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionPolicies System】,在右侧找到【FilterAdministratorToken】,双击后将数值数据改为【1】

    2024年02月12日
    浏览(48)
  • 7.7 SpringBoot实战 管理员借阅审核列表 --分页和枚举的使用

    本文主要实战 管理员借阅审核分页列表,更多的是复习之前讲过的技术点,像 API接口的定义、分页pageHelper的使用、角色权限的校验 等等,另外针对【图书借阅审核状态】引入了 枚举 的使用。 按照规划,本专栏剩余的文章还会有很多新技术点,当然像本文这样的复习也少不

    2024年02月14日
    浏览(31)
  • OneDrive打不开了,怎么办?使用管理员身份也无效,分享解决办法如下

    电脑自带的 OneDrive 突然打不开了,双击也没有任何反应,以管理员身份打开也不行。去看了好多资料才解决这个问题,现分享如下; ① 使用 Win+R 组合键打开命令行工具,输入regedit,打开注册表编辑器。 ② 找到 HKEY_LOCAL_MACHINESoftwarePoliciesMicrosoftWindowsOneDrive ,点开 Disab

    2024年02月07日
    浏览(101)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包