资源预览内容
第1页 / 共32页
第2页 / 共32页
第3页 / 共32页
第4页 / 共32页
第5页 / 共32页
第6页 / 共32页
第7页 / 共32页
第8页 / 共32页
第9页 / 共32页
第10页 / 共32页
亲,该文档总共32页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
回目录上一页下一页第4章 SQL Server 2005数据表管理第4章 SQL Server 2005数据表管理本章主要内容是表的概念、表中字段数据 类型、表结构的创建维护,表数据管理及数 据完整性。通过本章学习熟练掌握使用表结 构的创建、修改及表数据的插入、删除、修 改操作;掌握SQL Server 2005数据完整性 概念及设置方法;掌握表中的数据类型及使 用方法,了解表的性能指标等。回目录上一页下一页第4章 SQL Server 2005数据表管理第4章 SQL Server 2005数据表管理4.1 表的基本概念和特点4.2 数据类型4.3 创建表 4.4 表的管理和维护4.5 表中数据的添加、修改和删除4.6 数据完整性与使用约束 回目录上一页下一页第4章 SQL Server 2005数据表管理4.1 表的基本概念和特点表是包含SQL Server 2005数据库中的所有 数据的对象。每个表代表一类对其用户有意 义的对象,即关系数据库的一个关系。 表具有以下特征: 表用来代表一个实体,有一个用来确定该实体的 唯一的表名。 表中行的顺序是任意的。 表中列的顺序是任意的。 表中的行数据是唯一的,即在表中没有完全相同 的两行数据。 表中列名有唯一性,即表中不允许有两列的列名 相同。学号姓名性别出生日 期家庭住址所在班级0502410101朱富宝女1986-3- 14山东聊城241010502410102蔡志赫男1986-3- 19内蒙古包头241010502410103曹洋园女1986-3- 28山西太原241010502410104孟健笋男1986-4-2山东济南241010502410105董保燕男1986-4-8山东济宁241010502410106安洪壮男1986-1- 29江苏徐州24101回目录上一页下一页第4章 SQL Server 2005数据表管理4.2 数据类型SQL Server 2005中,每个列、局部变量、 表达式和参数都具有一个相关的数据类型。 数据类型是一种属性,用于指定对象可保存 的数据的类型有:整数数据、字符数据、货 币数据、日期和时间数据、二进制字符串等 。回目录上一页下一页第4章 SQL Server 2005数据表管理 4.2 数据类型标准数据类型 1精确数值类型 类 型范 围存储bigint-263(-9,223,372,036,854,775,808)到263- 1(9,223,372,036,854,775,807)的整型数字。8 字节int-231 (-2,147,483,648)到231-1 (2,147,483,647)的整型数字。4 字节smallint-215 (-32,768) 到 215-1 (32,767) 的整型数字。2 字节tinyint0 到 255的整型数字。1 字节bit0或1的整型数字,字符串值 TRUE 和 FALSE 可以转换为以下 bit 值:TRUE 转换为 1,FALSE 转换为 0。 根据需要1- 2字节decimal从-1038+1到1038-1的定精度与有效位数的数字。5-17字节numericdecimal的同义词。5-17字节money从-922,337,203,685,477.5808到922,337,203,685,477.5807的货币 数据,精确到万分之一。8字节smallmon ey从-214,748.3648到214,748.3647的货币数据,精确到万分之一。 4字节回目录上一页下一页第4章 SQL Server 2005数据表管理 4.2 数据类型标准数据类型 2近似浮点数值数据类型数据类型范 围存 储float-1.79E + 308 至 -2.23E - 308、0 以及 2.23E - 308 至 1.79E + 308取决于 n 的值real-3.40E + 38 至 -1.18E - 38、0 以及 1.18E - 38 至 3.40E + 384字节回目录上一页下一页第4章 SQL Server 2005数据表管理 4.2 数据类型标准数据类型 3日期时间数据类型数据类型范 围精确度datetime1753 年 1 月 1 日到 9999 年 12 月 31 日3.33 毫秒smalldatetime1900 年 1 月 1 日到 2079 年 6 月 6 日1 分钟回目录上一页下一页第4章 SQL Server 2005数据表管理 4.2 数据类型标准数据类型 4字符数据类型 char ( n ):固定长度,长度为n个字节。n 的取值范围为1 至 8,000,存储大小是n个字节。 varchar ( n | max ) :可变长度,n的取值范围为1至8,000 。max指示最大存储大小是231-1 个字节。存储大小是输入 数据的实际长度加2个字节。所输入数据的长度可以为0个 字符。 text:服务器代码页中长度可变的非Unicode数据,最大长度 为231-1(2,147,483,647)个字符。当服务器代码页使用双字 节字符时,存储仍是2,147,483,647字节。根据字符串, 存储大小可能小于2,147,483,647字节。说明: 如果列数据项的大小一致,则使用char。 如果列数据项的大小差异相当大,则使用varchar。 如果列数据项大小相差很大,而且大小可能超过8,000字节 ,则使用varchar(max)。回目录上一页下一页第4章 SQL Server 2005数据表管理 4.2 数据类型标准数据类型 5Unicode字符串数据类型Unicode是双字节文字编码标准,与字符串数据类型相类似 ,但Unicode的一个字符用2字节存储。 nchar ( n ) :n个字符的固定长度的Unicode字符数据。n 值必须在1到4,000之间(含)。存储大小为两倍n字节。nvarchar ( n | max ) :可变长度 Unicode 字符数据。n值 在1到4,000 之间(含)。max指示最大存储大小为231-1 字节。存储大小是所输入字符个数的两倍+2个字节。所输 入数据的长度可以为0个字符。ntext:长度可变的Unicode数据,最大长度为230-1 (1,073,741,823) 个字符。存储大小是所输入字符个数的两 倍(以字节为单位)。说明: 如果没有在数据定义或变量声明语句中指定n,则默认长度 为1。如果没有使用CAST函数指定n,则默认长度为30。 如果列数据项的大小可能相同,则使用 nchar。 如果列数据项的大小可能差异很大,则使用 nvarchar。回目录上一页下一页第4章 SQL Server 2005数据表管理 4.2 数据类型标准数据类型 6二进制数据类型 binary ( n ) :长度为n字节的固定长度二进制数据 ,其中n是从1到8,000的值。存储大小为n字节。 varbinary ( n | max ) :可变长度二进制数据。n可 以取从1到8,000的值。max指示最大的存储大小 为231-1字节。存储大小为所输入数据的实际长度 +2个字节。所输入数据的长度可以是0字节。 image:长度可变的二进制数据,从 0 到231-1 (2,147,483,647) 个字节。说明: 如果未在数据定义或变量声明语句中指定n,则默认长度为 1。如果未使用CAST 函数指定n,则默认长度为30。 如果列数据项的大小一致,则使用binary。 如果列数据项的大小差异相当大,则使用varbinary。 当列数据条目超出 8,000字节时,请使用varbinary(max)。回目录上一页下一页第4章 SQL Server 2005数据表管理 4.2 数据类型标准数据类型 7. 其它数据类型 cursor:这是变量或存储过程OUTPUT参数的一种数据类型,这些参数 包含对游标的引用。 timestamp:公开数据库中自动生成的唯一二进制数字的数据类型。通常 用作给表行加版本戳的机制。存储大小为8个字节。 sql_variant:用于存储SQL Server 2005支持的各种数据类型的一种数据 类型(不包括 text、ntext、image、timestamp和sql_variant)的值。 uniqueidentifier:可存储16字节的二进制值,通常不将uniqueidentifier定 义为常量,因为很难保证创建的uniqueidentifier确实具有唯一性。 table:一种特殊的数据类型,用于存储结果集以进行后续处理。table主 要用于临时存储一组行,这些行是作为表值函数的结果集返回的。 XML:存储 XML 数据的数据类型。可以在列中或者xml类型的变量中存 储xml实例。说明: 如果列数据项的大小一致,则使用char。 如果列数据项的大小差异相当大,则使用varchar。 如果列数据项大小相差很大,而且大小可能超过8,000字节 ,则使用varchar(max)。回目录上一页下一页第4章 SQL Server 2005数据表管理 4.2 数据类型 用户定义的数据类型 用户定义的数据类型基于在SQL Server 2005中提 供的数据类型。 1创建用户定义的数据类型 系统存储过 sp_addtype可以来创建用户定义的数据类型。其语法形式如 下: sp_addtype type,system_data_type,null_type 2删除用户定义的数据类型 当用户定义的数据类型不需要时,可删除。系统存储过程 sp_droptype 可以删除用户定义的数据类型。其语法形式如下: sp_droptype type。 其中:type 是用户定义的数据类型的名称。【例4-1】创建一个用户定义的数据类型ssn,其基于 的系统数据类型是变长为11的字符,不允许空。 EXEC sp_addtype ssn, varchar(11) , not null是用户定义的数据类型的名称 ,在同一数据库中唯一。是系统提供的数据类型,例如: decimal、int、char 等等。表示该数据类型是如何处理空值 的,必须使用单引号引起来,例 如:null、not null或者no null。【例4-2】创建一个用户定义的数据类型 birthday,其 基于的系统数据类型是datetime,允许空。 EXEC sp_addtype birthday,datetime,null 【例4-3】删除用户自定义类型ssn。 EXEC sp_droptype ssn回目录上一页下一页第4章 SQL Server 2005数据表管理 4.3 创建表 在SQL Server 2005系统中,一张二维表对应一张数据表,即为表文件(Table) 。一个数据库中最多可以创建200万张数据表。 在创建表之前,首先应该定义表的结构,即根据二维表的定义来确定表的组织形 式,包括定义表的列数、列名、列类型、列宽度及列属性等。在SQL Server 2005系统中,一个表最多可以定义1024列。 例如:学生信息表(Student) 学号姓名性别出生日期家庭住址所在班级0502410101朱富宝女1986-3-14山东聊城241010502410102蔡志赫男1986-3-19内蒙古包头241010502410103曹洋园女1986-3-28山西太原241010502410104孟健笋男1986-4-2山东济南241010502410105董保燕男1986-4-8山东济宁241010502410106安洪壮男1986-1-29江苏徐州24101回目录上一页下一页第4章 SQL Server 2005数据表管理4.3 创建表 在SQL Server 200
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号