SQLserver 关于创建 三种 标准视图、索引视图(详细介绍)、分区视图介绍

视图定义:视图是一个临时表或者虚拟表,将多个表中你需要的列数据,组合成一张表,方便顾客阅读查看数据。

视图分类:标准视图、索引视图、分区视图。

视图和表的区别:数据表是存储数据的真实位置,视图存储的是查询语句。

视图的优缺点:

优点(作用:简化,数据查询,将多个表组合起来结果成为一个表,增加数据的保密性,安全上得到保证。)

缺点:只是简化查询不提高数据的查询效率,安全性上得到了保证,却增加了维护成本

三种视图详解:标准视图 (存储查询定义,没有存储数据)

标准视图语法格式:

create view 列名
as
select 列名 ,列名
  from 表名
  inner join 列名 
on 表名.列名 = 表名.列名  

标准视图实战操作:(注意看清多表查询语句中, 只要两表有相同字段就可以建起连接,我用的字段是 StudentDB 数据库中  dbo.StudentInfo 表 StuName字段 和dbo. 表 StuName字段 )

索引视图:(被具体化的,创建索引,创建了索引,显著提高查询效率,聚合了很多行的查询,不太适合经常更新基本数据集)

创建索引语句格式:

create view 视图名称(视图名称后面尽量加上_index 以表名这是一个试图索引) with schemabinding
 as 
 select 列名 (可以是多个列,列与列之间用逗号隔开 ) from 表名(表明前面必须加上所有者 dbo
 )
 go  --查询select 后面不能使用* ,你查询多少列 你就必须写上多少列


 创建效果图:

索引视图注意事项:

 索引视图 :实际存在,会影响基础表 ,适合多行数据的情况下,不建议对索引试图进行删除修改操作,因为 索引视图和其他两种视图是不同的,索引视图中的数据是具体存在,与你所查寻数据的来源的表之间是相关,如果你对索引视图进行做修改操作,你所进行的也会在其来源表里,也会被删除,这样产生的后果是非常严重的。

分区视图:(一台或者多台服务器间水平连接,一组成员表的分区数据。)

个人理解 创建分区视图前,首先检查建立连接两个表之间 数据结构是否保持一致,在列的数量上, 数据类型上必须保持一致,字段名称可以不同

分区视图语法格式:

create view 视图名称
 as 
 select * from 表名
 union all       
 select * from 表名
 go

创建效果图:

 上述操作为,创建分区视图,顺道查询创建的分区视图dbo.Vtwotest,属于批处理 go在语句末尾加上 go,创建命令结果提示成功,只是未显示。

分区索引创建注意事项:首先你在建立查询连接的两个表,之间表的字段就是列 要保持一致,就是数量上要一样,例如:dbo.test有三列,dbo.test2也有三列,在此基础上重中之重,两个表与之相对应的列中之间,的数据类型要一致,int 两个表相对应的列数据类型都为 int,你不能说 第一个表中,第一列是int数据类型,第二表第第一列数据类型是 varchar 或data 这样就不能创建成功,因为不符合分区视图创建的规则。

那么如果第一个表的第一列的列名为id,第二个表的第一列的列名为TypeName ,也就是列名不同,能分区视图成创建成功吗?

答:显然是可以的 ,所以在创建分区视图,只要注重好,两张表各自的列的数量,相对应的列数据类型是否相同,就可以了

查询视图语法格式:

 select *from  vStudentDB_index   -- vStudentDB_index 为视图名 根据自己创建视图名自行修改  

总结:索引视图 在视图中是视图中重中之重,对索引视图的修改要谨慎而行,删除更新时 ,看好项目要求,因为你可能无意间的操作,会让数据丢失,能不用不上恢复数据,就尽量不要用。

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值