【竺】数据库笔记8——视图1

1、视图是一张虚拟表,视图的字段是由我们自定义的,视图只供查询,数据不可更改,查询数据来源于我们建立的实体表。2、使用视图的优势?视图可以将多个复杂关联表,提取出我们需要的信息,优化查询速度。3、使用视图,可以定制用户数据,聚焦特定的数据。解释:在实际过程中,公司有不同角色的工作人员,我们以销售公司为例的话,采购人员,可以需要一些与其有关的数据,而与他无关的数据,对他没有任何意义,我们可以根据这一实际情况,专门为采购人员创建一个视图,以后他在查询数据时,只需select * from view_caigou 就可以啦。4、使用视图,可以简化数据操作。5、使用视图,基表中的数据就有了一定的安全性解释:因为视图是虚拟的,物理上是不存在的,只是存储了数据的集合,我们可以将基表中重要的字段信息,可以不通过视图给用户,视图是动态的数据的集合,数据是随着基表的更新而更新。同时,用户对视图,不可以随意的更改和删除,可以保证数据的安全性。6、可以合并分离的数据,创建分区视图(//目前我没用到)通过这个create view 视图名 as 命令建立:意思就是将查询结果创建为名称为table_sgt的一张虚拟表:1create view table_sgt as(select s.id as schoolId,s.school as schoolName,s.gradeid as gradeid,g.grade as gradeName,g.studentid as studentid ,t.`name` as studentName,t.age as studentAge from school s,grade g,student t where s.gradeid=g.id and  g.studentid=t.id);7、在使用视图的时候需要注意的是:视图的名称必须唯一创建视图的个数是没有限制的,但是一张视图中嵌套或者关联的表过多,同样会影响查询效率引发性能问题在过滤条件数据的时候,如果在创建视图的sql语句中存在where条件语句,而在使用该视图的语句中也存在where条件语句的时候,这两个where条件语句会自动组合视图中不能使用索引也不能使用触发器视图可以和表中的数据一起使用编辑一条联结视图和普通表的sql语句使用视图更新数据的时候,视图本身并没有数据,所以这些操作都是直接作用到普通表中的,但是并非所有的视图都可以进行更新操作,如视图中存在分组,联结子查询组合查询聚合函数等等 都不能对视图进行更新,视图更多的是用于数据检索而不是更新操作8、对于多表视图操作,总结来说那就是只允许对视图进行查询和修改,删除和添加基本上都不允许。9、单表视图和多表视图对于查询和修改都是一样的,但是对于视图中插入的数据却是有一定的限制(实体表中没有被引用的字段必须为null)。单表视图可以删除数据,同时视图和实体表中都同步了删除操作。

(0)

相关推荐