欢迎来到天天文库
浏览记录
ID:9019076
大小:21.50 KB
页数:4页
时间:2018-04-15
《建立索引的目的有以下几点》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、建立索引的目的有以下几点:(1)加速数据检索(2)加速连接、ORDERBY和GROUPBY等操作(3)查询优化器依赖于索引起作用(4)强制实行的惟一性在哪些列上建索引主键通常,检索、存取表是通过主键来进行的。因此,应该考虑在主键上建立索引。连接中频繁使用的列用于连接的列若按顺序存放,系统可以很快地执行连接。如外键,除用于实现参照完整性外,还经常用于进行表的连接。在某一范围内频繁搜索的列和按排序顺序频繁检索的列根据数据库的功能,在SQLServer2000中可创建3种类型的索引,物理位置分:聚集索引,非聚集索引特殊性分:一般索引、惟一性索引、主键索引。1.
2、惟一性索引在表中建立惟一性索引时,组成该索引的字段或字段组合在表中具有惟一值,也就是说,对于表中的任何两行记录来说,索引键的值都是各不相同。2.主键索引表中通常有一个字段或一些字段组的合,其值用来惟一标识表中的每一行记录,该字段或字段组合称为表的主键。3.聚集索引在聚集索引中,表中各记录的物理顺序与键值的逻辑(索引)顺序相同。只有在表中建立了一个聚集索引后,数据才会按照索引键值指定的顺序存储到表中。由于一个表中的数据只能按照一种顺序来存储,所以在一个表中只能建立一个聚集索引。视图的作用视图通常用来集中、简化和自定义每个用户对数据库的不同认识。视图可用作安
3、全机制,方法是允许用户通过视图访问数据,而不授予用户直接访问视图基础表的权限。(1)简化操作(2)定制数据(3)导出数据(4)安全性通过视图添加表数据语法格式:INSERTINTO视图名VALUES(列值1,列值2,列值3,…,列值n)例7-9在goods表中建立一个视图,利用视图插入一行数据。CREATEVIEWgoods_viewASSELECTgoods_id,goods_name,classification_id,unit_price,stock_quantityFROMgoodsWHERE(classification_id='P001')I
4、NSERTINTOgoods_viewVALUES('G0008','SONYDVD','P002',400,10)将视图goods_view中商品号为’G00002’的商品名改为“IBMR61”。UPDATEgoods_viewSETgoods_name='IBMR61'WHEREgoods_id=‘G00002’;若视图定义包含了计算列,该视图的计算列是不可更新的.尽管视图不一定包含基础表的所有列,但可以通过视图删除基础表的数据行。例7-10:deletefromgoods_viewWheregoods_name=‘IBMR51’若通过视图要删除的数
5、据行不包含在视图定义中,该数据行不能成功删除。例7-10-1deletefromgoods_viewWheregoods_id='G00004'若删除语句的条件中指定的列是视图中未包含的列,则无法通过视图删除基表数据行7-10-2deletefromgoods_viewWhereorder_quantity=5实体完整性,域完整性,参照完整性,用户定义的完整性是怎么实现的创建雇佣日期规则hire_date_rule。CREATERULEhire_date_ruleAS@hire_date>='1980-01-01'and@hire_date<=getda
6、te()将例8-1创建的规则hire_date_rule绑定到employee表的hire_date列上。EXECsp_bindrulehire_date_rule,'employee.hire_date'解除例8-6和例8-7绑定在employee表的hire_date列和用户定义数据类型pat_char上的规则。EXECsp_unbindrule'employee.hire_dateEXECsp_unbindrule‘pat_char’,'futureonly‘删除例8-1和8-2中创建的规则。DROPRULEsex_rule,hire_date_r
7、ule创建当前日期默认值today_defa。CREATEDEFAULTtoday_defaASgetdate()查看默认值today_defa。EXECsp_helptexttoday_defa例8-14绑定默认值today_defa到employee表的hire_date列上。EXECsp_bindefaulttoday_defa,'employee.hire_date'解除默认值today_defa与表employee的hire_date列的绑定。EXECsp_unbindefault'employee.hire_date'删除生日默认值birth
8、day_defa。DROPDEFAULTbirthday_defa根据商品销售的
此文档下载收益归作者所有