SQL Server之视图和索引

第五章

视图:可以选择不同的数据表中的不同的列,将他们组合在一起形成一个新的表,方便查询使用
新建视图:视图-右击-新建视图(图形化方法创建)
sql语句创建:如下

create view V_studentinfo
as
	select A.姓名,A.性别,A.民族,A.家庭住址,B.班级名
	from 学生信息 A,班级信息 B
	where A.所属班级=B.班级编号

该语句将学生信息中的姓名 ,性别,民族和家庭住址和班级信息表中的班级名组成一个新的视图,根据所属班级和班级编号的关系
删除视图

DROP VIEW V_STUDENTINFO

通过视图修改数据:视图里面没有任何数据,并不存储数据,修改视图数据是更改基表里面的数据
注意事项(下列情况不可以修改):
1.select列表中含有distinct
2.select列表中含有表达式,如计算列,函数等
3.在from子句中引用多个表
4.引用不可更新的试图
5.group by或having子句
修改视图

alter view V_studentinfo
as
	select a.学号,a.姓名,b.班级名,c.姓名 as 辅导员
	from 学生信息 a join 班级信息 b
	on a.所属班级=b.班级编号
	join 辅导员信息 c
	on c.辅导员编号=b.辅导员

向视图中插入数据

insert into v_stu
values('200910005','李飞','男')

索引概述
索引:索引是一个单独的,物理的数据库结构,他是某个表中一列或者若干列的集合和相应的指向表中物理标识这些值的数据页的逻辑指针清单。索引提供了数据库中编排表中数据的内部方法。当进行数据检索时,系统先搜索索引页面,从中找到所需的数据指针,再直接通过指针从数据页面中读取数据。从某种程度,可以把数据库看作一本书,把索引看作书的目录,通过目录查找书中的信息。索引是提供一种更快速访问 指定记录的方法。
索引的优点:
1.保证数据记录的唯一性。唯一性索引的创建可以保证表中数据记录不重复。
2.加快数据检索速度,减少查询时间。
3.加快表与表之间的连接速度。
4.可以在检索数据的过程中使用优化隐藏器,提高系统性能。
5.在使用order by或者group by子句进行检索数据,可以显著减少查询中分组和排序的时间。
创建索引
在这里插入图片描述
索引类型:集索引,非聚集索引(在主键上创建聚集索引,在其他列上创建非聚集索引)
聚集索引:聚集索引确定表中数据的物理顺序。聚集索引类似于电话簿,按姓氏排列数据。由于聚集索引规定数据在表中的物理存储顺序,因此一个表只能包含一个聚集索引。但该索引可以包含多个列(组合索引),就像电话簿按姓氏和名字进行组织一样。
适用于一下情况:
1.含有大量非重复值的列
2.使用between,>,<或<或<=返回一个 范围值的列
3.被连续访问的列
4.返回大型结果集的查询
5.经常被使用或GROUP BY子句的查询访问的列
非聚集索引:非聚集索引:非聚集索引的数据存储在一个位置,索引存储在另一个位置,索引带有指针指向数据的存储位置。索引中的项目按索引值的顺序存储,而表中的
数据按另一种顺序存储。
两者的区别:
数据行不按照非聚集引键的顺序排序和存储
删除索引

drop index 学生信息.I_name

全文索引和目录索引:一个数据库可以包含一个或多个全文目录,一个全文目录可以包含一个或多个全文索引,但一个数据表只能有一个数据库全文目录和全文索引。

在SQLSERVER2005中使用全文索引的主要步骤如下:
(1)首先需要创建全文目录。
(2)然后将需要创建全文索引的数据表中的数据填充到全文目录中。这一过程也被称为填充全文索引。
(3)完成上述两步之后,即可开始使用全文索引功能。
填充的方式有3种:1、完全填充,2、增量填充,3、自动跟踪更改
创建架构:架构是一个容器,包括数据库数据表等对象,可以配置权限,下列代码中admins为架构名称,权限设置为老师

create schema admins AUTHORIZATION teacher

修改架构:选中要修改的数据表-右击设计-在视图中打开属性窗口
在这里插入图片描述
默认的架构为dbo将其改为admins,修改完成之后效果如下表
在这里插入图片描述
删除架构:如果架构在使用的话,不能直接删除架构,下列代码中admins 为架构的名称

drop schema admins
发布了45 篇原创文章 · 获赞 10 · 访问量 6222

猜你喜欢

转载自blog.csdn.net/wtt15100/article/details/99701070