这次做题做的不怎么好,随便写点东西给自己一点交代吧!
关于索引这部分说真的不怎么会,所以呢,要好好学一下!在这里总结一下,给自己未来回顾找个节点!
1.SQL Server Management Studio中,按照窗体向导设置索引的相关选项即可。索引的创建与表的主键创建的没有先后顺序要求。一般情况下,先创建主键,当表中数据达到一定数量后再建立索引。
2.视图是一个虚拟表,我们在查询视图的时候,实际上是对基础表的查询。视图不仅可以作为SELECT查询的目标,也可以作为修改语句的目标。理论上它可以像普通的物理表一样使用,例如增、删、改、查等,更新视图中的数据实际上是修改原始数据表。当然,当修改视图的时候,其实是对基础表的修改,它就好像是一个代理。但因为有许多限制,所以在实际开发中一般视图仅做查询使用。
3.视图是另一种查看数据库中一个或多个表中数据的方法,视图只是一种虚拟表,通常是作为来自一个或多个表的行或列的子集创建的,视图并不是数据库中存储的数据值的集合,
视图充当着查询中指定表筛选器,定义视图的查询可以基于一个或多个表,也可以基于其他视图,当前数据库或其他数据库
4.关系数据库中,数据是保存在数据页中的,而索引则是存储在索引页中。因此,数据表中的索引并非越多越好,一个表中如果有大量的索引,不仅占用大量的磁盘空间,而且会影响INSERT、DELETE、UPDATE等语句的性能。因为当表中数据更改的同时,索引也会进行调整和更新。
5.每张表最多包含1个聚集索引。并且聚集索引会决定记录的物理位置。聚集索引不一定要建立在主键字段上。一张表可以没有任何索引。
6.创建视图时,只能使用1条查询语句,通过视图查询到数据,仍然是存储在原表中。
7.SQL Server中,索引可以提高数据的访问速度,但同时也增加了插入、更新和删除操作的处理时间,也会在硬盘上占用相当大的空间。所以是否要为表增加索引、索引建立在那些字段上,是创建索引前必须要考虑的问题。解决此问题就是分析应用程序的业务处理、数据使用,为经常被用作查询条件、或者被要求排序的字段建立索引。
不要在有大量相同取值的字段上,建立索引。这是因为,由于这些字段的取值很少,例如人事表的性别字段,在查询的结果中,结果集的数据行占了表中数据行的很大比例,即需要在表中搜索的数据行的比例很大。增加索引,并不能明显加快检索速度; 当修改性能远远大于检索性能时,不应该创建索引。这是因为,修改性能和检索性能是互相矛盾的。当增加索引时,会提高检索性能,但是会降低修改性能。当减少索引时,会提高修改性能,降低检索性能。因此,当修改性能远远大于检索性能时,不应该创建索引。。
8.SQL Server中,数据库索引创建规则:
1、表的主键、外键必须有索引; 2、数据量超过300的表应该有索引; 3、经常与其他表进行连接的表,在连接字段上应该建立索引; 4、经常出现在Where子句中的字段,特别是大表的字段,应该建立索引; 5、索引应该建在选择性高的字段上; 6、索引应该建在小字段上,对于大的文本字段甚至超长字段,不要建索引; 7、复合索引的建立需要进行仔细分析;尽量考虑用单字段索引代替:8、频繁进行数据操作的表,不要建立太多的索引; 9、删除无用的索引,避免对执行计划造成负面影响。
9.
SQLServer中,为列创建索引实际上就是为列进行排序,以方便查询。建立一个列的索引,就相当与建立一个列的排序。主键是唯一的,所以创建了一个主键的同时,也就这个字段创建了一个唯一的索引。唯一索引实际上就是要求指定的列中所有的数据必须不同。主键一唯一索引的区别: 1. 一个表的主键只能有一个,而唯一索引可以建多个。 2. 主键可以作为其它表的外键。 3. 主键不可为null,唯一索引可以为null。 根据本题描述,我们知道:图书名称可以不是唯一的,在书名上添加唯一索引是不正确的做法。图书馆同一天可能会购置多本图书,因此在购置日期添加聚集索引也不对。对于小部分读者有时按作者姓名查询藏书的行为,不必创建索引;同时因为作者可能有重名的可能,更不应该创建聚集索引。