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),才能删除约束。(根据约束自动生成的索引)
-|:删除表时,自动删除此表上的索引。