文档详情

第6章 创建和管理数据库对象.ppt

发布:2017-05-25约8.89千字共84页下载文档
文本预览下载声明
第6章 创建和管理数据库对象 计算机系 胡骏 数据库的对象 数据库的对象包括索引、视图、触发器、存储过程、关系图、用户定义的数据类型、用户定义的函数。 索引?加快查询速度 视图?控制用户对数据的访问 触发器?对表进行插入、更改、删除操作时自 动运行的命令 存储过程?完成特定功能的命令。 用户定义的数据类型?丰富数据类型的种类,方面用户使用 用户定义的函数?灵活的为各种计算提供函数支持。 6.1 创建和管理索引 SQL 访问表中数据的方式: ①表扫描方式 ②遍历索引 SQL 访问表中数据的方式 使用索引的优缺点 优点:加快查询搜索数据的速度 缺点:若对索引列上数据进行删除、更新、插入操作所耗费的时间比没有索引时要长。 结论:小心设定索引。 6.1.1 索引的设计原则和索引类型 1. 索引设计原则: ⑴创建索引对精确查询、范围查询、以及外键约束都是有利的。 ⑵一个表中有较多索引,影响数据的添加、更新、删除时的性能。 ⑶小型表不需要索引,因为遍历表所花费的时间会比遍历索引短。 6.1.1 索引的设计原则和索引类型 ⑷在频繁搜索的字段上建立索引: ①主键 ②外键 ③经常进行范围搜索、精确搜索的字段 ④按关键字排序的字段 6.1.1 索引的设计原则和索引类型 ⑸不需要索引的字段 ①查询中很少涉及的字段 ②有大量重复值的字段 ③更新性能比查询性能更重要的列 ④定义TEXT、NTEXT或IMAGE数据类型的字段 ⑹对外键创建索引时先创建聚集索引在创建非聚集索引。 6.1.1 索引的设计原则和索引类型 2.索引的类型 聚集索引:基于数据行的键值在表内排序和存储这些数据行。 非聚集索引:具有完全独立于数据行的结构。非聚集索引的最低行包含非聚集索引的键值,并且每个键值项都有指针指向包含该键值的数据行。 何时使用聚集索引或非聚集索引 测试聚集索引和非聚集索引性能 现搭建好测试平台:学生基本情况表中有100万条记录。 运行程序:select * from 学生基本情况表 where 出生日期‘1980-3-20’ ①当在出生日期上建立非聚集索引时 用时:53763毫秒(54秒) ②当在出生日期上建立聚集索引时 用时:2423毫秒(2秒) 想一想为什么? 怎样测量查询时间? declare @d datetime set @d=getdate() select * from 学生基本情况表 where 出生日期‘1980-3-20‘ select [执行时间(毫秒)]=Datediff (ms,@d,getdate()) 6.1.2 创建索引 1 索引向导 2 企业管理器 3 查询分析器 4 企业管理器中索引优化向导 利用T-SQL语言创建、查看、修改索引 创建索引语法格式: CREATE [ UNIQUE ] [ CLUSTERED |NONCLUSTERED ] INDEX index_name ON { table | view } 查看索引语法格式: sp_helpindex table_name 修改索引名称 sp_rename old_index_name, new_index_name, ‘index’ 删除索引 drop index index_name 利用T-SQL语言创建、查看、修改索引 在学生基本情况表中对学号建立聚集索引 Create clustered index xs_聚集 on 学生基本情况(学号) 把上述索引名称改为学生索引 sp_rename ‘学生基本情况表.xs_聚集’,’学生索引’, ‘index’ 查看学生基本情况表中索引信息 sp_helpindex 学生基本情况表 删除学生索引 drop index 学生基本情况表.学生索引 6.2 创建和管理视图 视图作为一种基本的数据库对象,是查询一个表或多个表的另一种方法,它是通过把预先定义的查询存储在数据库中,然后就可以再查询语句中调用它。 提示: ①对于查询的表我们把它叫做基表 ②视图来自于一个基表还是几个基表对视图中的操作有绝对的影响 6.2.1 视图 1.视图的概念 是一种虚拟的表或存储查询,它只包含表的一部分,其内容有查询需求定义。 2.视图的作用 ①返回用户需要的数据 ②是数据库查询简便直观 ③方便数据的导出 ④实现对创建视图的内部表进行数据修改 6.2.2 创建视图 1.使用企业管理器创建视图 见录像 2.使用T-SQL语言创建视
显示全部
相似文档