1、视图概念
- 视图是包含由一张或多张表的列组成的数据集。该表中的记录是由一条查询语句执行后所得到的查询结果所构成的。
- 视图是一张虚拟表,它表示一张表的部分数据或多张表的综合数 据,其结构和数据是建立在对表的查询基础上。
- 视图中并不存放数据,而是存放在视图所引用的原始表(基表)中。
- 同一张原始表,根据不同用户的不同需求,可以创建不同的视图。
视图的用途
- 筛选表中的行
- 防止未经许可的用户访问敏感数据
- 降低数据库的复杂程度
- 将多个物理数据库抽象为一个逻辑数据库。
2、创建视图
CREATE VIEW view_name
AS
<select语句>
使用视图的优点
- 视点集中:就是指使用户只关心他感兴趣的某些特定数据和他们所负责的特定任务。
- 简化操作:视图大大简化了用户对数据的操作。
- 定制数据:视图能够实现让不同的用户以不同的方式看到不同或相同的数据集。
- 安全性:视图可以作为一种安全机制,通过视图用户只能查看和修改他们所能看到的数据。其它数据库或表既不可见也不可访问。
3、索引的概念
索引是一个单独的、物理的数据库结构,是数据库的一张表中所包含的值的列表,其中注明了表的各个值所在的存储位置。
4、索引类型
在SqlServer中,索引按类型可分为聚集索引、非聚集索引、唯一索引,复合索引,视图索引,全文索引,XML索引
主键索引:在数据表中为表定义一个主键就自动创建主键索引,主键索引是唯一索引的特殊类型;
唯一索引:唯一索引不允许两行具有相同的索引值;
聚集索引(Clustered):表中各行的物理顺序与键值的逻辑(索引)顺序相同,每个表只能有一个;
非聚集索引(Non-clustered):非聚集索引指定表的逻辑顺序。数据存储在一个位置,索引存储在另一个位置,索引中包含指向数据存储位置的指针。可以有多个,小于249个。
5、如何创建索引
CREATE [UNIQUE] [CLUSTERED|NONCLUSTERED]
INDEX index_name
ON table_name (column_name…)
[WITH FILLFACTOR=x]
UNIQUE表示唯一索引,可选;
CLUSTERED、NONCLUSTERED表示聚集索引还是非聚集索引,可选;
FILLFACTOR表示填充因子,指定一个0到100之间的值,该值指示索引页填满的空间所占的百分比;
6、索引的优缺点
索引的优点
- 创建唯一性索引,保证数据表中每一行数据的唯一性。
- 大大加快数据的检索速度,这也是创建索引的最主要的原因。
索引的缺点
- 带索引的表在数据库中需要更多的存储空间。
- 操纵数据的命令需要更长的处理时间,因为它们需要对索引进行更新。
索引的作用:
将数据表中的记录按照某个顺序进行排寻,以便可以用最快的速度找到需要查找的记录。