【修真院java小课堂】数据库视图

大家好,我是IT修真院郑州分院第8期学员,一枚正直善良的java程序员。今天给大家分享一下,修真院官网 java任务中可能会使用到的知识点:


数据库视图


【修真院java小课堂】数据库视图20180623

1.背景介绍

  • 关系型数据库中的数据是由一张一张的二维关系表所组成,简单的单表查询只需要遍历一个表,而复杂的多表查询需要将多个表连接起来进行查询任务。对于复杂的查询事件,每次查询都需要编写MySQL代码效率低下。为了解决这个问题,数据库提供了视图(view)功能。

视图是什么?

  • 视图(View)是从一个或多个表(或视图)导出的表。视图与表(有时为与视图区别,也称表为基本表——Base Table)不同,视图是一个虚表,即视图所对应的数据不进行实际存储,数据库中只存储视图的定义,在对视图的数据进行操作时,系统根据视图的定义去操作与视图相关联的基本表。

2.知识剖析

2.1 视图作用是什么?

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

2.2 优点

  • 1.简化了操作,把经常使用的数据定义为视图。
  • 2.安全性,用户只能查询和修改能看到的数据。
  • 3.逻辑上的独立性,屏蔽了真实表的结构带来的影响。
  • 4.把从数据库中获取的数据返回给客户端

2.3 缺点

  • 性能差
  • 修改限制

3.常见问题

3.1 视图与表格的联系

  • 视图(view)是在基本表之上建立的表,它的结构(即所定义的列)和内容(即所有数据行)都来自基本表,它依据基本表存在而存在。一个视图可以对应一个基本表,也可以对应多个基本表。视图是基本表的抽象和在逻辑意义上建立的新关系

3.2 视图与表格的区别

  • 1、视图是已经编译好的sql语句。而表不是
  • 2、视图没有实际的物理记录。而表有。
  • 3、表是内容,视图是窗口
  • 4、表只用物理空间而视图不占用物理空间,视图只是逻辑概念的存在

4.编码实战

  • 创建、删除视图
  • 见视频

5.扩展思考

5.1 应用场景

  • 从一开始的背景介绍中其实就可以看到视图的应用场景所在,视图是为了解决复杂查询每次都需要编写Mysql代码的问题。显而易见,当一个查询事件比较复杂的时候就可以使用考虑使用使用视图

  • 作用上来看,隔离数据和用户场景


6.参考文献

https://blog.csdn.net/moxigandashu/article/details/63254901
https://blog.csdn.net/qq_35845339/article/details/78655326
https://blog.csdn.net/buhuikanjian/article/details/53105416


7.更多讨论

Q:视图的定义是什么?视图中是否保存了数据?
A:视图的定义是sql语句,视图中实际上是不保存数据的

Q:视图的缺点性能差是怎么说的?
A:视图是将sql语句进行了再次封装,相比较最直接执行sql语句,多了一层封装,对性能必然是有影响的

Q:视图是不是必须的?
A:视图本质上就是sql语句,是为了简化操作而使用的,它不是必须的。

PPT在这里

感谢大家观看!

今天的分享就到这里啦,欢迎大家点赞、转发、留言、拍砖~

技能树.IT修真院

“我们相信人人都可以成为一个工程师,现在开始,找个师兄,带你入门,掌控自己学习的节奏,学习的路上不再迷茫”。

这里是技能树.IT修真院,成千上万的师兄在这里找到了自己的学习路线,学习透明化,成长可见化,师兄1对1免费指导。

快来与我一起学习吧~http://www.jnshu.com/login/1/22140638

猜你喜欢

转载自blog.csdn.net/zhanlijueduan/article/details/80804548