在本教程中,您将了解一个叫作数据库视图的新数据库对象。 我们将讨论使用数据库视图的优缺点。

数据库视图是虚拟表或逻辑表,它被定义为具有连接的SQL SELECT查询语句。 因为数据库视图与数据库表类似,它由行和列组成,因此可以根据数据库表查询数据。 大多数数据库管理系统(包括MySQL)允许您通过具有一些先决条件的数据库视图来更新基础表中的数据。

数据库视图是动态的,因为它与物理模式无关。数据库系统将数据库视图存储为具有连接的SQL SELECT语句。当表的数据发生变化时,视图也反映了这些数据的变化。

数据库视图的优点

以下是使用数据库视图的优点 -

数据库视图允许简化复杂查询:数据库视图由与许多基础表相关联的SQL语句定义。 您可以使用数据库视图来隐藏最终用户和外部应用程序的基础表的复杂性。 通过数据库视图,您只需使用简单的SQL语句,而不是使用具有多个连接的复杂的SQL语句。

数据库视图有助于限制对特定用户的数据访问。 您可能不希望所有用户都可以查询敏感数据的子集。可以使用数据库视图将非敏感数据仅显示给特定用户组。

数据库视图提供额外的安全层。 安全是任何关系数据库管理系统的重要组成部分。 数据库视图为数据库管理系统提供了额外的安全性。 数据库视图允许您创建只读视图,以将只读数据公开给特定用户。 用户只能以只读视图检索数据,但无法更新。

数据库视图启用计算列。 数据库表不应该具有计算列,但数据库视图可以这样。 假设在orderDetails表中有quantityOrder(产品的数量)和priceEach(产品的价格)列。 但是,orderDetails表没有一个列用来存储订单的每个订单项的总销售额。如果有,数据库模式不是一个好的设计。 在这种情况下,您可以创建一个名为total的计算列,该列是quantityOrder和priceEach的乘积,以表示计算结果。当您从数据库视图中查询数据时,计算列的数据将随机计算产生。

数据库视图实现向后兼容。 假设你有一个中央数据库,许多应用程序正在使用它。 有一天,您决定重新设计数据库以适应新的业务需求。删除一些表并创建新的表,并且不希望更改影响其他应用程序。在这种情况下,可以创建与将要删除的旧表相同的模式的数据库视图。

数据库视图的缺点

除了上面的优点,使用数据库视图有几个缺点:

性能:从数据库视图查询数据可能会很慢,特别是如果视图是基于其他视图创建的。

表依赖关系:将根据数据库的基础表创建一个视图。每当更改与其相关联的表的结构时,都必须更改视图。

在本教程中,您已经了解了数据库视图是什么。我们还介绍了使用数据库视图的优缺点,以便您可以在数据库设计中有效地应用数据库视图。

¥ 我要打赏

纠错/补充

收藏

加QQ群啦,易百教程官方技术学习群

注意:建议每个人选自己的技术方向加群,同一个QQ最多限加 3 个群。

mysql 视图优势_MySQL视图简介及优缺点相关推荐

  1. mysql 视图 教程_MySQL视图简介及基本操作教程

    前言 视图是数据库系统中一种非常有用的数据库对象.MySQL 5.0 之后的版本添加了对视图的支持. 认识视图 视图是一个虚拟表,其内容由查询定义.同真实表一样,视图包含一系列带有名称的列和行数据,但 ...

  2. mysql视图登录_mysql视图

    mysql视图机制 什么是视图 视图是一张虚拟的表,为什么是虚拟呢?因为视图与数据库中存在的表不太一样,前面我们创建的4张表都是包含数据的, 如用户信息,订单信息等,而视图则是不包含数据的,下面通过一 ...

  3. mysql 视图用户_MySQL视图,存储过程,用户管理

    1. 视图 一张虚拟表,就是将一个经常被使用的查询作为一个虚拟表,开发者查询的时候不需要再次书写SQL,而是直接调用对应的视图就可,调用视图以后MySQL会执行这个查询SQL. # 创建视图 crea ...

  4. mysql视图存储_Mysql 视图、存储过程以及权限控制

    导读: 该文章为视图.存储过程.用户权限练习: 如果有不对的地方欢迎指出与补充: 该基础练习基于MySQL5.0以上: 语句格式: 1. 视图格式: create view view_name[列名, ...

  5. mysql视图应用_MySQL视图的概念与实际应用

    以下的文章主要是对MySQL视图的描述,其中包括MySQ视图L概述,以及创建MySQL视图-create view与修改MySQL视图--alter view等相关内容的具体描述,以下就是文章的具体内 ...

  6. mysql 视图 中文_Mysql视图-WEB资讯专栏-DMOZ中文网站分类目录-免费收录各类优秀网站的中文网站目录....

    1.初识视图 1.视图的概念和作用 什么是视图:是从一个或多个表中导出来的表,它是一种虚拟存在的表,表的结构和数据都依赖于基本表. 作用: 简化查询语句:简化用户的查询操作,使 1.初识视图 1.视图 ...

  7. mysql 视图 排序_MySQL 视图

    视图(view): 什么是视图: 视图就是将查询的结果集展示出来,视图就是一张表 为什么需要视图: 首先,视图并不能加快查询速度,因为视图中本身不存储数据 视图仅仅是村粗再数据字典中的一个定义,同时视 ...

  8. mysql视图参数_MySQL视图概述

    1.介绍 在传统关系型数据库里,视图有时也被称作虚表,是基于特定SQL结果集的虚拟数据表.在有些场合会变得很方便,例如:原有系统重构,旧的数据表A和B已经被拆分和合并到数据表C.D.F里面,为了实现平 ...

  9. mysql 视图查询_MySQL视图复杂查询详解

    内容大纲:什么是视图查询 子查询 标量子查询 关联子查询 如何用SQL解决业务问题 各种函数 总结:知识点图解 视图什么是视图 视图存放的是SQL语句,而数据库表存放的是数据,使用视图时,会运行视图里 ...

最新文章

  1. 【Linux】 字符串和文本处理工具 grep sed awk
  2. 51CTO学院三周年,一起成长与奋斗的日子
  3. 题目1483:求最大最小数
  4. 【数字信号处理】线性常系数差分方程 ( 卷积 与 “ 线性常系数差分方程 “ | 使用 matlab 求解 “ 线性常系数差分方程 “ )
  5. 延时求和波束形成的MATLAB仿真
  6. 【项目管理】项目问题诊断
  7. 【转】我该 不该学习VULKAN
  8. 前端学习(1987)vue之电商管理系统电商系统之通过路由加载商品列表
  9. 耳机不分主从是什么意思_开学必备高性价蓝牙耳机,学生党时尚配件推荐
  10. TCP UDP的区别
  11. python写算法快吗_用python写排序算法
  12. torch各个版本镜像_如何解决在cuda上安装torch后torch.cuda.is_available()返回False
  13. c语言智能小车项目的感想,智能小车实训报告
  14. beatmaker3 android,Hip-Hop Beat Maker app
  15. 2022.5.6 java标识符
  16. matlab中通过滤波器,[转载]matlab 滤波器(转)
  17. 1156:求π的值(C C++)
  18. 幼儿学习品质提升的培养策略问卷
  19. 财报发布后分红1.32亿美元 陌陌为何稳居陌生人社交上位圈?
  20. STM32-定时器输入捕获实验(捕获PWM方波的频率和占空比)

热门文章

  1. 【课程设计】c语言ege库实现五子棋人机和人人对战
  2. 杭电 hdu 1874 畅通工程续
  3. 手机品牌、机型/浏览器市场份额查询
  4. 利用scribe管理log文件
  5. springboot+jsp869宠物领养救助系统javaweb ssm
  6. hbuilder html id,Hbuilder常用功能汇总(示例代码)
  7. .NET接口访问频率限制——MvcThrottle
  8. vue中阻止冒泡 阻止默认行为
  9. Oracle日期常用函数(SYSDATE)
  10. mysql 存储引擎 面试_面试官:你用过mysql哪些存储引擎,请分别展开介绍一下