《网络数据库开发技术》全套PPT电子课件教案-第5章 数据库对象的操作.ppt_第1页
《网络数据库开发技术》全套PPT电子课件教案-第5章 数据库对象的操作.ppt_第2页
《网络数据库开发技术》全套PPT电子课件教案-第5章 数据库对象的操作.ppt_第3页
《网络数据库开发技术》全套PPT电子课件教案-第5章 数据库对象的操作.ppt_第4页
《网络数据库开发技术》全套PPT电子课件教案-第5章 数据库对象的操作.ppt_第5页
已阅读5页,还剩112页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第5章 数据库对象的操作 5.1 数据类型 5.2 表操作 5.3 视图操作 5.4 索引操作 n主要内容: n介绍各种数据库对象的操作方法。 5.1 数据类型 n5.1.1 系统数据类型 n5.1.2 自定义数据类型 5.1.1 系统数据类型 1. 整型数据类型 2. 浮点数据类型 3. 字符数据类型 4. 日期和时间数据类型 5. 文本和图形数据类型 6. 货币数据类型 7. 位数据类型 8. 二进制数据类型 9. 特殊数据类型 10. 新增数据类型 1. 整型数据类型 n整型数据类型是最常用的数据类型之一,它主 要用来存储数值,可以直接进行数据运算,而不 必使用函数转换。 nint(integer):int(或integer)数据类型可以 存储从-231(-2,147,483,648)到231-1(2, 147,483,647)范围之间的所有正负整数。 nsmallint:可以存储从-215(-32,768)到215-1 范围之间的所有正负整数 。 ntinyint:可以存储从0到255范围之间的所有正 整数。 2. 浮点数据类型 n浮点数据类型用于存储十进制小数。浮点数 值的数据在sql server中采用只入不舍的方式进 行存储 。 nreal:可以存储正的或者负的十进制数值, 最大可以有7位精确位数。 nfloat:可以精确到第15位小数,其范围从- 1.79e-308到1.79e+308。 ndecimal和numeric:decimal数据类型和 numeric数据类型完全相同,它们可以提供小数所 需要的实际存储空间,但也有一定的限制,可以 用2到17个字节来存储从-1038-1到1038-1之间的数 值。 3. 字符数据类型 n字符数据类型可以用来存储各种字母、数字 符号和特殊符号。 n char:其定义形式为char(n),每个字符和 符号占用一个字节的存储空间。 nvarchar:其定义形式为varchar(n)。用char 数据类型可以存储长达255个字符的可变长度字 符串 。 nnchar:其定义形式为nchar(n)。 nnvarchar:其定义形式为nvarchar(n)。 4. 日期和时间数据类型 ndatetime:用于存储日期和时间的结合 体 。它可以存储从公元1753年1月1日零时 起到公元9999年12月31日23时59分59秒之 间的所有日期和时间 。 nsmalldatetime:与datetime数据类型类似 ,但其日期时间范围较小,它存储从1900 年1月1日到2079年6月6日内的日期。 5. 文本和图形数据类型 n text:用于存储大量文本数据,其容量理论 上为1到231-1(2,147,483,647)个字节,但 实际应用时要根据硬盘的存储空间而定。 n ntext:与text数据类型类似,存储在其中的 数据通常是直接能输出到显示设备上的字符,显 示设备可以是显示器、窗口或者打印机。 nimage:用于存储照片、目录图片或者图画, 其理论容量为231-1(2,147,483,647)个字节 。 6. 货币数据类型 nmoney:用于存储货币值,存储在money数据类 型中的数值以一个正数部分和一个小数部分存储在 两个4字节的整型值中,存储范围为- 922337213685477.5808到922337213685477.5808,精 度为货币单位的万分之一。 nsmallmoney:与money数据类型类似,但其存储 的货币值范围比money数据类型小,其存储范围为- 214748.3468到214748.3467。 7. 位数据类型 nbit:称为位数据类型,其数据有两 种取值:0和1,长度为1字节。 8. 二进制数据类型 nbinary:其定义形式为binary(n),数据的存储 长度是固定的,即n+4字节,当输入的二进制数 据长度小于n时,余下部分填充0。 n varbinary:其定义形式为varbinary(n),数据 的存储长度是变化的,它为实际所输入数据的长 度加上4字节。其它含义同binary。 9. 特殊数据类型 ntimestamp:亦称时间戳数据类型,它提供数 据库范围内的唯一值,反应数据库中数据修改的 相对顺序,相当于一个单调上升的计数器。 uniqueidentifier:用于存储一个16字节长的二进 制数据类型,它是sql server根据计算机网络适 配器地址和cpu时钟产生的唯一号码而生成的全 局唯一标识符代码(globally unique identifier, 简写为guid)。 10. 新增数据类型 nbigint:用于存储从-263(-9,223,372,036 ,854,775,807)到263-1(9,223,372,036 ,854,775,807)之间的所有正负整数。 n sql_variant:用于存储除文本、图形数据和 timestamp类型数据外的其它任何合法的sql server数据。 ntable:用于存储对表或者视图处理后的结果 集。这种新的数据类型使得变量可以存储一个表 ,从而使函数或过程返回查询结果更加方便、快 捷。 5.1.2 自定义数据类型 n1. 使用企业管理器(enterprise manager)创 建用户自定义数据类型。 n2. 利用系统存储过程创建用户自定义数据类 型 。 n系统存储过程sp_addtype为用户提供了t_sql 语句创建自定义数据类型的途径,其语法形式如 下: nsp_addtype typename= type, nphystype= system_data_type n, nulltype= null_type n, owner= owner_name n例子5-1:自定义一个地址数据类型。 nexec sp_addtype address, varchar(80), not null n其运行结果如下: n(1 row(s) affected) ntype added. 例子5-2:删除自定义的生日数据类型。 nexec sp_droptype birthday n其运行结果如下: n(1 row(s) affected) n(0 row(s) affected) ntype has been dropped. 5.2 表操作 5.2.1 创建表 5.2.2 增加、删除和修改字段 5.2.3 创建、删除和修改约束 5.2.4 查看表格 5.2.1 创建表 n在sql server 2000中,每个数据库中最多可以 创建200万个表,用户创建数据库表时,最多可以 定义1024列,也就是可以定义1024个字段。 n sql server 2000提供了两种方法创建数据库表 ,第一种方法是利用企业管理器(enterprise manager)创建表;另一种方法是利用transact- sql语句中的create命令创建表。 1. 利用enterprise manager创建表 n在enterprise manager中,展开指定的服务器和数 据库,打开想要创建新表的数据库,用右键单击表 对象,从弹出的快捷菜单中选择新建表选项,或者 在工具栏中选择图标,就会出现新建表对话框,在 该对话框中,可以定义列的以下属性:列名称、数 据类型、长度、精度、小数位数、是否允许为空、 缺省值、标识列、标识列的初始值、标识列的增量 值和是否有行的标识。 然后根据提示进行设置。 2. 利用create命令创建表 n其语法形式如下: ncreate table database_name. owner .| owner. table_name ( | column_name as computed_column_expression| n ,n) on filegroup | default 创建表的各参数的说明如下: database_name:用于指定在其中创建表的数据库名 称。 owner:用于指定新建表的所有者的用户名 。 table_name:用于指定新建的表的名称。 column_name:用于指定新建表的列的名称。 computed_column_expression:用于指定计算列的列 值的表达式。 on filegroup | default:用于指定存储表的文件 组名。 textimage_on:用于指定 text、ntext 和 image 列 的数据存储的文件组。 data_type:用于指定列的数据类型 。 default:用于指定列的缺省值。 constant_expression:指定列的缺省值的常量表达式 。 identity:用于指定列为标识列。 seed:用于指定标识列的初始值。 increment:用于指定标识列的增量值。 not for replication:用于指定列的identity 属性在把从其它表中复制的数据插入到表中时不发生作 用,即不足的生成列值,使得复制的数据行保持原来的 列值。 rowguidcol:用于指定列为全球唯一鉴别行号列 。 collate:用于指定表使用的校验方式。 column_constraint和table_constraint:用于指定列约束 和表约束。 例子5-3:创建了一个雇员信息表 ncreate table employee n( number int not null, n name varchar(20) not null, n sex char(2) null, n birthday datetime null, n hire_date datetime not null n default (getdate() n professional_title varchar(10) null, n salary money null, n memo ntext null) 5.2.2 增加、删除和修改字段 n利用企业管理器增加、删除和修改字段 。 在企业管理器中,打开指定的服务器中要修改表 的数据库,用右键单击要进行修改的表,从弹出 的快捷菜单中选择设计表选项,则会出现设计表 对话框,在该对话框中,可以利用图形化工具完 成增加、删除和修改字段的操作。 n 利用transact-sql语言中的alter table命令 增加、删除和修改字段。 利用transact-sql语言中的alter table命令增 加、删除和修改字段的参数 table:用于指定要修改的表的名称。 alter column:用于指定要变更或者修改数据类型的 列。 column_name:用于指定要更改、添加或删除的列的名称。 new_data_type:用于指定新的数据类型的名称。 precision:用于指定新的数据类型的精度。 scale:用于指定新的数据类型的小数位数。 null | not null:用于指定该列是否可以接受空值。 add | drop rowguidcol :用于指定在某列上添加 或删除 rowguidcol 属性。 add:用于指定要添加一个或多个列定义、 计算列定义或者表约束。 computed_column_expression:用于指定一个 计算列的计算表达式。 with check | with nocheck:用于 指定已经存在于表中的数据是否需要使用新添加 的或者刚启用的 foreign key 或 check 约束 进行验证。 drop constraint constraint_name | column column_name :用于指定从表中删除 的约束或者列的名称。 check | nocheck constraint:用于指定 启用或禁用foreign key或者check约束。 all :用于指定使用 nocheck 选项禁用所有的 约束,或者使用 check 选项启用所有约束。 enable | disable trigger:用于指定启用 或禁用触发器。当一个触发器被禁用时,它对表的定 义依然存在;然而,当在表上执行 insert、update 或 delete 语句时,触发器中的操作将不执行,除非 重新启用该触发器。 all :用于指定启用或禁用表中所有的触发器。 trigger_name :指定要启用或禁用的触发器名称。 例5-4:创建了一个雇员信息表 n其sql语句的程序清单如下: ncreate table employees( nid char(8) primary key nname char(20) not null, ndepartment char(20) null, nmemo char(30) null nage int null) nalter table employees n add salary int null n drop column age nalter column memo varchar(200) null 5.2.3 创建、删除和修改约束 (选读) n在sql server 2000中有5种约束: 主键约束(primary key constraint) 唯一性约束(unique constraint) 检查约束(check constraint) 缺省约束(default constraint) 外部键约束(foreign key constraint) 1. 主键约束 n主键的添加、删除和修改操作方法有两种: n(一)企业管理器操作法,在企业管理器中, 用右键单击要操作的数据库表,从弹出的快捷菜 单中选择设计表选项 ,然后根据提示操作。 n(二)transact-sql语句操作法。 n其语法形式如下: nconstraint constraint_name n primary key clustered|nonclustered n (column_name,n) 主键约束各参数的说明如下 constraint_name:用于指定约束的名称 ,约束的名称在数据库中应该是唯一的。 如果不指定,则系统会自动生成一个约束 名。 lustered|nonclustered:用于指 定索引的类型,即聚簇索引或者非聚簇索 引,clustered为默认值。 column_name:用于指定主键的列名。 主键最多由16个列组成。 例子5-5 n在执行创建产品信息表的操作时,指定产品编号 为主键值,并且创建一个聚簇索引。 ncreate table products( nid char(10) not null, nname char(20) not null nprice money default 0.01 nquantity smallint null nconstraint pk_id primary key clustered (id) 2. 唯一性约束 唯一性约束用于指定一个或者多个列的组合的 值具有唯一性,以防止在列中输入重复的值。当 使用唯一性约束时,需要考虑以下几个因素: 使用唯一性约束的字段允许为空值。 一个表中可以允许有多个唯一性约束。 可以把唯一性约束定义在多个字段上。 唯一性约束用于强制在指定字段上创建一个 唯一性索引。 缺省情况下,创建的索引类型为非聚簇索 引。 创建和修改唯一性约束的 操作方法 n创建和修改唯一性约束的操作方法有两种: n(一)企业管理器操作法,通过企业管理器 可以完成创建和修改唯一性约束的操作。 n(二)transact-sql语句操作法。 nconstraint constraint_name n unique clustered|nonclustered n(column_name,n) 3. 检查约束 n一个列级检查约束只能与限制的字段有关; 一个表级检查约束只能与限制的表中字段有关。 n一个表中可以定义多个检查约束。 n每个create table语句中每个字段只能定 义一个检查约束。 n在多个字段上定义检查约束,则必须将检查 约束定义为表级约束。 n当执行insert语句或者update语句时,检 查约束将验证数据。 n检查约束中不能包含子查询。 创建检查约束常用的操作方法 有两种: n1.企业管理器操作法。使用企业管理器创建 检查约束,与创建唯一性约束类似 。 n2.transact-sql语句操作法。检查约束的 transact-sql语句操作法,其语法形式如下: nconstraint constraint_name n check not for replication n (logical_expression) 例子5-6: n创建了一个学生信息表,其中输入性别字段值时,只 能接受“f”或者“m”,并且为phonenum字段创建检查约束 ,限制只能输入类似01080798654之类的数据,而不能随 意输入其他数据。 ncreate table student( nid char(8) nname char(8) nsex char(2) nphonenum int nconstraint chk_sex check(sex in( f,m) nconstraint chk_phonenum check n(phonenum like (010)0-90-90-90 -9 0-90-90-90-9) 4. 缺省约束 n使用缺省约束时,应该注意以下几点: 每个字段只能定义一个缺省约束。 如果定义的缺省值长于其对应字段的允许 长度,那么输入到表中的缺省值将被截断。 不能加入到带有identity属性或者数据 类型为timestamp的字段上。 如果字段定义为用户定义的数据类型,而 且有一个缺省绑定到这个数据类型上,则不 允许该字段有缺省约束。 4. 外部键约束 n外部键约束用于强制参照完整性,提供单 个字段或者多个字段的参照完整性。当使用 外部键约束时,应该考虑以下几个因素: 外部键约束提供了字段参照完整性。 外部键从句中的字段数目和每个字段指 定的数据类型必须和references从句中的 字段相匹配。 外部键约束不能自动创建索引,需要用 户手动创建。 用户想要修改外部键约束的数据,必 须有对外部键约束所参考表的select权限 或者references权限。 参考同一表中的字段时,必须只使用 references子句,不能使用外部键子句 。 一个表中最多可以有31个外部键约束 。 在临时表中,不能使用外部键约束。 主键和外部键的数据类型必须严格匹 配。 5.2.4 查看表格 n1.查看表格的定义 n2. 查看表格中的数据 n3. 查看表格与其它数据库对象的依赖关系 例子5-7: n显示当前数据库中所有对象的信息; n显示表word的信息。在查询分析器( query analyzer)中它们对应的语句和运行 结果如图5-1(a)和图5-1(b)所示。 图5-1(a) 当前数据库对象显示窗口 图5-1(b) 表word显示窗口 5.2.5 删除表 n1. 利用企业管理器删除表 n在企业管理器中,展开指定的数据库和表格 项,用右键单击要删除的表,从快捷菜单中选择“ 除去表”选项,则会出现除去对象对话框。单击“全 部删除”按钮,即可删除表。 n2. 利用drop table语句删除表 ndrop table语句可以删除一个表和表中的 数据及其与表有关的所有索引、触发器、约束、许 可对象。drop table语句的语法形式如下: ndrop table table_name n5.3.1 创建视图 n5.3.2 修改和重命名视图 n5.3.3 查看视图信息、删除视图 n5.3.4 通过视图修改记录 5.3 视图操作 n视图是从一个或者多个表或视图中导出的表 ,其结构和数据是建立在对表的查询基础上的。 和真实的表一样,视图也包括几个被定义的数据 列和多个数据行,但从本质上讲,这些数据列和 数据行来源于其所引用的表。因此,视图不是真 实存在的基础表而是一个虚拟表,视图所对应的 数据并不实际地以视图结构存储在数据库中,而 是存储在视图所引用的表中。 视图的概念: 使用视图的优点和作用 可以使视图集中数据、简化和定制不同用户 对数据库的不同数据要求。 使用视图可以屏蔽数据的复杂性,用户不必 了解数据库的结构,就可以方便地使用和管理数据 ,简化数据权限管理和重新组织数据以便输出到其 他应用程序中。 视图可以使用户只关心他感兴趣的某些特定 数据和他们所负责的特定任务,而那些不需要的或 者无用的数据则不在视图中显示。 视图大大地简化了用户对数据的操作。 视图可以让不同的用户以不同的方式看到不同 或者相同的数据集。 在某些情况下,由于表中数据量太大,因此在 表的设计时常将表进行水平或者垂直分割,但表的 结构的变化对应用程序产生不良的影响。 视图提供了一个简单而有效的安全机制。 5.3.1 创建视图 创建视图时应该注意以下情况: 只能在当前数据库中创建视图。 如果视图引用的基表或者视图被删除,则该 视图不能再被使用,直到创建新的基表或者视图 。 如果视图中某一列是函数、数学表达式、常 量或者来自多个表的列名相同,则必须为列定义 名称。 不能在视图上创建索引,不能在规则 、缺省、触发器的定义中引用视图。 当通过视图查询数据时,sql server 要检查以确保语句中涉及的所有数据库对 象存在,而且数据修改语句不能违反数据 完整性规则。 视图的名称必须遵循标识符的规则, 且对每个用户必须是唯一的。此外,该名 称不得与该用户拥有的任何表的名称相同 。 1. 利用企业管理器创建视图 n图5-2 ,图5-3 ,5-4 ,图5-5 ,图5-6 ,图5-7,是利用企业管理器创建视图的具 体操作步骤,用户可根据图中提示创建视 图。 图5-2 选择新建视图选项对话框 图5-3 新建视图对话框 图5-4 添加表菜单 图5-5 添加表对话框 图5-6 选择视图字段对话框 图5-7 视图属性对话框 2. 利用create view命令创建视图 ncreate view . . view_name ( column ,.n ) with ,.n as select_statement with check option := encryption | schemabinding | view_metadata 使用create view创建视图的参数 view_name用于指定视图的名称,column用 于指定视图中的字段名称。 with encryption表示 sql server 加密 包含 create view 语句文本在内的系统表列 。 select_statement用于创建视图的select语 句,利用select命令可以从表中或者视图中 选择列构成新视图的列。 with check option用于强制视图上执 行的所有数据修改语句都必须符合由 select_statement 设置的准则。 schemabinding表示在 select_statement语句中如果包含表、视图或 者引用用户自定义函数,则表名、视图名 或者函数名前必须有所有者前缀。 view_ metadata表示如果某一查询 中引用该视图且要求返回浏览模式的元数 据时,那么sql server将向dblib和ole db apis返回视图的元数据信息。 n例子5-8:选择表student和teacher中的部分 字段和记录创建视图,并且限制表student中的 记录只能是名称为“张三”的记录集合,视图定 义为view_part: ncreate view view_part nas nselect , nstudent.age,student.sex, ,age,salary nfrom nstudent,teacher nwhere =张三 3. 利用向导创建视图 n图5-8 -图5-15 是利用向导创建视图 的具体步 骤。 图5-31 选择工具菜单中的向导命令 图5-9 欢迎使用创建视图向导对话框 图5-10 选择数据库对话框 图5-11 选择对象对话框 图5-12 选择字段对话框 图5-13 定义限制对话框 图5-14 命名视图对话框 图5-15 完成创建视图向导对话框 5.3.2 修改和重命名视图 n1. 修改视图 n(1)利用企业管理器 修改视图。 n(2)使用alter view语句修改视图 。 nalter view view_name n(column,.n) withencryption as select_statement with check option 2. 重命名视图 n(1)利用企业管理器重命名视图 。 n(2)可以使用系统存储过程sp_rename 修改视图的名称,该过程的语法形式如下 : nsp_rename old_name,new_name n例子5-9:把视图v_all重命名为v_part, 其程序清单如下: nsp_rename v_all,v_part 5.3.3 查看视图信息、删除视图 n1. 查看视图信息 n每当创建了一个新的视图后,则在系统说明的 系统表中就定义了该视图的存储,因此,可以使 用系统存储过程sp_help显示视图特征,使用 sp_helptext显示视图在系统表中的定义,使用 sp_depends显示该视图所依赖的对象。它们的语法 形式分别如下: n(1)sp_help 数据库对象名称 n(2)sp_helptext 视图(触发器、存储过程) n(3) sp_depends 数据库对象名称 使用sql server 查询分析器和企 业管理器来显示视图 n使用sql server 查询分析器(query analyzer )可以方便地显示视图信息,如图5-16所示,该对 话框显示了使用sp_helptext存储过程显示视图 v_employee的特征。 n另外,也可以使用企业管理器来显示视图的定 义,如图5-17所示。 n利用企业管理器也可以查看视图的输出数据, 如图5-18所示。 图5-16 显示视图信息对话框 图5-17 视图属性对话框 图5-18 视图输出数据窗口 2. 删除视图 n(1)使用企业管理器删除视图的操作方法为 如图5-19和图5-20所示。 n(2)使用transact-sql语句drop view删 除视图的语法形式如下: ndrop view view_name ,n n可以使用该命令同时删除多个视图,只需在 要删除的视图名称之间用逗号隔开即可。 n例子5-10:同时删除视图v_student和v_teacher ,其程序清单如下: ndrop view v_student,v_teacher 图5-19 除去对象对话框 图5-20 显示相关性对话框 5.3.4 通过视图修改记录 n使用视图修改数据时,需要注意以下几点: 修改视图中的数据时,不能同时修改两个或者多 个基表,可以对基于两个或多个基表或者视图的视 图进行修改,但是每次修改都只能影响一个基表。 不能修改那些通过计算得到的字段。 如果在创建视图时指定了with check option选项,那么所有使用视图修改数据库信息时 ,必须保证修改后的数据满足视图定义的范围。 执行update、delete命令时,所删除与更新 的数据必须包含在视图的结果集中。 如果视图引用多个表时,无法用delete命令删 除数据。 1. 插入数据记录 n例子5-11:首先创建了一个新的视图v_employees ,该视图基于表employees创建。 ncreate view v_employees(number, name, age, sex, salary) nas nselect number, name, age, sex, salary nfrom employees nwhere name=张三 n然后,通过执行以下语句使用该视图向表 employees中添加一条新的数据记录。 ninsert into v_employees nvalues(001,李力,22,m,2000) 2. 更新数据记录 n使用视图可以更新数据记录,但应该注意的是 ,更新的只是数据库中的基表。 n例子5-12:创建了一个基于表employees的视图 v_employees,然后通过该视图修改表employees中 的记录。其程序清单如下: ncreate view v_employees nas nselect * from employees nupdate v_employees nset name=张然 nwhere name=张三 3. 删除数据记录 n使用视图删除记录,可以删除任何基表中的 记录,直接利用delete语句删除记录即可。但 应该注意,必须指定在视图中定义过的字段来删 除记录。 n例子5-13:利用视图v_employees删除表 employees中姓名为张然的记录。其程序清单为: ndelete from v_employees nwhere name=张然 5.4 索引操作 5.4.1 创建索引 5.4.2 查看、修改和删除索引 一、什么叫索引 数据库中的索引与书籍中的索引类似,在一本书 中,利用索引可以快速查找所需信息,无须阅读整本 书。在数据库中,索引使数据库程序无须对整个表进 行扫描,就可以在其中找到所需数据。书中的索引是 一个词语列表,其中注明了包含各个词的页码。而数 据库中的索引是某个表中一列或者若干列值的集合和 相应的指向表中物理标识这些值的数据页的逻辑指针 清单。 二、索引的作用 通过创建唯一索引,可以保证数据记录的唯一 性。 可以大大加快数据检索速度。 可以加速表与表之间的连接,这一点在实现数 据的参照完整性方面有特别的意义。 在使用order by和group by子句中进行检 索数据时,可以显著减少查询中分组和排序的时间 。 使用索引可以在检索数据的过程中使用优化隐 藏器,提高系统性能。 聚集索引与非聚集索引 n聚集索引对表的物理数据页中的数据按列进行排 序,然后再重新存储到磁盘上,即聚集索引与数据 是混为一体的,它的叶节点中存储的是实际的数据 。聚集索引确定表中数据的物理顺序。类似于电话 簿。由于聚集索引规定数据在表中的物理存储顺序 ,因此一个表只能包含一个聚集索引。但该索引可 以包含多个列(组合索引)。 n非聚集索引具有完全独立于数据行的结构,使用 非聚集索引不用将物理数据页中的数据按列排序。 非聚集索引的叶节点存储了组成非聚集索引的关键 字值和行定位器。 5.4.1 创建索引 nsql server 2000创建索引的方法 n(1)利用企业管理器中的索引向导创建索引 。 n(2)利用企业管理器直接创建索引。 n(3)利用transact-sql语句中的create index命令创建索引。 n(4)利用企业管理器中的索引优化向导创建 索引。 1. 利用索引向导创建索引 n如图5-22 -图5-26 所示。 图5-47 欢迎使用创建索引向导对话框 图5-22 选择数据库和对象对话框 图5-23 显示当前索引信息对话框 图5-24 选择创建索引的列对话框 图5-25 指定索引选项对话框 图5-26 指定索引名称对话框 2. 利用企业管理器直接创建索引 n其具体步骤如下: n()在企业管理器中,展开指定的服务器和数 据库,选择要创建索引的表,用右键单击该表,从 弹出的快捷菜单中选择所有任务项的管理索引选项 (如图5-17所示),就会出现管理索引对话框,如 图5-28所示。在该对话框中,可以选择要处理的数 据库和表 。 n()单击“新建”按钮,则出现新建索引对话框 ,如图529所示。 n ()选择完成后单击“确定”按钮,即可生成 新的索引;单击“取消”按钮,则取消新建索引的操 作。 图5-27 选择管理索引选项对话框 图5-28 管理索引对话框 图5-29 新建索引对话框 3. 利用create index创建索引 n其语法形式如下: ncreate unique clustered| nonclustered nindex index_name on table | view ( column asc | desc ,.n ) nwith npad_index ,fillfactor=fillfactor,ignore_dup_ key ,drop_existing ,statistics_norecompute n,sort_in_tempdb n on filegroup 创建索引各参数说明如下: unique:用于指定为表或视图创建唯一索引,即 不允许存在索引值相同的两行。 clustered:用于指定创建的索引为聚集索引。 nonclustered:用于指定创建的索引为非聚 集索引。 index_name:用于指定所创建的索引的名称。 table:用于指定创建索引的表的名称。 view:用于指定创建索引的视图的名称。 asc|desc:用于指定具体某个索引列的升序或降 序排序方向。 column:用于指定被索引的列。 pad_index:用于指定索引中间级中每个页(节 点)上保持开放的空间。 fillfactor = fillfactor:用于指定在创建索引时,每个 索引页的数据占索引页大小的百分比,fillfactor的值为1到100 。 ignore_dup_key:用于控制当往包含于一个唯一聚集 索引中的列中插入重复数据时sql server所作的反应。 drop_exis

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论