SQL使用视图的优缺点

2023-10-27

SQL使用视图的优缺点  

2010-06-04 10:56:43|  分类: SQL |  标签: |字号 订阅

 
 
在做数据库开发中使用视图的优点有:

    1.可以访问表中列的子集。在表中有些列是比较敏感的数据不想用户看到的,如用户密码,员工工资等,用视图可以隐藏这些列。

   2.可以访问表中行的子集。有时不想让用户看到与TA无关的数据时,可以在where条件中过滤,如企业中子公司的员工只能看到TA所在子公司的同事资料,而不想其它子公司员工资料也显示出来,用过滤后查询出来的数据集组成视图。

   3.可以重命名列名。在表中有些列名定义没有代表意义,如列“abc”,为了让用户看到列名就可以知该列是什么数据,可以在组建视图时重命名列名。

   4.可以快速访问两表或多表连接所组成的数据。有时要访问表间连接所组成的数据集,可以把查询出来的数据集定义成视图,可以帮助快速访问所需的数据。  

   5.可以快速读取用聚合函数运算所返回的数据集。有时用户要读取经过用聚合函数复杂运算后的结果集,每次读取都是很耗时,这时可以把这运算后的数据集组成视图,就可以避免每次读取都要运算的消耗。

总的来讲,使用视图在提高安全性的同时也加快查询的速度。

 

视图的优点与缺点

在程序设计的时候必须先了解视图的优缺点,这样可以扬长避短,视图具有如下的一些优点:

● 简单性。视图不仅可以简化用户对数据的理解,也可以简化他们的操作。那些被经常使用的查询可以被定义为视图,从而使用户不必为以后的操作每次都指定全部的条件。

● 安全性。通过视图用户只能查询和修改他们所能见到的数据。数据库中的其他数据则既看不见也取不到。数据库授权命令可以使每个用户对数据库的检索限制到特定的数据库对象上,但不能授权到数据库特定行和特定的列上。通过视图,用户可以被限制在数据的不同子集上。

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

视图也存在一些缺点,主要如下。

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

● 修改限制:当用户试图修改视图的某些行时,SQL Server必须把它转化为对基本表的某些行的修改。对于简单视图来说,这是很方便的,但是,对于比较复杂的视图,可能是不可修改的。

所以,在定义数据库对象时,不能不加选择地来定义视图,应该权衡视图的优点和缺点,合理地定义视图

转载于:https://www.cnblogs.com/Nina-piaoye/archive/2013/04/07/3003773.html

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

SQL使用视图的优缺点 的相关文章

  • 【计算机开题报告】基于JAVA的酒店管理系统的设计与实现

    1 毕业设计 论文 综述 随着社会经济和科技的迅速发展 人们对衣食住行的要求也逐渐提高 酒店 宾馆在服务行业中扮演着越来越重要的角色 本课程设计的内容旨在以管理系统的方式给人们出行提供酒店预订服务 从而能够更方便快捷的帮助酒店工作人员办理客
  • 电商数据接口API深度解析

    随着电子商务的快速发展 电商平台之间的竞争也日益激烈 为了在市场中保持领先地位 电商平台需要不断地优化用户体验 提供个性化的服务和精准的推荐 而这一切都离不开数据 电商数据接口API作为一种高效 便捷的数据交互方式 被广泛应用于电商领域 本
  • 跨境电商三大趋势已经涌现

    在过去的几年里 跨境电商在推动外贸增长中发挥了至关重要的作用 成为了引领行业发展的强大引擎 然而 随着2024年的到来 跨境电商行业又站在了崭新的起点 准备攀登新的发展高峰 数据显示 得益于经济的逐步复苏 未来三年跨境电商行业预计将以16
  • MySQL中设置自增主键id从1开始

    可能遇到过这种问题 当你只想新增一条数据时 发现使用Insert语句后 发现id并不是从1开始的 握草 怎么回事 其实很简单 通过执行一下SQL 对应你的表就可以解决 ALTER TABLE user AUTO INCREMENT 1 具体
  • 【计算机开题报告】 医药信息管理系统

    一 选题依据 简述国内外研究现状 生产需求状况 说明选题目的 意义 列出主要参考文献 1 研究背景 随着医药事业的不断壮大 相关单位对于医药信息的管理变得越来越重要 传统的手工管理效率低 易出错 费时费力 不能及时精确的收集 传递 存储 加
  • 【计算机开题报告】家具销售库存管理信息系统

    一 选题的目的 意义及相关研究动态和自己的见解 随着当今社会信息化的发展 电子自动化办公越来越为各人所重视 它能有效地收集 处理各种信息 极大地提高了办事效率 而计算机技术各种软件工作平台不断的发展 又为电子自动化办公的实现提供了良好的前景
  • 【计算机开题报告】图书管理系统

    一 选题依据 简述国内外研究现状 生产需求状况 说明选题目的 意义 列出主要参考文献 国内外研究现状 国外研究现状 在很多发达国家 图书管理系统的应用和技术发展已经相对完善 并且还建立了数字图书馆 各方面的情况也非常成熟 而图书管理的应用价
  • ERROR 5025 (HY000): Insert has filtered data in strict mode, tracking_url=http://IP

    通过http api批量插入数据的时候报Reason null value for not null column column xxx src line 解决方法 检查是否有null值存在 增加数据库字段长度 如下语句更改长度 ALTER
  • Nexus5596交换机支持3层需要的子卡

    3层子卡 nexus5596如果没有这块子卡 无法支持3层特性 TEST Cisco N5596 1 show modu Mod Ports Module Type Model Status 1 48 O2 32X10GBase T 16X
  • 软件开发和网络安全哪个更好找工作?

    为什么今年应届毕业生找工作这么难 有时间去看看张雪峰今年为什么这么火就明白了 这么多年人才供给和需求错配的问题 在经济下行的今年 集中爆发 供给端 大学生越来越多 需求端 低端工作大家不愿去 高端岗位又太少 很多基础行业 比如机械 土木 所
  • 【计算机毕业设计】实验室预约管理

    身处网络时代 随着网络系统体系发展的不断成熟和完善 人们的生活也随之发生了很大的变化 人们在追求较高物质生活的同时 也在想着如何使自身的精神内涵得到提升 而读书就是人们获得精神享受非常重要的途径 为了满足人们随时随地只要有网络就可以看书的要
  • 【计算机毕业设计】网上拍卖系统

    现代经济快节奏发展以及不断完善升级的信息化技术 让传统数据信息的管理升级为软件存储 归纳 集中处理数据信息的管理方式 本网上拍卖系统就是在这样的大环境下诞生 其可以帮助使用者在短时间内处理完毕庞大的数据信息 使用这种软件工具可以帮助管理人员
  • 【计算机毕业设计】Java图书馆智能选座系统

    现代经济快节奏发展以及不断完善升级的信息化技术 让传统数据信息的管理升级为软件存储 归纳 集中处理数据信息的管理方式 本图书馆智能选座系统就是在这样的大环境下诞生 其可以帮助使用者在短时间内处理完毕庞大的数据信息 使用这种软件工具可以帮助管
  • 软件测试/测试开发/全日制/测试管理丨Redis内存数据库

    Redis是一种开源 内存中的数据结构存储系统 它提供了高性能 灵活性和丰富的数据结构 以下是Redis内存数据库的基本介绍 键值存储 Redis基于键值对的存储模型 其中每个键都与一个特定的值相关联 这种简单的数据模型使其易于使用和理解
  • 通俗易懂,十分钟读懂DES,详解DES加密算法原理,DES攻击手段以及3DES原理

    文章目录 1 什么是DES 2 DES的基本概念 3 DES的加密流程 4 DES算法步骤详解 4 1 初始置换 Initial Permutation IP置换 4 2 加密轮次 4 3 F轮函数 4 3 1 拓展R到48位 4 3 2
  • 【计算机毕业设计】电商个性化推荐系统

    伴随着我国社会的发展 人民生活质量日益提高 于是对电商个性化推荐进行规范而严格是十分有必要的 所以许许多多的信息管理系统应运而生 此时单靠人力应对这些事务就显得有些力不从心了 所以本论文将设计一套电商个性化推荐系统 帮助商家进行商品信息 在
  • 【计算机毕业设计】二手图书交易系统

    随着世界经济信息化 全球化的到来和互联网的飞速发展 推动了各行业的改革 若想达到安全 快捷的目的 就需要拥有信息化的组织和管理模式 建立一套合理 动态的 交互友好的 高效的二手图书交易系统 当前的信息管理存在工作效率低 工作繁杂等问题 基于
  • 【计算机毕业设计】趵突泉景区的智慧导游小程序_5ztvv

    当今社会已经步入了科学技术进步和经济社会快速发展的新时期 国际信息和学术交流也不断加强 计算机技术对经济社会发展和人民生活改善的影响也日益突出 人类的生存和思考方式也产生了变化 传统趵突泉景区的智慧导游采取了人工的管理方法 但这种管理方法存
  • 面试官问,如何在十亿级别用户中检查用户名是否存在?

    面试官问 如何在十亿级别用户中检查用户名是否存在 前言 不知道大家有没有留意过 在使用一些app注册的时候 提示你用户名已经被占用了 需要更换一个 这是如何实现的呢 你可能想这不是很简单吗 去数据库里查一下有没有不就行了吗 那么假如用户数量
  • 毕业设计:基于python人脸识别系统 LBPH算法 sqlite数据库 (源码)✅

    博主介绍 全网粉丝10W 前互联网大厂软件研发 集结硕博英豪成立工作室 专注于计算机相关专业 毕业设计 项目实战6年之久 选择我们就是选择放心 选择安心毕业 感兴趣的可以先收藏起来 点赞 关注不迷路 毕业设计 2023 2024年计算机毕业

随机推荐

  • 创建Win PE启动盘(小白都会装系统)

    第一步 下载启动盘制作软件 打开搜索引擎 搜索 电脑店 找到下图链接 打开电脑店网站如下图所示 然后点击 完整版下载 开始下载制作PE系统的软件 下载完成后解压到当前目录 如下图 打开后 找到DianNaoDian exe文件双击打开 第二
  • 关于IDEA在创建Maven子模块后的pom.xml文件没有parent标签的解决方法。

    关于IDEA在创建Maven子模块后的pom xml文件没有parent标签的解决方法 问题 我们在创建Maven子模块后的pom xml文件一开始是有parent标签的 然后加载完就直接消失了 解决方法 直接手打上去 具体格式网上都有说怎
  • SQL Server(MMS)开启代理服务器(agent)方法(本篇版本展示界面为SQLserver2014)

    第一步 在SQL Server Management Studio中连接到SQL Server实例后 会显示 SQL Server 代理 节点 如果当前该实例的Agent服务没有启动 SQL Server 代理 后边就会显示 已禁用代理XP
  • libcurl库及curl API的简介

    目录 一 libcurl简介 二 curl API简介 三 库安装编译方法 内容来源 Http协议之libcurl实现 谢呈勖 博客园 cnblogs com 一 libcurl简介 libcurl是一个跨平台的网络协议库 支持http h
  • JAVA Eclipse连接SQL Server 2019并从数据库中读取表中数据

    一 进入SQL Server 配置登录名和密码 这里有默认的sa 一开始是禁用的 选中sa 右键 属性 1 授予and启用 2 设置登录名和密码 点击确定 然后关闭SQL 重新进入的时候身份验证选择SQL Server身份验证 二 新建一个
  • maven 配置多镜像

    1 配置maven的setting xml
  • Activity之任务和返回栈

    一个应用程序中会有多个activity 每个activity一般都有自己独立的功能 我们可以用activity启动自己应用中的另一个activity 例如 从一个数据列表界面 跳转到一个数据详情界面 也可以用我们的activity去打开其他
  • 深入理解javascript对象

    理解对象 对象被定义为一组属性的无序集合 对象就是一组没有特定顺序的值 对象的每个value值都由一个key来标识 一个key映射一个value值 1 Object 创建对象 创建了一个名为 person 的对象 而且有三个属性 name
  • Android adb实现原理

    adb定义 adb Android Debug Bridge 安卓调试桥 包含adb client adb server和adbd三部分 adb client 运行在PC上 即DDMS或者在Windows dos下启动的adb shell
  • Mysql Connector/J 源码分析(Failover)

    文章目录 前言 一 什么是Failover 二 Failover的主要结构 三 异常处理 3 1 构造连接阶段 小结 3 2 使用连接阶段 小结 四 四元素判定 小结 五 专有选择项 六 官网的态度 总结 前言 本文讨论Connector
  • restful接口客户端和服务端开发,HttpURLConnection,HttpClient,post ,get方式调用

    Restful服务端及客户端调用实例 1 新建web工程作为服务端 创建服务端代码 前情提示 GET SELECT 从服务器取出资源 一项或多项 POST CREATE 在服务器新建一个资源 PUT UPDATE 在服务器更新资源 客户端提
  • Parti 水记

    Parti 水记 Scaling Autoregressive Models for Content Rich Text to Image Generation 主页 https parti research google 论文 https
  • 【图像处理】【图像去模糊】 总结

    本人最近由于做相关去卷积工作 查阅了上百篇文献 发现在这个领域 可能也是 水太深 了 并没有一篇较好的综述 现在做以下总结 只对高斯与散焦模糊的非盲去卷积领域 对于运动模糊并未做总结 但实际上除了点扩散函数的估计有区别 实际上这三类去模糊甚
  • Dart基础语法2

    类 mixin 被mixin 混入 的类不能有构造函数 class A void a print A 的a方法 class B void b print b方法 void a print B 的a方法 满足了我们的多继承的需求 class
  • 运维架构

    首先 后端程序及客户端都是分成三个版本 内部测试版 线上测试版 线上稳定版 线上测试版是小范围更新 经过一天测试没问题 然后再推到线上稳定版 更新其他服 一般游戏也都是按这个流程来更新的 运维管理后台 记录了区服信息 提供各种简单API接口
  • Linux脚本和环境变量

    目录 一 可执行脚本 二 脚本程序解释器 三 SHELL语言 四 shell语言的变量 1 环境变量 2 用户环境变量 一 可执行脚本 脚本script 是一种解释执行的程序 linux中有三种常见的脚本 Shell脚本 sh Python
  • 第八章 基于项的图形视图

    对于用户自定义的窗口部件和绘制一个或者几个项来说 使用QPainter是理想的 在绘图中 如果需要处理从几个到几万个项时 而且要求用户能够单击拖动选取想 Qt的视图类提供了这一解决方案 Qt的视图体系包括一个由QGraphicsScene充
  • javafx事件总线之EventBus

    JAVAFX EventBus是一个轻量级的事件总线框架 用于在JavaFX应用程序中实现基于事件的通信和解耦 它提供了一种简单的方式 让组件能够订阅和发布事件 从而使得应用程序中的各个组件能够相互通信 而不需要相互依赖 JAVAFX Ev
  • node require报错为936的解决方式之一

    node internal modules cjs loader 936 Error Cannot find module crypto js 1 有一种是 你去检查一下你npm下面的node modules是不是又多了个node modu
  • SQL使用视图的优缺点

    INNER JOIN left Join 联接多个表 关于SQL的执行计划 查看SQL语句的具体执行过程 工作原理 SQL使用视图的优缺点 2010 06 04 10 56 43 分类 SQL 标签 字号大中小 订阅 在做数据库开发中使用视