
课程咨询: 400-996-5531 / 投诉建议: 400-111-8989
认真做教育 专心促就业
视图在许多软件编程开发软件中都得到了广泛的应用,今天运城达内培训就给大家简单介绍一下,视图的概念与用法分析。
1、什么是视图
视图就是一个虚拟的数据表,该数据表中的数据记录是由一条查询语句的查询结果得到的。
2、为什么要使用视图,而不是表(面试可能会被问到)
如果你在面试的时候被问到这个问题,建议从下面这个流程来回答一下面试官。
先介绍一下表的作用(比如表是直接存储结构化数据,可以扩展增删改之类的),之后在介绍一下视图是什么,之后从两个切入点来讲解视图的好处以及必要性,这两个切入点是:复用性和安全性,这里来简单总结一下:
简化查询,提高复用性
想象一下,一个人员宽表,里面有几百个字段,但是你每次只需要用到这个表中的姓名、性别、年龄这三个字段,那么你可以创建一个视图来直接使用,或者你这个人员表经常和另外一个履历表join组合在一起,而只取了其中的部分字段,并且频繁使用这几个字段。那么无疑创建视图是一个好做法。当然这种情况也可以说明使用视图能够简化查询。
提高安全性
通过视图,可以限制用户对敏感数据的直接访问。视图可以控制用户可以看到和操作的数据的范围,提供更好的安全性和隐私保护。这里还拿刚才我讲的姓名、性别、年龄三个字段,假如年龄是一个比较敏感的字段,那么对某些数据库用户只能查询姓名和性别的话,那么就可以设置一个视图分配给这个用户。
另外就是如果你要更新视图的时候,也只能更新视图所见的字段,用户对视图不可以随意的更改和删除,可以一定程度的保证数据的安全性。
讲解完上述的两个大的关键点后,也可以适当自行发挥,比如视图你可以调整表字段的显示顺序,或者字段名字等等。这些也是优点。可以适当进行讲解。
3、创建视图准则
创建视图需要考虑一下准则:
视图名称必须遵循标识符的规则,该名称不得与该架构的任何表的名称相同。
你可以对其他视图创建视图。允许嵌套视图,但嵌套不得超过32层。视图多可以有1024个字段。
不能将规则和default定义于视图相关联。
视图的查询不能包含compute子句、computeby子句或into关键字。
定义视图的查询不能包含orderby子句,除非在select语句的选择列表中还有top子句。
下列情况必须指定视图中每列的名称:
有列顺序需求(在某些情况下,您可能希望定义视图的结果集中列的顺序,并且这与基础表中的顺序不同。)
视图中的任何列都是从算术表达式、内置函数或常量派生而来
视图中有两列或多列具有相同名称(通常由于视图定义包含联接,因此来自两个或多个不同的列具有相同的名称)
有指定列别名的需求。注意无论是否重命名,视图列都需继承原列的数据类型
【免责声明】本文系本网编辑部分转载,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。如涉及作品内容、版权和其它问题,请在30日内与管理员联系,我们会予以更改或删除相关文章,以保证您的权益!请读者仅作参考。更多内容请加抖音太原达内IT培训学习了解。