精华内容
下载资源
问答
  • 数据库视图的作用
    万次阅读
    2017-11-28 15:27:03

    刚工作时候第一次看到接触到视图,感觉很不能理解,我当时就在想为什么要用视图呢?明明可以关联表查出来数据的,为什么又单独创建一个视图查询数据呢?

    工作久了我有以下几点心得分享给大家.

    1.安全性 

    因为视图是虚拟的,物理上是不存在的,只是存储了数据的集合,视图中数据是根据基表的更新而更新,用户不可以更改/删除视图。

    2.方便,简化数据操作

    当我们业务需求要查出多张表的数据,这时我们可能会关联多张表查询处理.如果这个查询sql复杂的话也影响了查询效率. 

    这个时候我们就可以创建视图,查询时候只需要 select * from view 就ok啦~

    3.订制数据

    在实际业务中,比如我为某企业做的一个后台管理系统,里面分好几种角色:采购员、销售、技术员、后勤...

    后勤部的人可能只需要一些和后勤有关的数据,与他无关的数据对于他们没有意义,这时候我们可以根据业务创建一个后勤视图view_logistics

    查询数据只需要select * from view_logistics;

    更多相关内容
  • 二、视图作用数据库开发的过程中,往往有一些业务需要很复杂的查询才能满足,而视图最直接的效果是,可以将复杂的查询“包装”成一个简单的查询,类似于编程中的方法调用。 在视图中在字段名后加上别名后,可以...

    一、什么是视图

    概念:视图是从一个或几个基本表(视图)导出的表。
    个人理解:从创建的SQL的语句来看,语句中通常包含SELECT语句。所以视图一定是基于表产生的,基于存在的视图生成的视图,其基础依然是基本表。

    二、视图的作用

    1、简化用户的操作。
    在数据库开发的过程中,往往有一些业务需要很复杂的查询才能满足,而视图最直接的效果是,可以将复杂的查询“包装”成一个简单的查询,类似于编程中的方法调用。如:一个业务查询需要多表连接查询,同时还需要使用判断语句,那么一个查询语句可能就会有几百个字符。几百个字符的select语句写在应用程序,或配置文件中往往是不便维护的。为了解决这个问题可以由数据库开发人员编写视图,从而将复杂的查询语句简化为一个普通的“单表查询”。这样的select语句在应用程序中就很好维护。
    2、一定程度上减少了应用程序和数据库表之间的耦合性。
    在视图中在字段名后加上别名后,可以实现在数据库基本表的表结构变化后,应用程序中查询视图取数据的语句则不必修改。
    3、一定程度上屏蔽了表结构等敏感信息。
    在数据库中可以将视图查询权限赋予有关用户,而基本表的查询权限就可以不赋予上述用户。在数据库管理系统中,这起到一个一定的隐藏敏感信息的作用。
    4、使不同用户从不同角度使用同一份数据。
    一个基础表中含有较多信息时,基于同一个基础表的表格可以产生多个视图,不同的视图具有不同的业务意义。从而使得不同用户从不同角度使用同一份数据。

    三、更新视图

    这里说的更新视图指DML操作,即update,delete,insert。不是更新视图的定义。一般情况下,基于一个基本表的视图是可更新的。
    1、只读视图
    如果不希望用户通过视图修改数据,可以不给用户赋予该视图的update,delete,insert的权限。也可以在创建视图时使用with read only设置只读属性。两种方式的选取因业务而异。
    2、其他不可更新视图的情况
    (1)视图基于多表导出。
    (2)视图语句中字段是由字段表达式生成的。
    (3)视图语句中出现聚合函数。
    (4)视图语句中含group by,distinct等语句。
    (5)视图语句中含有嵌套查询。

    展开全文
  • 数据库视图作用

    万次阅读 多人点赞 2018-07-30 14:36:12
    数据库只存放视图的定义,而不存放视图对应的数据,这些数据仍存放在原来的基本表中。所以基本表中的数据发生变化,从视图中查询出的数据也就随之改变了。从这个意义上讲,视图就像一个窗口,透过它可以看到数据库中...

    一、视图简介

    视图是从一个或几个基本表(或视图)导出的表。它与基本表不同,是一个虚表。数据库只存放视图的定义,而不存放视图对应的数据,这些数据仍存放在原来的基本表中。所以基本表中的数据发生变化,从视图中查询出的数据也就随之改变了。从这个意义上讲,视图就像一个窗口,透过它可以看到数据库中自己感兴趣的数据及其变化。

    二、视图的优点

    既然视图的定义是基于基本表的,哪为什么还要定义视图呢?这是因为合理地使用视图能够带来许多好处:

    1. 视图能简化用户操作

    视图机制使用户可以将注意力集中在所关心地数据上。如果这些数据不是直接来自基本表,则可以通过定义视图,使数据库看起来结构简单、清晰,并且可以简化用户的的数据查询操作。例如,那些定义了若干张表连接的视图,就将表与表之间的连接操作对用户隐藏起来了。换句话说,用户所作的只是对一个虚表的简单查询,而这个虚表是怎样得来的,用户无需了解。

    2. 视图使用户能以多种角度看待同一数据

    视图机制能使不同的用户以不同的方式看待同一数据,当许多不同种类的用户共享同一个数据库时,这种灵活性是非常必要的。

    3. 视图对重构数据库提供了一定程度的逻辑独立性

    数据的物理独立性是指用户的应用程序不依赖于数据库的物理结构。数据的逻辑独立性是指当数据库重构造时,如增加新的关系或对原有的关系增加新的字段,用户的应用程序不会受影响。层次数据库和网状数据库一般能较好地支持数据的物理独立性,而对于逻辑独立性则不能完全的支持。

    在关许数据库中,数据库的重构造往往是不可避免的。重构数据库最常见的是将一个基本表“垂直”地分成多个基本表。例如:将学生关系Student(Sno,Sname,Ssex,Sage,Sdept),

    分为SX(Sno,Sname,Sage)和SY(Sno,Ssex,Sdept)两个关系。这时原表Student为SX表和SY表自然连接的结果。如果建立一个视图Student:

    CREATE VIEW Student(Sno,Sname,Ssex,Sage,Sdept)
    
    AS
    
    SELECT SX.Sno,SX.Sname,SY.Ssex,SX.Sage,SY.Sdept
    
    FROM SX,SY
    
    WHERE SX.Sno=SY.Sno;

    这样尽管数据库的逻辑结构改变了(变为SX和SY两个表了),但应用程序不必修改,因为新建立的视图定义为用户原来的关系,使用户的外模式保持不变,用户的应用程序通过视图仍然能够查找数据。

    当然,视图只能在一定程度上提供数据的逻辑独立,比如由于视图的更新是有条件的,因此应用程序中修改数据的语句可能仍会因为基本表构造的改变而改变。

    4. 视图能够对机密数据提供安全保护

    有了视图机制,就可以在设计数据库应用系统时,对不同的用户定义不同的视图,使机密数据不出现在不应该看到这些数据的用户视图上。这样视图机制就自动提供了对机密数据的安全保护功能。例如,Student表涉及全校15个院系学生数据,可以在其上定义15个视图,每个视图只包含一个院系的学生数据,并只允许每个院系的主任查询和修改本原系学生视图。

    5. 适当的利用视图可以更清晰地表达查询

    例如经常需要执行这样的查询“对每个学生找出他获得最高成绩的课程号”。可以先定义一个视图,求出每个同学获得的最高成绩:

    CREATE VIEW VMGRADE
    
    AS
    
    SELECT Sno,MAX(Grade) Mgrade
    
    FROM SC
    
    GROUP BY Sno;
    
    --然后用如下的查询语句完成查询:
    
    SELECT SC.Sno,Cno
    
    FROM SC,VMGRADE
    
    WHERE SC.Sno = VMGRADE.Sno AND SC.Grade = VMGRADE.Mgrade;

     

    展开全文
  • 视图作用: 1、简单:视图不仅可以简化用户对数据的理解,也可以简化他们的操作,那些被经常使用的查询可被定义为视图,从而使得用户不必为以后的操作每次指定全部的条件。 2、安全:数据库可以授权,但不能授权...

    首先介绍一下什么是视图?

    视图(view)是一种虚拟存在的表,视图中的数据并不在数据库中实际存在,行和列数据来自定义视图的查询中使用的表,并且是在使用视图时动态生成的。

    通俗的讲,视图只保存了查询的SQL逻辑,不保存查询结果。所以我们在创建视图的时候,主要的工作就落在 创建这条SQL查询语句上。

    视图的作用:

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

    2、安全:数据库可以授权,但不能授权到数据库特定行和特定的列上,通过视图用户只能查询和修改他们所能见到的数据。

    一、使用

    1、创建

    create [or replace] view 视图名称[(列名列表)] as select语句

    2、查询

    查看创建视图语句:show create view 视图名称;

    查看视图数据:select * from 视图名称....;

    3、修改

    方式一:create [or replace] view 视图名称[(列名列表)] as select语句

    方式二:alter view 视图名称[(列名列表)] as select语句

    4、删除

    drop view [if exists] 视图名称....

    二、视图的检查选项

    当使用with check option子句创建视图时,MySQL会通过视图检查正在更改的每个行,例如:插入,更新,删除,以使其符合视图的定义;MySQL允许基于另一个视图创建视图,它还会检查依赖视图中的规则以保持一致性,为了确定检查的范围,MySQL提供了两个选项:cascaded和local,默认为cascaded。

    使用示例:

    create or replace view stu_v_1 as select id,name from student where id <= 20;
    
    create or replace view stu_v_2 as select id,name from stu_v_1 where id >= 10 with cascaded check option;
    
    into stu_v_2 values(7,'Tom');
    into stu_v_2 values(26,'Tom');

    这样先会去判断是否满足stu_v_2的条件,再去判断是否满足stu_v_1的条件。有递归的性质。

    以上两个插入语句都不能执行成功。

    2、with local check option

    使用示例:

    create or replace view stu_v_4 as select id,name from student where id <= 15;
    
    create or replace view stu_v_5 as select id,name from stu_v_4 where id >= 15 with local check option;
    
    insert into stu_v_5 values(13,'Tom');
    insert into stu_v_5 values(17,'Tom');
    
    create or replace view stu_v_6 as select id,name from stu_v_5 where id < 20;
    
    insert into stu_v_6 values(14,'Tom');

    local没有递归性质,只能检查规定的那个语句。

    以上的插入语句都能插入成功。

    注意:

     

    展开全文
  • 数据库视图作用

    千次阅读 2013-09-09 01:07:00
    视图做为数据库中的一种实体,实际上存在的只是它的脚本,而它的内容并不真正的单独存在一份。一般,可以对复杂的应用程序从功能角度进行分析,将可以与其它的应用程序共用的那一部分,分离出来。对这部分功能,视...
  • 进行多表连合,通过对一张表操作,为什么要建立视图关系?比原来数据库语句复杂好多,又没有实用性,却还是要建立视图
  • 摘要:Delphi源码,数据库应用,视图 Delphi中的数据库视图应用一例,简单的视图使用例子,初学者参考。 运行环境:Windows/Delphi7
  • 数据库视图详解

    千次阅读 2021-11-05 20:21:47
    视图中的字段就是来自一个或多个数据库中的真实的表中的字段。只保存SQL逻辑,不保存查询结果 。一般用于会在多个地方用到同样的查询结果,或者该查询结果使用的SQL语句较复杂。 创建视图 #方式一: CREATE VIEW ...
  • 数据库实验(四)视图 一、 实验目的 熟悉SQL语言有关视图的操作,能够熟练使用SQL语句来创建需要的视图,定义数据库外模式,并能使用所创建的视图实现数据管理。 二、 实验内容和要求 在实验一所创建的学生数据库中...
  • 数据库 视图创建

    千次阅读 2022-04-24 15:54:41
    创建视图 create view 视图名 as查询 语句; 使用视图 select * from 视图名; 删除视图 drop view 视图名; 查看视图字段信息 desc 视图名; 查看视图创建语句 show create view 视图名\...
  • java 访问数据库视图

    千次阅读 2021-02-26 14:40:31
    工作多年调用视图到多次,自己写代码使用视图还是头一回,也觉得新鲜,那就开始呗, 数据库系统是Oracle1 我用的数据库连接客户端是Navicat ,首先创建视图,其实视图就是调用表的操作,提取自己需要的数据放到视图下面,相...
  • 本文实例讲述了Thinkphp5框架实现获取数据库数据到视图的方法。分享给大家供大家参考,具体如下: 这是学习thinkhp5的基础篇笔记。 这里主要讲怎么配置数据库链接,以及查询数据库数据,并且最后将数据赋给视图。 ...
  • 数据库视图作用和优势

    千次阅读 2019-04-27 20:14:41
    既然视图在实际开发过程当中被广泛使用到,它到底有哪些作用和优势呢? 1、使数据简单化:可以将复杂的查询创建成视图,提供给他人使用,他人就不需要去理解其中复杂性的业务关系或逻辑关系。这样对视图的使用人员...
  • 数据库视图

    千次阅读 2022-04-14 17:16:02
    数据库中的视图是一个虚拟表,同真实的表一样,视图包含一系列带有名称的行和列数据,行和列数据来自定义视图查询所引用的表,并且在引用视图时动态生成。视图是从一个或者多个表中导出的,视图的行为与表非常相似,...
  • 视图中的数据并不在数据库中实际存在,行和列数据来自定义视图的查询中使用的表,并且是在使用视图时动态生成的。 通俗的讲,视图只保存了查询的SQL逻辑,不保存查询结果。所以我们在创建视图的时候,主要的工作就...
  • 在分析了面向对象数据库(OODB)及数据库视图功能特征的基础上,讨论了面向对象数据库视图的实现方法,在OODB中实现了基于对象查询的数据库视图的部分功能,并研制了一个档案管理系统加以验证。
  • 数据库视图创建及应用

    千次阅读 2021-08-07 14:10:25
    数据库视图创建及应用 一、视图: 视图是从一个或几个基本表(或视图)导出来的表。它与基本表不同,是一个虚表。数据库中只存放视图的定义,而不存放视图对应的数据,这些数据仍存放在原来的基本表中。所以一旦基本表...
  • 数据库视图概念,优缺点及作用

    万次阅读 2019-05-10 14:47:02
    视图(子查询):是从一个或多个表...作用: ①简化了操作,把经常使用的数据定义为视图。 我们在使用查询时,在很多时候我们要使用聚合函数,同时还要 显示其它字段的信息,可能还会需要关联到其它表,这时写的...
  • 数据库视图优缺点分析

    千次阅读 2021-01-28 00:24:21
    视图作用是什么所谓视图(View)其实是执行查询语句后得到的结果,但这个查询结果可以仿真成数据表来使用,所以有人也称它为“虚拟数据表”,视图在操作上和数据表没有什么区别,但两者的差异是其本质是不同的:数据表...
  • 数据库基础与实践实验报告 实验四 视图和索引 班级惠普测试 142 学号1408090213 姓名闫伟明 日期2016-11-13 1 实验目的 1) 掌握 SQL 进行视图创建的方法 2) 掌握 SQL 进行视图更新的方法理解视图更新受限的原因 3) ...
  • PostgreSQL数据库中最有用的功能之一就是创建自定义“视图”,这些视图仅仅是预先定义的SQL查询,它们存储在数据库中并可以在需要时重复使用。因此,以这种方式储存经常使用的SQL查询比每次都手工输入要更有效率而且...
  • 第7章+sql数据库视图与索引.ppt第7章+sql数据库视图与索引.ppt第7章+sql数据库视图与索引.ppt第7章+sql数据库视图与索引.ppt
  • 数据库视图的基本概念及作用

    千次阅读 2019-09-28 07:17:22
    视图是原始数据库数据的一种变换,是查看表中数据的另外一种方式。可以将视图看成是一个移动的窗口,通过它可以看到感兴趣的数据。视图是从一个或多个实际表中获得的,这些表的数据存放在数据库中。那些用于产生视图...
  • 什么是数据库视图(view),视图(view)优缺点是什么? 什么是数据库视图(view)? 在 SQL 中,视图是基于 SQL 语句的结果集的可视化的表。 视图包含行和列,就像一个真实的表。视图中的字段就是来自一...
  • 文章: 在数据库中,视图有什么用?什么时候需要用到视图? 博文地址:https://blog.csdn.net/aiku_de_yu/article/details/71159446 视图的好处,可以主要分为四点:  我简单的说一下,希望你能明白。  ...
  • SQL Server 数据库视图

    千次阅读 2022-03-17 17:07:08
    MySQL 数据库视图 视图的增删查改操作介绍
  • 掌握视图的定义与维护操作,加深对视图在关系数据库作用的理解。 二、实验内容 在数据库world中完成以下操作: 1、建立亚洲国家的视图asia_country,并要求进行修改和插入操作时仍需保证该视图只有亚洲国家,视图...
  • 数据库视图的使用和原理

    万次阅读 多人点赞 2019-04-22 17:53:24
    视图作用 1.视图能简化用户的操作 我们可以为常用的sql语句创建一个视图,这样我们原来需要连多个表,现在操作一个表就好了。 2.视图能够增加安全性 我们可以给不同的用户定义不同的视图,屏蔽了底层...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 547,600
精华内容 219,040
关键字:

数据库视图的作用