视图简介

视图是一个虚拟表,其内容由查询定义。同真实的表一样,视图包含一系列带有名称的列和行数据。但是,视图并不在数据库中以存储的数据值集形式存在。行和列 数据来自由定义视图的查询所引用的表,并且在引用视图时动态生成。
  对其中所引用的基础表来说,视图的作用类似于筛选。定义视图的筛选可以来自当前或其它数据库的一个或多个表,或者其它视图。分布式查询也可用于定义使 用多个异类源数据的视图。
  视图是存储在数据库中的查询的SQL 语句,它主要出于两种原因:安全原因, 视图可以隐藏一些数据,如:社会保险基金表,可以用视图只显示姓名,地址,而不显示社会保险号和工资数等,另一原因是可使复杂的查询易于理解和使用。
  视图:查看图形或文档的方式。
  视图是从一个或多个表或视图中导出的表,其结构和数据是建立在对表的查询基础上的。和表一样,视图也是包括几个被定义的数据列和多个数据行,但就本质 而言这些数据列和数据行来源于其所引用的表。
  所以视图不是真实存在的基础表而是一张虚表,视图所对应的数据并不实际地以视图结构存储在数据库中,而是存储在视图所引用的表中。
  视图一经定义便存储在数据库中,与其相对应的数据并没有像表那样又在数据库中再存储一份,通过视图看到的数据只是存放在基本表中的数据。对视图的操作 与对表的操作一样,可以对其进行查询、修改(有一定的限制)、删除。
  当对通过视图看到的数据进行修改时,相应的基本表的数据也要发生变化,同时,若基本表的数据发生变化,则这种变化也可以自动地反映到视图中。
  视图有很多优点,主要表现在:
  •视点集中
  •简化操作
  •定制数据
  •合并分割数据
  •安全性
  13.9.1 视点集中
  视图集中即是使用户只关心它感兴趣的某些特定数据和他们所负责的特定任务。这样通过只允许用户看到视图中所定义的数据而不是视图引用表中的数据而提高 了数据的安全性。
  13.9.2 简化操作
  视图大大简化了用户对数据的操作。因为在定义视图时,若视图本身就是一个复杂查询的结果集,这样在每一次执行相同的查询时,不必重新写这些复杂的查询 语句,只要一条简单的查询视图语句即可。可见视图向用户隐藏了表与表之间的复杂的连接操作。
  13.9.3 定制数据
  视图能够实现让不同的用户以不同的方式看到不同或相同的数据集。因此,当有许多不同水平的用户共用同一数据库时,这显得极为重要。
  13.9.4 合并分割数据
  在有些情况下,由于表中数据量太大,故在表的设计时常将表进行水平分割或垂直分割,但表的结构的变化却对应用程序产生不良的影响。如果使用视图就可以 重新保持原有的结构关系,从而使外模式保持不变,原有的应用程序仍可以通过视图来重载数据。
  13.9.5 安全性
  视图可以作为一种安全机制。通过视图用户只能查看和修改他们所能看到的数据。其它数据库或表既不可见也不可以访问。如果某一用户想要访问视图的结果 集,必须授予其访问权限。视图所引用表的访问权限与视图权限的设置互不影响。
  从用户角度来看,一个视图是从一个特定的角度来查看数据库中的数据。从数据库系统内部来看,一 个视图是由SELECT语句组成的查询定义的虚拟表。从数据库系统内部来看,视图是由一张或多张表中的数据组成的,从数据库系统外部来看,视图就如同一张 表一样,对表能够进行的一般操作都可以应用于试图,例如查询,插入,修改,删除操作等。

 

原文:http://blog.csdn.net/yanglidong/archive/2008/12/12/3501636.aspx

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
MySQL视图练习题包括以下内容: 1)创建考上Peking University的学生的视图 2)创建考上Tsinghua University的学生的视图 3)对XiaoTian的成绩进行更正,将多录的50分进行修改 4)查看更新过后视图和表的情况 5)查看视图的创建信息 6)删除创建的视图 具体步骤如下: 1)创建考上Peking University的学生的视图: CREATE VIEW peking_students AS SELECT * FROM students WHERE university = 'Peking University'; 2)创建考上Tsinghua University的学生的视图: CREATE VIEW tsinghua_students AS SELECT * FROM students WHERE university = 'Tsinghua University'; 3)对XiaoTian的成绩进行更正,将多录的50分进行修改: UPDATE students SET score = score - 50 WHERE name = 'XiaoTian'; 4)查看更新过后视图和表的情况: SELECT * FROM peking_students; SELECT * FROM students; 5)查看视图的创建信息: SHOW CREATE VIEW peking_students; 6)删除创建的视图: DROP VIEW peking_students; DROP VIEW tsinghua_students;<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [MySQL视图简介 & 练习)](https://blog.csdn.net/JohnnyG2000/article/details/124543049)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *3* [mysql 查询练习题](https://download.csdn.net/download/qq_40717644/10857398)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值