首页计算机计算机软件SQLServer2005数据库技术及应用 07 第7章 表的管理与使用.pptx

07 第7章 表的管理与使用.pptx

页数:20页文件大小:723.2 KB来源: SQLServer2005数据库技术及应用ppt课件

本章围绕数据表的管理展开,介绍用CREATE TABLE创建表、DROP TABLE删除表、ALTER TABLE修改列、SP_RENAME重命名表的写法,以及用SP_HELP、SP_SPACEUSED、SP_DEPENDS查看表属性与依赖关系的方法,最后说明簇集索引、非簇集索引与主XML索引的作用及其创建与删除语句。

第7章表的管理与使用章封面,源文件仅提取到书名页眉,章标题据次页目录补全
第7章表的管理与使用目录页,列出创建表、删除表、修改表定义、重命名与查看属性等六节
7.1创建表格的要点列表,SQLServer的每个数据库最多可存储20亿个表,每个表可以有1024列。表的行数及总大小仅受可用存储空间的限制
查看本课件的文字版(共 20 页,供检索与复制)

第1页:第7章表的管理与使用

数据库技术及应用

第2页:第7章目录:表的管理

第7章表的管理与使用

  • 7.1创建表格
  • 7.2删除表格
  • 7.3修改表格定义
  • 7.4表格重命名
  • 7.5查看表格属性
  • 7.6表格索引

第3页:7.1创建表格

7.1创建表

  • SQLServer的每个数据库最多可存储20亿个表,每个表可以有1024列。表的行数及总大小仅受可用存储空间的限制。每行最多可以存储8060字节。如果创建具有varchar、nvarchar或varbinary列的表,则即使列的字节总数超过8,060字节,仍可以创建此表。
  • SQLServer中的数据表分为永久表和临时表两种。永久表在创建后,除非用户删除,否则将一直存储在数据库文件中;而临时表则会在用户退出或者进行系统修复的时候被自动删除。
SQLServer2005提供了两种方法创建数据库表:一种方法是利用T-SQL语句中的create命令创建表;另一种方法是利用SQLServerManagementStudio创建表。

第4页:创建表格(续)

7.1创建表7.1.1使用T-SQL语言创建表使用CREATETABLE创建表的语法结构如下:CREATETABLE[database_name.[owner].|owner.]table_name({<column_definition>|column_nameAScomputed_column_expression|<table_constraint>}[,…n])[ON{filegroup|DEFAULT}]<column_definition>::={column_namedata_type}[[DEFAULTconstant_expression]|[IDENTITY[(seed,increment)[NOTFORREPLICATION]]]][ROWGUIDCOL][<column_constraint>][...n]

第5页:参数说明

参数说明:

database_name
用于指定在其中创建表的数据库名称。
owner
用于指定新建表的所有者的用户名。
table_name
用于指定新建的表的名称。
<column_definition>
列的定义。
column_name
用于指定新建表的列的名称。
computed_column_expression
用于指定计算列的列值的表达式。
ON{filegroup|DEFAULT}
用于指定存储表的文件组名。
data_type
用于指定列的数据类型。
DEFAULT
用于指定列的缺省值。
constant_expression
用于指定列的缺省值的常量表达式。
IDENTITY
用于指定列为标识列。
Seed
用于指定标识列的初始值。
Increment
用于指定标识列的增量值。
NOTFORREPLICATION
用于指定列的IDENTITY属性在把从其它表中复制的数据插入到表中时不发生作用,即不自动生成列值,使得复制的数据行保持原来的列值。
ROWGUIDCOL
用于指定列为全球唯一鉴别行号列。
column_constraint:用于指定列约束,如NULL,NOTNULL和PRIMARY等,与约束有关的内容可以参阅本书第12章相关内容。 table_constraint:定义对表的约束。

第6页:【例7.1】创建teacher表

7.1创建表【例7.1】在SCHOOL数据库中创建一张teacher表。USESCHOOLGOCREATETABLEteacher(t_idchar(8),t_namechar(10)notnull,ageint,sexchar(4),addresschar(20)null)GO

第7页:创建teacher表的语句

7.1创建表【例7.1】在SCHOOL数据库中创建一张teacher表。USESCHOOLGOCREATETABLEteacher(t_idchar(8),t_namechar(10)notnull,ageint,sexchar(4),addresschar(20)null)GO7.1.2使用SQLServerManagementStudio创建表

第8页:【例7.2】将SCHOOL数据库

7.2删除表7.2.1使用T-SQL删除表使用T-SQL删除表的语法结构如下:DROPTABLEtable_name【例7.2】将SCHOOL数据库中的student表删除。USESCHOOLGODROPTABLEstudentGO7.2.2使用SQLServerManagementStudio删除表

第9页:【例7.3】给SCHOOL数据库

7.3修改表定义数据表创建以后,如果发现有属性设置不合适的对方可以对表进行修改。修改表可以通过T-SQL或者SQLServerManagementStudio来实现。【例7.3】给SCHOOL数据库中的teacher表添加一列。USESCHOOLGOALTERTABLEteacherADDtele_numberchar(11)

第10页:【例7.4】将SCHOOL数据库

7.3修改表定义【例

7.4】将SCHOOL数据库中teacher表的address字段数据类型改为varchar(30)。USESCHOOLGOALTERTABLEteacherALTERCOLUMNaddressvarchar(30)【例 7.5】将SCHOOL数据库中teacher表的tele_number字段删除。USESCHOOLGOALTERTABLEteacherDROPCOLUMNtele_number7.3.2使用SQLServerManagementStudio修改表的定义

第11页:【例7.6】将SCHOOL数据库

7.4表重命名7.4.1使用T-SQL为表重命名使用系统存储过程SP_RENAME为表重命名的语法结构如下:SP_RENAMEold_table_name,new_table_name【例7.6】将SCHOOL数据库中teacher表重新命名为“教师表”。USESCHOOLGOSP_RENAMEteacher,教师表GO7.4.2使用SQLServerManagementStudio为表重命名

第12页:【例7.7】使用SP_HELP查看

7.5查看表属性7.5.1使用存储过程SP_HELP查看表有关属性系统存储过程SP_HELP可以查看系统表中与表和表中数据有关的信息,语法结构如下:SP_HELPtable_name【例7.7】使用SP_HELP查看JWGL数据库中student表的相关信息。USEJWGLGOSP_HELPstudentGO

第13页:【例7.8】使用SP_SPACEUSED

7.5查看表属性7.5.2使用存储过程SP_SPACEUSED查看存储空间信息使用存储过程SP_SPACEUSED可以查看表的行数以及表所用的存储空间信息,语法结构如下:SP_SPACEUSEDtable_name【例7.8】使用SP_SPACEUSED查看JWGL数据库中student表的相关信息。USEJWGLGOSP_SPACEUSEDstudentGO

第14页:【例7.9】使用SP_DEPENDS查看

7.5查看表属性7.5.3使用系统存储过程SP_DEPENDS查看表的相关性关系SQLServer的数据库对象之间常常存在一些相关性关系,比如视图建立的基础表,存储过程的建立所引用的相关表等。语法结构如下:SP_DEPENDStable_name【例7.9】使用SP_DEPENDS查看JWGL数据库中teacher表的相关性关系。USEJWGLGOSP_DEPENDSteacherGO

第15页:7.6表格索引

7.6表索引7.6.1索引的概念与作用数据库中的索引与书籍中的索引类似,在一本书中,利用索引可以快速查找所需信息,无须阅读整本书。在数据库中,索引使数据库程序无须对整个表进行扫描,就可以在其中找到所需数据。书中的索引是一个章节列表,其中注明了各个章节的页码。而数据库中的索引是某个表中一列或者若干列值的集合和相应的指向表中物理标识这些值的数据页的逻辑指针清单。创建索引主要有以下几个作用:1、通过创建唯一索引,可以保证数据记录的唯一性。2、可以大大加快数据检索速度。3、可以加速表与表之间的连接,这一点在实现数据的参照完整性方面有特别的意义。在使用ORDERBY和GROUPBY子句中进行检索数据时,可以显著减少查询中分组和排序的时间。4、建立索引有利也有弊,它可以提高查询速度,但过多地建立索引会占据大量的磁盘空间。所以在建立索引时,数据库管理员必须权衡利弊,让索引带来的利大于弊。

第16页:7.6.1索引的概念与作用

7.6.1索引的概念与作用SQLServer提供了三种形式的索引,一种是簇集索引,另一种是非簇集索引,还有一个是主XML索引。

簇集索引
根据键值对行进行排序,所以每个表只能有一个簇集索引。
非簇集索引
不根据键值排序,索引数据结构与数据行是分开的。由于非簇集索引的表没有按顺序进行排列,所以查找速度明显低于带簇集索引的表。
主XML索引
XML数据文件中,元素名将返复出现,这必然会影响到查询的效率。为了尽可能地提高XML的查询效率,SQLServer2005为XML类型提供了索引功能。

第17页:索引的概念与作用(续)

7.6.1索引的概念与作用SQLServer提供了三种形式的索引,一种是簇集索引,另一种是非簇集索引,还有一个是主XML索引。

簇集索引
根据键值对行进行排序,所以每个表只能有一个簇集索引。
非簇集索引
不根据键值排序,索引数据结构与数据行是分开的。由于非簇集索引的表没有按顺序进行排列,所以查找速度明显低于带簇集索引的表。
主XML索引
XML数据文件中,元素名将返复出现,这必然会影响到查询的效率。为了尽可能地提高XML的查询效率,SQLServer2005为XML类型提供了索引功能。

第18页:7.6.2索引的创建

7.6.2索引的创建1.使用T-SQL创建表索引使用T-SQL创建表索引的语法结构如下:CREATE[UNIQUE][CLUSTERED|NONCLUSTERED|PRIMARYXML]INDEXindex_nameON{table|view}(column[ASC|DESC][,...n])参数说明:
UNIQUE
用于指定为表或视图创建唯一索引,即不允许存在索引值相同的两行。
CLUSTERED
用于指定创建的索引为聚集索引。
NONCLUSTERED
用于指定创建的索引为非聚集索引。
PRIMARYXML
用于指定创建的索引为主XML索引。
index_name
用于指定所创建的索引的名称。
table
用于指定创建索引的表的名称。
view
用于指定创建索引的视图的名称。
ASC|DESC
用于指定具体某个索引列的升序或降序排序方向。
Column
用于指定被索引的列。

第19页:【例7.10】对SCHOOL数据库

7.6.2索引的创建【例7.10】对SCHOOL数据库中的teacher表建立一个簇集索引。USESCHOOLGOCREATECLUSTEREDINDEXindex_idOnteacher(t_id)GO2.使用SQLServerManagementStudio创建索引

第20页:7.6.3索引的删除

7.6.3索引的删除当索引不再需要或者会减慢T-SQL语句的执行速度时,则可以将其删除。索引被删除后,可以回收它当前使用的存储空间,这些回收的空间可以由数据库的任何对象使用。1.使用T-SQL语句删除索引使用T-SQL删除索引的语法结构如下:DROP INDEX 'table.index | view.index' [ ,...n ]参数说明:
  • table | view:用于指定索引列所在的表或视图。
index:用于指定要删除的索引名称。【例7-11】删除SCHOOL数据库中teacher表的“index_name”索引。USESCHOOLGODROPINDEXteacherindex_nameGO2.使用SQLServerManagementStudio删除索引
顶部目录