数据库视图部分_第1页
数据库视图部分_第2页
数据库视图部分_第3页
数据库视图部分_第4页
数据库视图部分_第5页
已阅读5页,还剩127页未读 继续免费阅读

下载本文档

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

文档简介

1、第5章使用数据库对象、5.1数据类型、SQL Server2005中的每个列、本地变量、表达式和参数都有自己的数据类型。指定物件的资料类型与定义物件的四个性质相同。(1)对象中包含的数据类型,如字符、整数或二进制。(2)存储值的长度或大小。(3)数字精度(仅限数字数据类型)。(4)小数位数(仅限数字数据类型)。SQL Server提供了一组系统数据类型,定义了可以与SQL Server一起使用的所有数据类型。Transact-SQL或.使用NET框架,您可以定义自己的数据类型,它是系统提供的数据类型的别名。每个表格最多可以定义250个字段。除文本和图像数据类型外,每个记录的最大长度限制为196

2、2字节。5.1.1系统数据类型,1,正确的数字类型;2、近似数值类型;3、日期和时间类型;4、字符数据类型;5、unicode字符数据类型;6、二进制字符数据类型;7、其他资料型态。5.1.1系统数据类型,1,精确数字类型(1)精确数字类型是整数类型。位(位类型);Decimal和Numeric(数字类型);Money和SmallMoney(货币类型)。5.1.1系统数据类型,1,精确的数字类型(2)整数类型:整数类型是最常用的数据类型之一,主要用于存储数值,无需函数转换即可直接执行数据运算。整数类型包括四个类别:(1) bigint: bigint数据类型可以存储从(-92233720368

3、54775808)到(922372036854775807)的所有整数数据。每个Bigint数据类型值以8字节存储。(2) int (integer): int(或integer)数据类型可以存储(-2147483648)到(2147483647)之间的所有正负整数。每个Int数据类型值以4字节存储。(3)可以存储Smallint: (-32768)到32767之间的所有正负整数。每种smallint类型的数据占用2字节的存储空间。(4)可以存储Tinyint: 0255范围内的任何正整数。每种tinyint类型的数据占用1字节的存储空间。5.1.1系统数据类型,1,精确的数字类型(3)位数据

4、类型位称为位数据类型,数据为0和1,长度为1字节。如果输入非零值,则将其视为1。此数据类型经常用作逻辑变量,表示真、假或否等二进制选择。(4)Decimal数据类型和Numeric数据类型Decimal数据类型与Numeric数据类型相同。提供十进制数所需的实际存储空间,但具有固定精度(介于-1038 1和1038-1之间)和限制(可以将小数位数存储为217字节)。您也可以用Decimal(p,S)格式写入。p和S确定精确的精度和小数位数。其中p表示可存储的值的总位数,默认值为18。s表示小数点后的位数,默认值为0。例如,decimal (10,5)表示总共10位、5位整数和5位小数。5.1.

5、1系统数据类型、1、正确的数字类型(5)货币数据类型货币数据类型由Money和SmallMoney组成。(1)money:用于存储货币值,Money数据类型中存储的数值存储为正数和小数部分,(2)与Smallmoney: money数据类型类似,但范围小于Money数据类型,存储范围在-2147483468到2147483467之间,是货币单位的十分之一为Money或smallmoney表输入数据时,必须在有效位置之前添加货币单位符号。5.1.1系统数据类型,2,近似数值类型近似数值类型包括Real和Float。(1)Real:可以存储正数或负数的十进制值,最多可以有7位精确数字。存储范围为-

6、3.40E-383.40E 38。每个Real类型的数据占用4字节的存储空间。(2)可能精确到Float: -1.79E-3081.79E 308范围内的第15位小数。如果不指定Float数据类型的长度,则占用8字节的存储空间。Float资料类型可以Float(n)格式写入,n指定Float资料的精确度,n是介于115之间的整数值。n取17实际上定义了Real类型的数据,系统存储为4字节。如果n取815,则被视为Float类型,并存储为8字节。5.1.1系统数据类型,3 .日期和时间数据类型(1)日期时间:用于以300秒精度存储公元1753年1月1日0点到公元9999年12月31日23:59分

7、59秒之间的所有日期和时间的组合。日期时间数据类型占用的存储空间为8字节。其中,前4个字节存储为1900年1月1日之前或之后的日期数、数字分钟正负、负数存储的数字存储为基准日期之前的日期、正数存储为基准日期之后的日期、时间存储为午夜之后的毫秒,然后是4个字节。保存Datetime数据类型时,默认格式为MM DD YYYY hh:mm A.M./P.M。插入数据或在其他地方使用Datetime类型时,必须用单引号括起来。默认时间日期为1月1,1900 12:00a.m。允许的输入格式为JAN 4 1999、Jan 4 1999、January 4 1999、Jan 1999 4、1999 4 J

8、an和1999 Jan 4。(2)SmallDatetime:类似于Datetime数据类型,但日期时间范围较小,存储日期范围在1900年1月1日2079年6月6日内。SmallDatetime数据类型使用4个字节存储数据,SQL Server 2000将日期1900年1月1日以后的天数存储为2个字节,将时间存储为午夜后的分钟数,SmallDatetime的精度为1分钟。5.1.1系统数据类型,4 .文字数据类型文字数据类型是SQL Server最常用的数据类型之一,可以用于存储各种文字、数字符号和特殊符号。使用字符数据类型时,必须前后加单引号或双引号。(1)由Char: Char(n)定义。

9、使用Char数据类型保存数据时,每个字符和符号占用一个字节的存储空间。n表示所有字符占用的存储空间,n的值为18000。如果未指定n值,则系统默认值n的值为1。如果输入数据的字符串长度小于n,则在后面自动添加空格以填充设置的空间。如果输入的数据过长,超出的部分将被截断。如果定义了Char数据类型,并且此列可以留空,则此字段将被视为Varchar。(2)Varchar: SQL Server 2005中新定义的Varchar(n|max),比以前的版本多了一个max选择。max表示最大存储大小为231到1字节。使用Char数据类型,最多可以存储255个字符的可变长度字符串。与Char类型不同,V

10、archar类型的存储空间取决于存储在表的每个列值中的字符数。例如,定义Varchar(20)最多可以在该字段中存储20个字符,但是使用Varchar类型可以节省空间,因为在每个列长度达到20个字节之前,不会在后面添加空格来填充设置的空间。(3)文本:用于存储文本数据,容量理论上为1231-1字节(2,147,483,647),但实际应用取决于硬盘的存储空间。5.1.1系统数据类型,5 .unicode字符数据类型unicode字符数据类型包括Nchar、Nvarchar和Ntext。(1)由Nchar: Nchar(n)定义。这与Char数据类型相似,不同之处在于nChar数据类型n的值为1

11、4000。Nchar数据类型使用unicode标准字符集。unicode标准使用两个字节作为一个存储单元。其中一个存储单元的容量大大增加,可以包含世界范围内的所有语言字符。一个数据列中可能同时出现中文、英语、法语等。没有编码冲突。(2)Nvarchar: SQL Server 2005新定义的格式为Nvarchar (n | max)。与Varchchar数据类型一样,Nvarchar数据类型使用unicode标准字符集,n的范围为14000。(3)NText:与Text数据类型一样,存储的数据通常是可以直接输出到显示设备的字符,显示设备可以是显示器、窗口或打印机。Ntext数据类型使用uni

12、code标准字符集,因此理论上容量为230-1字节(1,073,741,823)。5.1.1系统数据类型,6 .二进制字符数据类型二进制数据类型包括Binary、Varbinary和Image。(1)Binary:定义格式为Binary(n),资料储存。二进位资料类型的最大长度(n的最大值)为8000,通常用于储存影像等资料。(2)Varbinary: SQL Server 2005中新定义的格式是Varbinary(n | max),比以前的版本多了一个max选择。max表示最大存储大小为231到1字节。数据的存储长度是实际输入数据的长度加上4个字节的可变长度。其他含义与Binary相同。(

13、3)图像:用于存储照片、目录照片或图片,理论容量为231-1 (2,147,483,647)字节。存储数据的模式与Text数据类型相同,通常不能使用Insert语句直接输入存储在Image字段中的数据。5.1.1系统数据类型,7 .其他数据类型(1)Sql_variant:存储除文本、图形数据和Timestamp类型数据之外的所有有效SQL Server数据。此数据类型极大地促进了SQL server的开发。(2)表格:用于储存表格或检视的已处理结果集。这种新的数据类型使您可以在变量中存储表,从而使函数或过程返回查询结果更容易、更快。(3)Timestamp:也称为时间戳数据类型,它提供整个数

14、据库中唯一的值,类似于一个单调上升的计数器,反映数据库中数据修改的相对顺序。定义的列更新或插入数据行时,此列中的值将自动更新,并且计数值将自动添加到此Timestamp数据列中。设置名为“Timestamp”的列时,该列的类型将自动设置为Timestamp数据类型。(4)Uniqueidentifier:用于存储长度为16字节的二进制数据类型,SQL server根据计算机网络适配器地址和CPU时钟生成的全局唯一标识符代码(缩写为GUID)。可以通过调用SQL Server的newid()函数获取此数字,世界各地的计算机上通过此函数生成的数字并不相同。(5)XML:可以存储XML数据的数据类型

15、。这使您可以将XML实例存储在字段或XML类型的变量中。存储在XML中的数据不能超过2GB。(6)Cursor:变量或存储过程OUTPUT参数的数据类型,包含对光标的引用。使用Cursor数据类型创建的变量可以为空。注:CREATE TABLE语句中的列不能使用Cursor数据类型。5.1.2自定义数据类型,SQL Server允许基于SQL Server系统数据类型的自定义数据类型。用户定义数据类型时,必须指定该类型的名称、设置的系统数据类型、是否允许null等。SQL Server提供了两种方法:(1)使用SQL Server管理平台创建自定义数据类型。(2)使用系统存储过程创建自定义数据

16、类型,5.1.2自定义数据类型,(1)使用SQL Server管理平台创建自定义数据类型,在SQL Server管理平台中打开指定的服务器和数据库条目,选择并展开程序类型,图5-1打开自定义数据类型窗口,图5-1语法为sp _ addtypetypename=type,phystype=system _ data _ type,null type=null _ type,owner程序列表如下execsp _ addtype address、varchar (80)、not null、5.2表操作、表是包含数据库中所有数据的数据库对象。表格定义为列的集合。数据以表格中的行和列格式组织。每行表示唯一的记录,每列表示记录中的一个字段。5.2.1创建表5.2.2创建约束5.2.3修改表5.

温馨提示

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

评论

0/150

提交评论