07.SQL Server(视图及索引)

一、视图概述

  • 视图是一张虚拟表,它表示一张表的部分数据或多张表的综合数据,其结构和数据是建立在对表的查询基础上
  • 视图中并不存放数据,而是存放在视图所引用的原始表(基表)中
  • 同一张原始表,根据不同用户的不同需求,可以创建不同的视图

 二、视图的特点与作用

  • 着重特定数据:可以使用某些特定数据,过滤掉不需要的数据
  • 简化数据操作:可将经常使用的联接、联合查询和选择查询定义成视图。用户在需要时,直接调用视图就可以了
  • 自定义数据
  • 组合分区数据:用户可把来自不同表的多个查询结果组合成单一的结果集,好像是单个表
  • 安全性:用户通过视图访问数据,不授予用户直接访问表的权限

三、如何创建视图

使用企业管理器创建视图

使用脚本创建视图 

/* 创建视图语法:*/
GO
create view v_视图名称
as
    select * from tb_表名;

/* 查看视图语法 */
select * from v_视图名称

/*删除视图语法*/
drop view v_视图名称;

四、视图和表的区别

  • 视图是已经编译好的sql语句没有实际的物理记录,是虚表。而表有实际的物理记录,是实表。 
  • 表是内容,视图是窗口 
  • 表占用物理空间而视图不占用物理空间,视图只是逻辑概念的存在,表可以及时对它进行修改,但视图只能有创建的语句来修改 
  • 视图是查看数据表的一种方法,可以查询数据表中某些字段构成的数据,只是一些SQL语句的集合。从安全的角度说,视图可以不给用户接触数据表,从而不知道表结构。 
  • 视图的建立和删除只影响视图本身,不影响对应的基本表。

五、案例

--要求用代码创建视图,要求得到如下数据:2012年一月入住的所有姓“张”的人
GO
create view view_demo2
as
select * from tb_dengji where YEAR(drz) = 2012 and 
MONTH(drz) = 1 and uname like '郭%';
GO

--要求用代码创建视图,要求如下:要求所有房间的入住统计,如果为null的话则用0代替
GO
create view view_2
as
select fid ,isnull(fcnt,0) 'fcnt' from tb_kefang;
GO

六、索引

与书中的索引一样,数据库中的索引使用户可以快速找到表或索引视图中的特定信息。

索引的优点

  • 创建唯一索引,保证数据库表中每一行数据的唯一性。
  • 大大加快数据的检索速度,这也是创建索引的最主要原因。
  • 加速表与表之间的链接,特别是在实现数据的参考完整性方面特别有意义。
  • 在使用分组和排序子句进行数据检索时,同事可以减少查询中分组和排序的时间。
  • 通过使用索引,可以在查询的过程中使用优化隐藏器,提高系统的性能。

索引的分类

  • 聚集索引
  • 非聚集索引

七、索引操作

--创建索引
create index i_索引名称 
on tb_表名称(字段名称);

--删除索引
drop index i_索引名称 
on tb_表名称;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

淡独东执

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值