视图和索引(数据库学习)

2019-11-04 16:55:10 浏览数 (1)

1.理解什么是视图。视图的优点。

引入—数据库的基本表是按照数据库设计人员的观点设计的,并不一定符合所有用户的需求。

SQL Server 可以根据用户需求重新定义表的数据结构,这种数据结构就是视图(用户外模式)

视图:是从一个或几个基本表(模式)导出来的表,是一个虚表,并不表示任何物理数据。

(数据库只储存视图的定义,不储存视图对应的数据,及也可通过视图修改基本表中数据)

视图优点:

-|:为用户集中数据,简化用户的数据查询和处理。

-|:保证数据的逻辑独立性。

-|:重新定制数据,使数据便于共享;合并分割数据,有利于数据输出到应用程序中。

-|:数据保密。

2.视图的创建、修改、使用、删除

看实验报告

创建原则:当前数据库、必须遵循标示符规则、可在其他视图之上建立视图、如果视图中某列为(算术表达式、内置函数或常量派生而来,用户需要为其指定特点的名称)

使用(insert、update、delete)视图修改基本表中数据,需满足可更新条件:

-|:只引用一个基本表的列。视图依赖多表时,不能通过视图插入删除数据、只能修改一个表数据。

-|:视图中被修改的列必须直接引用表列中的基础数据(非聚合函数、计算、集合运算)

-|:被修改的列不应是创建视图时受group by、having、distinct、top语句影响的。

创建(create view 视图名称 as 查询语句)

修改(alter view 视图名称 as 查询语句)

使用(select *from 视图名称),同数据库查询类似

删除(drop view 视图名称)

3.什么是索引。索引的分类。创建索引时应考虑哪些问题?

索引(index):是对数据库表中一个或多个列的值进行排序的结构 ,其主要目的是提高SQL Server 系统的性能,加快查询数据的速度。(通过记录表中的关键值指向基本表中的记录)

根据组织方式分为:(最多存在250个)

-|:聚集索引,会对表中数据进行物理排序。(只能有一个,当定义主键约束时,会自动用主建列作为聚合索引建)

-|:非聚集索引,不会对表中数据进行物理排序。(目录纯粹是目录,正文纯粹是正文)

创建索引时应考虑的问题

-|:对一个表中建大量的索引,应经行权衡。(经常更新少索引,更新少的数据量大的多索引)。

-|:对小型表进行索引可能不会产生优化效果。

-|:对于主键和外键列应考虑建索引。(主键查询、外键连接)

-|:很少在查询中使用的列及值很少的列不应考虑建索引。

-|:视图中如果包含聚合函数或连接时,创建视图的索引可以显著提高查询性能。

4.如何创建索引、查看索引信息、删除索引

创建(create index 索引名 on 基本表(列名))

-|:间接创建(定义表结构或修改表结构时,定义了主键约束(pramary key)自动生成聚集索引、唯一性约束(unique)非聚集唯一索引。

-|:创建索引视图

查看索引(exec 存储过程(sp_helpindex或者sp_help) 基本表)

删除索引(drop index 基本表.索引名)

-|:必须删除表约束(primary key、unique),才能删除约束。(根据约束自动生成的索引)

-|:删除表时,自动删除此表上的索引。

0 人点赞