数据库视图的基本概念及作用

2023-11-03

一、视图简介

视图是从一个或几个基本表(或视图)中导出的虚拟的表。在系统的数据字典中仅存放了视图的定义,不存放视图对应的数据。视图是原始数据库数据的一种变换,是查看表中数据的另外一种方式。可以将视图看成是一个移动的窗口,通过它可以看到感兴趣的数据。视图是从一个或多个实际表中获得的,这些表的数据存放在数据库中。那些用于产生视图的表叫做该视图的基表。一个视图也可以从另一个视图中产生。视图的定义存在数据库中,与此定义相关的数据并没有再存一份于数据库中。通过视图看到的数据存放在基表中。

视图看上去非常像数据库的物理表,对它的操作同任何其它的表一样。当通过视图修改数据时,实际上是在改变基表中的数据;相反地,基表数据的改变也会自动反映在由基表产生的视图中。由于逻辑上的原因,有些视图可以修改对应的基表,而有些则不能(仅仅能查询)。

二、视图的作用

1.      简化了操作,把经常使用的数据定义为视图

我们在使用查询时,在很多时候我们要使用聚合函数,同时还要显示其它字段的信息,可能还会需要关联到其它表,这时写的语句可能会很长,如果这个动作频繁发生的话,我们可以创建视图,这以后,我们只需要select * from view就可以啦,这样很方便。

2.      安全性,用户只能查询和修改能看到的数据。

因为视图是虚拟的,物理上是不存在的,只是存储了数据的集合,我们可以将基表中重要的字段信息,可以不通过视图给用户,视图是动态的数据的集合,数据是随着基表的更新而更新。同时,用户对视图不可以随意的更改和删除,可以保证数据的安全性。

3.      逻辑上的独立性,屏蔽了真实表的结构带来的影响。

视图可以使应用程序和数据库表在一定程度上独立。如果没有视图,应用一定是建立在表上的。有了视图之后,程序可以建立在视图之上,从而程序与数据库表被视图分割开来。

三、缺点

1.      性能差

数据库必须把视图查询转化成对基本表的查询,如果这个视图是由一个复杂的多表查询所定义,那么,即使是视图的一个简单查询,数据库也要把它变成一个复杂的结合体,需要花费一定的时间。

2.      修改限制

当用户试图修改视图的某些信息时,数据库必须把它转化为对基本表的某些信息的修改,对于简单的视图来说,这是很方便的,但是,对于比较复杂的试图,可能是不可修改的。

转载于:https://www.cnblogs.com/lyl119456/p/11309004.html

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

数据库视图的基本概念及作用 的相关文章

  • 机器学习——支持向量机

    机器学习 支持向量机 一 定义 二 基本概念 1 线性可分 2 分割超平面 3 超平面 4 点相对于分割面的间隔 5 间隔 6 支持向量 三 寻找最大间隔 1 分隔超平面 2 如何决定最好的参数 3 凸优化 4 拉格朗日对偶 拉格朗日乘子法
  • Java的String类

    Java中String是常量 其对象一旦创建完毕就无法 改变 当使用 拼接字符串时 会生成新的String对象 而不是向原有的String对象追加内容 对于Java 维护着一个字符串池的概念 String pool String s aaa

随机推荐

  • 服务环境搭建-Traefik网关服务

    服务环境搭建 Traefik网关服务 1 说明 Traefik网关服务用于提供一个实现反向代理 中间件鉴权 服务负载均衡 与服务发现的环境 2 反向代理 2 1 基本概念 EntryPoints 入口点是进入Traefik的网络入口点 它们
  • Python3-面向对象

    Python之面向对象 面向对象 走进对象的世界 类的基本操作 定义 属性 方法 三性 封装 继承 多态 封装 继承 多态 单例 练习 面向对象 对象创建 属性 定义 封装 继承 多态 单例 走进对象的世界 类的基本操作 定义 面向对象 程
  • 未来的工作都被计算机代替,未来10年,50%的工作将被机器取代?而这些职业却无法被取代...

    声明 原创不易 禁止搬运 违者必究 50 的工作将被机器人取代 时代的车轮在前进 更新换代也越来越快了 总是有新兴行业的诞生 也总是有传统的行业退出 变化成为了时代发展的一个重要标志 创建阿里巴巴的马云 之所以能够如此的成功 不得不说他的前
  • Vue中BootStrap和分页组件 实现分页功能(页码过多时带省略号)

    更新 其实vue中的分页插件结合上 spring data jpa 使用的效果非常好 使用更加方便 vue组件中 div class box footer no border div
  • 微信小程序:云开发·初探四(数据库操作)

    The course of true love never did run smooth 真爱无坦途 新建集合 1 打开云开发控制台 数据库 2 添加集合users 添加代码 onAdd function const db wx cloud
  • DX90SDK SDK源码分析(二) 推模式的例子

    转载请标明是引用于 http blog csdn net chenyujing1234 例子代码 编译工具 VS2005 http www rayfile com zh cn files 46611607 78a2 11e1 ac18 00
  • Makefile的函数调用详解

    1 Makefile的函数调用语法 Makefile的函数调用格式
  • 高德地图的简单使用:点击标记获取经纬度和详细地址

    准备工作 1 先进入高德开发平台注册登录 2 进入地图 js Api 按照步骤申请key 3 使用npm安装依赖包 npm i amap amap jsapi loader save 4 高德api 都有说明 下面看下我实现的功能和代码 弹
  • hutool的HttpRequest.post的使用-包括上传文档等多个传参【总结版本】

    首先hutool已经为我们封装好了远程调用的接口 我们只要将对应的传参和方式对应填写即可 hutool官方文档 1实际应用 post 常见的使用json传参 contend type为application json RequestMapp
  • 计算机键盘运算符号输入,电脑上感叹号怎么打出来(电脑键盘符号大全)

    01 在使用键盘输入标点符号时 大部分都可以直接通过键盘按键或者按Ctrl 键盘按键直接输入 比如按下shift 1 就可以输入感叹号 中文状态下按反斜杠键就可以输入顿号 其实在键盘上的很多同一个按键 中文状态下和英文状态下是不一样的 如下
  • King 【POJ - 1364】【差分约束+SPFA+卡了判负环的进队次数】

    题目链接 题目大意 n个数的一个序列 m个条件 si ni oi ki 代表了序列中第si个数到第si ni个数的和大于或小于ki gt 大于 lt 小于 问是否存在相悖的约束 op为gt时 sum si ni sum si 1 gt ki
  • 宽带远端服务器无响应什么意思,宽带远程服务器无响应

    宽带远程服务器无响应 内容精选 换一换 已成功添加目标环境 如果目标环境处于在线状态 只允许修改目标环境名称 如果目标环境处于离线状态 可以输入登录远程服务器的用户名和密码重新部署分析辅助软件 如果目标环境处于在线状态 只允许修改目标环境名
  • 10.12技术沉淀

    cpp 编写程序实现ADT表的定义 及常用操作 1 判断表是否为空 2 获取第i个节点的内容 3 删除 4 插入 include
  • 全局变量/局部变量/静态变量

    1 全局变量 全局变量是在所有函数体的外部定义的 程序的所有部分 其他文件的代码 都可以使用 全局变量不受作用域的影响 全局变量的生命周期一直到程序的结束 全局变量是静态存储方式 如果在一个文件中使用extern关键字来声明另一个文件中存在
  • 论文-- 基于 证据理论 的 不确定信息 度量与融合应用

    摘要 1 工程应用 不确定信息 1 模糊集合 表示的 模糊信息 2 语义上不一致或非特异性 造成的 歧义信息 3 开放世界特性 导致的 非完备信息 1 不确定信息的处理 基于证据理论 2 不确定信息分类 封闭世界 空集的基本概率指派函数值为
  • ConvNeXt网络详解

    ConvNeXt 论文名称 A ConvNet for the 2020s 论文下载链接 https arxiv org abs 2201 03545 论文对应源码链接 https github com facebookresearch C
  • 【论文学习】YOLOv3:An Incremental Improvement

    论文 YOLOv3 源代码 pjreddie com yolo 视频 https youtu be MPU2HistivI 1 Abstract 作者对YOLO进行了进一步的更新 做了一些小设计更改让其表现更好 YOLOv3比YOLOv2相
  • 【OS】IO系统——设备管理

    操作系统的设备管理 IO系统 一 啥是IO系统 操作系统是一种特殊的管理系统 管理与计算机相关的各种资源 往大了说 包括硬件资源和软件资源 细化了说 包括计算资源 内存资源 文件资源 设备资源 本文主要讲解设备管理的相关内容 1 OS管理的
  • 一分钟总结Spring的IOC和DI

    IOC Inverse of control 控制反转 IoC 控制反转 就是将程序中原来 new 对象 交给spring创建 从spring工厂获取对象 使用spring来负责控制对象的生命周期和对象间的关系 Spring所倡导的开发方式
  • 数据库视图的基本概念及作用

    一 视图简介 视图是从一个或几个基本表 或视图 中导出的虚拟的表 在系统的数据字典中仅存放了视图的定义 不存放视图对应的数据 视图是原始数据库数据的一种变换 是查看表中数据的另外一种方式 可以将视图看成是一个移动的窗口 通过它可以看到感兴趣