您好,欢迎访问三七文档
当前位置:首页 > 办公文档 > 其它办公文档 > sql2005_中文教程
上页返回第8章表和索引教学提示:在SQLServer2005中,表是用来存储数据的对象。一般而言,每个表存储一种实体对象的数据。用户可以通过多种方式访问数据库中的数据,但是它们都保存在表中,因此掌握SQLServer表的相关知识是非常重要的。教学目标:本章主要包含以下内容。表的基础知识。设计表。创建表。管理表:表的修改、删除和查看。索引的基础知识索引的创建和管理通过学习本章,读者可以掌握SQLServer2005数据库表的基础知识和表的常用操作。上页返回第8章表和索引8.1基础知识8.2设计表8.3创建表8.4修改表8.5删除表8.6查看表属性8.7索引8.8上机指导上页返回8.1基础知识8.1.1表的基本概念表是数据库对象,它存储着数据库的所有数据。在表中,数据以行和列的形式存储在规范化的二维表格中。SQLServer2005表的主要构成有:列:每一列用来保存对象的某一类属性。行:每一行用来保存一条记录,是数据对象的一个实例。图8.1所示是SQLServer2005中的一个表的部分截图。上页返回图8.1SQLServer2005中的表上页返回8.1.2数据完整性基础定义表除了要定义每一列的数据类型和长度外,还可以为列定义一些其他的属性。这些属性也很重要,它们可以保证表的数据完整性和参照完整性。在SQLServer2005中用于保证以上两种完整性的相关技术有如下3种。1.约束2.规则(rules)3.默认值上页返回8.1.3特殊表1.分区表2.临时表3.系统表上页返回8.2设计表8.2.1列的数据类型选择为每一列分配数据类型,是设计表的第一步,用户可以为列分配的数据类型有:SQLServer2005系统数据类型、系统数据类型的别名数据类型和用户自定义数据类型。上页返回8.2.2自动生成列的编号或标识符每个表都通过系统产生的序列产生一个标识列,在同一个表中这些标识是不会重复的,但是对于不同的表,有可能两个表的标识列有相同的值。对于单独使用的表,这种标识的重复并不会影响数据库的使用;但是对于相似表的合并操作,这种标识的重复是不允许的。用户需要产生全局惟一的标识列,才能保证数据库系统间相似表的合并操作。SQLServer2005使用GUID列进行相似表的合并复制,以保证数据库间的操作不会有相同的记录。上页返回8.2.3需要数据计算的列表中的某列可能不能直接得到,而是需要通过某些列的计算得到。SQLServer支持直接的函数、数学表达式计算,但是不支持需要查询的计算。在没有说明的情况下,这些需要计算的列是虚列,物理表中不存在,每次查询时都需要重新计算。SQLServer2005中,可以设置参数,把这些需要计算的列保存在物理表中。上页返回8.2.4加强数据完整性在表的设计中,还需要考虑使用什么技术来保证数据的完整性。用户要充分使用SQLServer2005支持的约束、规则和缺省值来保证数据的完整性。上页返回8.3创建表8.3.1使用ManagementStudio创建表使用ManagementStudio创建表的具体步骤如下:(1)在【对象资源管理器】窗口中,单击【数据库】节点前的“+”号,展开【数据库】节点;单击目标数据库前的+号,展开目标数据库。在【表】节点上单击鼠标右键,弹出快捷菜单,如图8.2所示,从中选择【新建表(N)…】命令。略上页返回图8.2利用【对象资源管理器】创建表上页返回8.3.2使用Transact-SQL创建表下面列出了创建表的完整的Transact-SQL语法结构,其中包括了列的定义、含有计算的列的定义、列的约束、表的约束和索引参数。略上页返回8.4修改表8.4.1使用ManagementStudio修改表使用MicrosoftSQLServerManagementStudio修改表的具体步骤如下:(1)在【在对象资源管理器】窗口中,单击【数据库】节点前的“+”号,展开【数据库】节点;单击目标数据库前的“+”号,展开目标数据库;单击【表】节点前的+号,展开【表】节点。在目标表上单击鼠标右键,弹出快捷菜单,选择【修改(Y)】命令,如图8.9所示。上页返回图8.9利用【对象资源管理器】修改表上页返回8.4.2使用Transact-SQL修改表更改表的完整的Transact-SQL语法结构如下:ALTERTABLE[database_name.[schema_name].|schema_name.]table_name{ALTERCOLUMNcolumn_name{略注意:重命名可能会破坏存储过程和触发器,如果含有强制依赖关系也无法重命名。上页返回8.4.3在SQLCMD工具中修改表示例例题:给服务器net-fys中的数据库MyCoDB中的表Client添加一列,列名为ClientSex,默认值为NULL,数据类型为char(1),数据值为M(男士)或F(女士)。在SQLCMD工具中修改表的具体步骤如下:略上页返回8.4.4重命名表中的列示例例题:重命名服务器net-fys中的数据库MyCoDB中的表Client的列ClientName为Name。在SQLServerManagementStudio的查询编辑器中修改表Client的具体步骤如下。略上页返回8.5删除表8.5.1使用ManagementStudio删除表使用ManagementStudio删除表的具体步骤如下。(1)在【对象资源管理器】窗口中,单击【数据库】节点前的“+”号,展开【数据库】节点;单击目标数据库前的“+”号,展开目标数据库;单击【表】节点前的+号,展开表节点。在目标表上单击鼠标右键,弹出快捷菜单,选择【删除】命令,如图8.15所示。上页返回图8.15利用【对象资源管理器】删除表上页返回8.5.2使用Transact-SQL删除表语法结构为:DROPTABLE[database_name.[schema_name].|schema_name.]table_name[,...n]上页返回8.5.3删除数据库中的表示例例题:删除在服务器net-fys上的MyCoDB数据库中的一个表test。具体操作步骤如下。(1)从PC桌面依次选择【开始】|【所有程序】|【附件】|【命令提示符】命令,打开命令提示符窗口。(2)使用命令sqlcmd-snetfys,打开SQLServer的命令行工具,并连接到数据库服务器。(3)使用如下语句删除表test:droptablemycodb.dbo.test;go上页返回8.6查看表属性8.6.1使用ManagementStudio查看表属性使用ManagementStudio查看表属性的步骤如下。(1)在【对象资源管理器】窗口中,单击【数据库】节点前的“+”号,展开数据库节点;单击目标数据库前的“+”号,展开目标数据库;单击【表】节点前的“+”号,展开表节点。在目标表上单击鼠标右键,弹出快捷菜单,从中选择【属性】命令,如图8.17所示。上页返回图8.17利用【对象资源管理器】查看表属性上页返回8.6.2使用Transact-SQL查看表的属性以下列出了部分查看表的一些属性时使用的语法结构:查看表的定义sp_help[[@objname=]'name']查看表的参数设置sp_tableoption[@TableNamePattern=]'table',[@OptionName=]'option_name',[@OptionValue=]'value'上页返回8.6.3查看数据库表中的定义信息示例例题:查看服务器net-fys上的MyCoDB数据库中表ProSelled的定义信息。操作步骤如下。(1)从PC桌面依次选择【开始】|【所有程序】|【附件】|【命令提示符】命令,打开命令提示符窗口。(2)使用命令sqlcmd-snetfys,打开SQLServer的命令行工具,并连接到数据库服务器。略上页返回8.7索引8.7.1索引基础知识索引可以创建在任意表和视图的列字段上,索引中包含键值,这些键值存储在一种数据结构(B-树)中,通过键值可以快速地找到与键值相关的数据记录。SQLServer提供了两种形式的索引,一种是聚集索引(Clustered)和非聚集索引(Nonclustered)。上页返回8.7.2创建和删除索引1.使用ManagementStudio创建索引2.使用ManagementStudio删除索引3.使用Transact-SQL创建和删除索引4.为数据表中的列创建非聚集索引示例上页返回8.8上机指导本次上机指导中,我们将在服务器net-fys上的MyCoDB数据库中创建一个表Client,它包含以下几个列字段:ClientID(char)、ClientName(varchar)、ClientAdress(Varchar)、ClientPhoneNo(varchar)、ClientEmail(varchar)。其中主键为ClientID,并且每一列字段都不能为NULL值。并在表Client上给列ClientID创建一个递减的聚集索引。
本文标题:sql2005_中文教程
链接地址:https://www.777doc.com/doc-2850348 .html