资源描述:
《数据库原理及应用 实验三 数据表的管理(二)》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、评分签名日期实验报告课程名称数据结构实验名称数据表的管理(二)专业班级信管1001姓名学号实验日期实验地点第4页共4页一、实验目的1.复习数据表的创建与修改的操作方法2.熟悉索引的类型和用途3.掌握索引的创建与修改方法二、实验内容1.修改数据表2.创建索引3.修改索引4.删除索引三、实验环境WindowsXP操作系统、MicrosoftSQLServer2005四、相关知识索引是依赖数据表建立的,一个数据表的存储包括两个组成部分,一部分是用来存放数据的数据页,另一部分是用来存放索引的索引页。通常索引页比数据页的数据量要小得多,当进行数据查询时,SQLServer先去搜索索引页,从中找到所需
2、的数据指针,再通过指针从数据页中读取数据。索引提供指针以指向存储在表中指定列的数据值,然后根据指定排序次序排列这些指针。合理地利用索引,将大大提高数据库的检索速度和数据库的性能。但是,享受索引带来的好处是有代价的,一是带索引的表在数据库中会占据更多的空间,二是为了维护索引,对数据进行插入、修改、删除等操作的命令所花费的时间会更长些。因此,在设计和创建索引时,要确保对性能的提高程度大于在存储空间和处理资源方面所付出的代价。1.索引的创建数据的索引可以在“MicrosoftSQLServerManagementStudio”的【对象资源管理器】中展开【数据库】,然后再展开要在其中建表的数据库文
3、件,再展开【表】和相应的数据表,然后在【索引】上右击鼠标,选择【新建索引】,在新建索引对话框中设置【索引名称】、【索引类型】、【唯一】及【索引键列】,就可以完成索引的创建,或者在查询编辑器中输入CREATEINDEX语句也可以实现给表创建索引。建立索引的常用命令格式为:CREATE[UNIQUE][CLUSTERED
4、NONCLUSTERED]INDEX<索引名>ON<表名>(<列名>[<次序>][,<列名>[<次序>]]…);其中,<表名>指定要建索引的基本表名字,索引可以建立在该表的一列或多列上,各列名之间用逗号分隔,用<次序>指定索引值的排列次序,升序:ASC,降序:DESC。缺省值
5、为ASC。UNIQUE表明此索引的每一个索引值只对应唯一的数据记录。CLUSTERED表示要建立的索引是聚集索引。NONCLUSTERED表示要建立的索引为非聚集索引。注意:(1)每张表只能有一个聚集索引,并且应该最先建立。(2)创建索引所需要的空间来自用户数据库,所以要保证要有足够的空间创建聚集索引。(3)为一个表的创建主键字段和UNIQUE字段约束后所会自动生成相应的索引。(4)默认设置时不是建立聚集索引,而是建立的非聚簇索引。一个表中最多可以创建249个非聚集索引。建立索引时,不选参数CLUSTERED,则建立的是非聚集索引,表的物理顺序与索引顺序不一致,表中的数据没有按照索引的顺序
6、而排列,索引是由具有层次性的索引页面组成的。2.索引的修改T-SQL语言中提供了ALTERINDEX语句来修改索引,其主要代码为:ALTERINDEX{index_name
7、ALL}--指定索引名或所有索引ON[database_name].table_or_viewname--指定数据表或视图{REBUILD--重新生成索引[[WITH(PAD_INDEX={ON
8、OFF}--设置是否使用索引填充
9、FILLFACTOR=fillfactor--设置填充因子大小
10、SORT_IN_TEMPDB={ON
11、OFF}--是否在tempdb数据库中存储临时排序结果
12、IGNORE_DUP_KEY={O
13、N
14、OFF}--是否忽略重复的值
15、STATISTICS_NORECOMPUTE={ON
16、OFF}--设置是否自动计算统计信息第4页共4页
17、ALLOW_ROW_LOCKS={ON
18、OFF}--在访问索引时使用行锁
19、ALLOW_PAGE_LOCKS={ON
20、OFF}--在访问索引时使用列锁
21、MAXDOP=max_degree_of_parallelism--设置最大并并行数[,…n])]]]
22、DISABLE--禁用索引
23、REORGANIZE--重新组织的索引叶级[PARTITION=partition_number]--重新生成或重新组织索引的一个分区[WITH(LOB_COMPACTION=
24、{ON
25、OFF})]--压缩包含大型对象数据的页SET(ALLOW_ROW_LOCKS={ON
26、OFF}--在访问索引时使用行锁
27、ALLOW_PAGE_LOCKS={ON
28、OFF}--在访问索引时使用页锁
29、IGNORE_DUP_KEY={ON
30、OFF}--设置是否忽略重复的值
31、STATISTICS_NORECOMPUTE={ON
32、OFF}--设置是否自动计算统计信息[,...n])}3.索引的删除索引建立之后,就由系统使