欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    guo第4章表的存储原理及完整性创建管理.ppt

    • 资源ID:67228914       资源大小:417.50KB        全文页数:52页
    • 资源格式: PPT        下载积分:16金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要16金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    guo第4章表的存储原理及完整性创建管理.ppt

    第第4章章 表的存储原理及完整性创建管理表的存储原理及完整性创建管理 大型数据库大型数据库 SQL Server 2005第第4章章 表的存储原理及完整性创建管理表的存储原理及完整性创建管理 4.1 SQL Server表的类型表的类型 4.2 表的存储原理表的存储原理 4.3 SQL Server数据类型数据类型 4.4 数据表的创建和管理数据表的创建和管理 1计算机学院计算机学院 郭占龙郭占龙第第4章章 表的存储原理及完整性创建管理表的存储原理及完整性创建管理 大型数据库大型数据库 SQL Server 20054.1 SQL Server表的类型表的类型 4.1.1 SQL Server的临时表的临时表 4.1.2 SQL Server的系统表的系统表 2计算机学院计算机学院 郭占龙郭占龙第第4章章 表的存储原理及完整性创建管理表的存储原理及完整性创建管理 大型数据库大型数据库 SQL Server 20054.1.1 SQL Server的临时表的临时表SQL Server中的数据表分为:中的数据表分为:永久表:创建后一直存储在数据库文件中,直到用户永久表:创建后一直存储在数据库文件中,直到用户删除为止。删除为止。临时表临时表 临时表分两种:临时表分两种:局部临时表:表名用局部临时表:表名用#开头。只能由创建它的用户使用,开头。只能由创建它的用户使用,在该用户连接断开时,它被自动删除。在该用户连接断开时,它被自动删除。全局临时表:表名用全局临时表:表名用#开头。当前所有连接用户都可开头。当前所有连接用户都可以使用,它在最后一个会话结束时被自动删除。以使用,它在最后一个会话结束时被自动删除。系统根据表名前有无系统根据表名前有无#符号确定创建的是临时表还是永符号确定创建的是临时表还是永久表。久表。3计算机学院计算机学院 郭占龙郭占龙第第4章章 表的存储原理及完整性创建管理表的存储原理及完整性创建管理 大型数据库大型数据库 SQL Server 20054.2.2 SQL Server的系统表的系统表 一一些些系系统统表表只只存存在在于于mastermaster数数据据库库,它它们们包包含含系系统统级级信信息息。在在SQL SQL Server Server 20002000里里共共有有1818个个表表,在在SQL SQL Server 2005Server 2005里对应里对应2020个视图。个视图。而一些系统表则存在于每一个数据库(包括而一些系统表则存在于每一个数据库(包括mastermaster数据库),它们包含属于这个特定数据库的对象和资数据库),它们包含属于这个特定数据库的对象和资源的相关信息。在源的相关信息。在SQL Server 2000里共有里共有17个表,在个表,在SQL Server 2005里对应里对应22个视图。个视图。注意:注意:不允许使用不允许使用SQLSQL语句直接修改系统表中的内语句直接修改系统表中的内容;不允许编写程序直接访问系统表中的信息;如果容;不允许编写程序直接访问系统表中的信息;如果需要系统表信息,可以通过系统的存储过程和系统提需要系统表信息,可以通过系统的存储过程和系统提供的函数进行。供的函数进行。4计算机学院计算机学院 郭占龙郭占龙第第4章章 表的存储原理及完整性创建管理表的存储原理及完整性创建管理 大型数据库大型数据库 SQL Server 20054.2 表的存储原理表的存储原理4.2.1 内部存储概述内部存储概述 4.2.2 SQL ServerSQL Server数据记录结构数据记录结构 5计算机学院计算机学院 郭占龙郭占龙第第4章章 表的存储原理及完整性创建管理表的存储原理及完整性创建管理 大型数据库大型数据库 SQL Server 20054.1.1 内部存储概述内部存储概述 表表是有关某个特定实例的数据集合,在关系数据库中处是有关某个特定实例的数据集合,在关系数据库中处于核心地位。于核心地位。创建一个表,就会有一行或多行插入到用来管理这个表创建一个表,就会有一行或多行插入到用来管理这个表的多个系统表里。至少要写信息到的多个系统表里。至少要写信息到sysobjects、sysindexes和和syscolumns这三个系统表里,当新建的表这三个系统表里,当新建的表有外码约束时,相关的信息还会插入到有外码约束时,相关的信息还会插入到sysrefrences系统系统表里。表里。6计算机学院计算机学院 郭占龙郭占龙第第4章章 表的存储原理及完整性创建管理表的存储原理及完整性创建管理 大型数据库大型数据库 SQL Server 2005 Sysobjects主要记录新表的基本信息,如表名、对象主要记录新表的基本信息,如表名、对象ID以以及表的所有者等等。及表的所有者等等。Syscolumns主要记录新表列的信息,如列名、类型和长度主要记录新表列的信息,如列名、类型和长度等。等。Sysindexes系统表记录包含指向新表所使用的存储空间的系统表记录包含指向新表所使用的存储空间的指针和有关新表大小的信息。指针和有关新表大小的信息。sysrefrences系统表里记录参照表的外键信息。系统表里记录参照表的外键信息。例如:创建一个表,它在系统表中的记录信息如下图所示:例如:创建一个表,它在系统表中的记录信息如下图所示:7计算机学院计算机学院 郭占龙郭占龙第第4章章 表的存储原理及完整性创建管理表的存储原理及完整性创建管理 大型数据库大型数据库 SQL Server 2005CREATE TABLE CREATE TABLE 课程表课程表(课号课号 CHAR(6)NOT NULL,CHAR(6)NOT NULL,课名课名 CHAR(20)NOT NULL,CHAR(20)NOT NULL,教材名称教材名称 CHAR(20)NULL,CHAR(20)NULL,编著者编著者 CHAR(10)NULL,CHAR(10)NULL,出版社出版社 CHAR(20)NULL,CHAR(20)NULL,版号版号 CHAR(15)NULL,CHAR(15)NULL,定价定价 MONEY NULLMONEY NULL,PRIMARY KEY(PRIMARY KEY(课号课号)8计算机学院计算机学院 郭占龙郭占龙第第4章章 表的存储原理及完整性创建管理表的存储原理及完整性创建管理 大型数据库大型数据库 SQL Server 2005注意:注意:当一个新表刚创建时,在插入第一行数据之前系统不当一个新表刚创建时,在插入第一行数据之前系统不会立即为其分配存储空间,因此会立即为其分配存储空间,因此Sysindexes表中指示页表中指示页地址和预留存储空间的列将都是地址和预留存储空间的列将都是0值。值。如果在该表上定义了如果在该表上定义了PRIMARY KEY或或UNIQUE约束,约束,而而PRIMARY KEY或或UNIQUE约束的背后是由簇集索约束的背后是由簇集索引支持的,则该表在引支持的,则该表在Sysindexes中对应行的中对应行的indid值为值为1。任何有非簇集索引支持的其他约束在任何有非簇集索引支持的其他约束在Sysindexes表中都表中都有一行,而且该行的有一行,而且该行的indid值在值在2到到250之间。之间。9计算机学院计算机学院 郭占龙郭占龙第第4章章 表的存储原理及完整性创建管理表的存储原理及完整性创建管理 大型数据库大型数据库 SQL Server 20054.2.2 数据行(记录)结构数据行(记录)结构 在在 SQL Server 中,数据存储的基本单位是中,数据存储的基本单位是页页。紧跟着页头的就是存储表的真正数据行区域。单个数据紧跟着页头的就是存储表的真正数据行区域。单个数据行的最大长度是行的最大长度是8060字节。字节。数据行不能跨页存储(文本和图像例外)。页内数据行数据行不能跨页存储(文本和图像例外)。页内数据行的多少依赖于表的结构和要存储的数据。的多少依赖于表的结构和要存储的数据。如果一个表的所有列都是定长,那么该表在每一页上存如果一个表的所有列都是定长,那么该表在每一页上存储相同数目的行。储相同数目的行。如果一个表里有变长列,那么该表总是在每一页上存储如果一个表里有变长列,那么该表总是在每一页上存储尽可能多的行。尽可能多的行。10计算机学院计算机学院 郭占龙郭占龙第第4章章 表的存储原理及完整性创建管理表的存储原理及完整性创建管理 大型数据库大型数据库 SQL Server 20054.2.2 数据行(记录)结构数据行(记录)结构1 1、定长记录、定长记录在在定定长长记记录录里里,每每个个字字段段都都有有固固定定的的长长度度,而而且且字字段段数数也也是是固固定定的的。这这种种记记录录的的字字段段能能够够连连续续存存储储,因因此此在在给给定定记记录录地地址址的的情情况况下下,借借助助系系统统目目录录里里有有关关字字段段的的长长度度信信息息就就能能计计算算出出某某个个特特殊殊字字段的的地址。段的的地址。2 2、变长记录、变长记录对对于于变变长长记记录录来来说说,一一种种可可能能的的记记录录组组织织方方式式就就是是像像定定长长记记录录一一样样连连续续地地存存放放字字段段,字字段段之之间间通通过过分分割割符符隔隔开开。这这种种组组织织方方式式需需要扫描记录才能定位需要访问的字段。要扫描记录才能定位需要访问的字段。另另一一种种方方法法是是在在记记录录开开始始处处预预留留一一些些空空间间作作为为存存放放一一个个整整数数偏偏移移量量数数组组的的空空间间,数数组组中中的的第第I I个个整整数数表表示示记记录录的的第第I I个个字字段段的的其其始始地地址址,当当然然这这个个地地址址是是相相对对于于记记录录的的起起始始地地址址的的。另另外外在在数数组组中中也也存存储储记记录录尾尾部部的的偏偏移移量量,这这个个偏偏移移量量用用来来识识别别最最后后一一个个字字段段的的结束位置。结束位置。11计算机学院计算机学院 郭占龙郭占龙第第4章章 表的存储原理及完整性创建管理表的存储原理及完整性创建管理 大型数据库大型数据库 SQL Server 20051 1、SQL ServerSQL Server定长记录的存储定长记录的存储首先来看最简单的情况,记录中所有字段都是定长的。首先来看最简单的情况,记录中所有字段都是定长的。CREATE TABLE FixedCREATE TABLE Fixed(col1 col1 intint NOT NULL NOT NULLcol2 char(5)NOT NULLcol2 char(5)NOT NULLcol3 char(3)NULLcol3 char(3)NULLcol4 float NOT NULLcol4 float NOT NULL)当这个表被创建以后,就有类似下面一个记录被插入到当这个表被创建以后,就有类似下面一个记录被插入到sysindexessysindexes系统表中:系统表中:id name id name indidindid first first minlenminlen2099048 Fixed 0 0 x000000000000 242099048 Fixed 0 0 x000000000000 24而其各个字段则会被插入到而其各个字段则会被插入到syscolumnssyscolumns系统表中:系统表中:name name colidcolid xtypextype length length xoffsetxoffsetcol1 1 56 4 4col1 1 56 4 4col2 2 175 5 8col2 2 175 5 8col3 3 175 3 13col3 3 175 3 13col4 4 62 8 16col4 4 62 8 1612计算机学院计算机学院 郭占龙郭占龙第第4章章 表的存储原理及完整性创建管理表的存储原理及完整性创建管理 大型数据库大型数据库 SQL Server 20051 1、SQL ServerSQL Server定长记录的存储定长记录的存储当往当往FixedFixed表中插入一个记录数据时,例如:表中插入一个记录数据时,例如:INSERT INTO Fixed VALUES(123,ABCD,NULL,45.5)INSERT INTO Fixed VALUES(123,ABCD,NULL,45.5)FixedFixed表在表在sysindexessysindexes系统表里的内容就会发生变化:系统表里的内容就会发生变化:id name id name indidindid first first minlenminlen2099048 Fixed 0 0 x720000000000 242099048 Fixed 0 0 x720000000000 24这说明在插入了一记录数据之后,这说明在插入了一记录数据之后,SQL ServerSQL Server就为就为FixedFixed表分配了表分配了一个数据页。一个数据页。FixedFixed表只包含四个定长字段,表只包含四个定长字段,sysindexessysindexes表中表中minlenminlen字段的值表示记录的最小长度,该长度恰好是字段的值表示记录的最小长度,该长度恰好是syscolumnssyscolumns表中表示字段长度的表中表示字段长度的lengthlength的数字之和再加上的数字之和再加上4 4个字节。其中额外个字节。其中额外的的4 4个字节是用于记录字段数目的两个字节和表示字段中个字节是用于记录字段数目的两个字节和表示字段中NULLNULL的字的字节数。节数。13计算机学院计算机学院 郭占龙郭占龙第第4章章 表的存储原理及完整性创建管理表的存储原理及完整性创建管理 大型数据库大型数据库 SQL Server 2005第一个字节是状态位第一个字节是状态位A A,它的值是它的值是0 x100 x10,表示只有位表示只有位4 4是是1 1,其他位,其他位都是都是0 0,因此该记录没有变长字段(如果位,因此该记录没有变长字段(如果位5 5为为1 1说明存在变长字段)说明存在变长字段)。最最后后一一个个字字节节是是NULLNULL位位图图,其其值值4 4意意味味只只有有第第三三位位是是1 1,表表示示第第三三个个字段是字段是NULLNULL。1 1、SQL ServerSQL Server定长记录的存储定长记录的存储14计算机学院计算机学院 郭占龙郭占龙第第4章章 表的存储原理及完整性创建管理表的存储原理及完整性创建管理 大型数据库大型数据库 SQL Server 20052 2、SQL ServerSQL Server变长记录的存储变长记录的存储 CREATE TABLE VariableCREATE TABLE Variable(col1 char(3)NOT NULLcol1 char(3)NOT NULLcol2 varchar(15)NOT NULLcol2 varchar(15)NOT NULLcol3 varchar(5)NULLcol3 varchar(5)NULLcol4 varchar(10)NOT NULLcol4 varchar(10)NOT NULLcol5 col5 smallintsmallint NOT NULL NOT NULL)当这个表被创建以后,就有类似下面一个记录被插入到当这个表被创建以后,就有类似下面一个记录被插入到sysindexessysindexes系统表中:系统表中:id name id name indidindid first first minlenminlen18099105 Variable 0 0 x000000000000 918099105 Variable 0 0 x000000000000 9而其各个字段则会被插入到而其各个字段则会被插入到syscolumnssyscolumns系统表中:系统表中:name name colidcolid xtypextype length length xoffsetxoffsetcol1 1 175 3 4col1 1 175 3 4col2 2 167 15 -1col2 2 167 15 -1col3 3 167 5 -1col3 3 167 5 -1col4 4 167 10 -1col4 4 167 10 -1col5 5 52 2 7col5 5 52 2 715计算机学院计算机学院 郭占龙郭占龙第第4章章 表的存储原理及完整性创建管理表的存储原理及完整性创建管理 大型数据库大型数据库 SQL Server 20052 2、SQL ServerSQL Server变长记录的存储变长记录的存储当往当往VariableVariable表中插入一个记录数据时,例如:表中插入一个记录数据时,例如:INSERT INSERT INTO INTO Variable Variable VALUES(xyz,ABCDe,NULLVALUES(xyz,ABCDe,NULL,123,999)123,999)VariableVariable表在表在sysindexessysindexes系统表里的内容就会发生变化:系统表里的内容就会发生变化:id name id name indidindid first first minlenminlen18099105 Variable 0 0 x880000000000 918099105 Variable 0 0 x880000000000 9定长字段的数据位于记录中由定长字段的数据位于记录中由syscolumnssyscolumns的的xoffsetxoffset值指定的字节值指定的字节偏移量所在的位置,即偏移量所在的位置,即col1col1起始于字节偏移量起始于字节偏移量4 4的位置,而的位置,而col5col5起起始于字节偏移量始于字节偏移量7 7的位置。的位置。16计算机学院计算机学院 郭占龙郭占龙第第4章章 表的存储原理及完整性创建管理表的存储原理及完整性创建管理 大型数据库大型数据库 SQL Server 2005为了找到变长字段,首先要确定记录中列偏移数组的位置。在表示总字段数的为了找到变长字段,首先要确定记录中列偏移数组的位置。在表示总字段数的2 2个个字节(其值是字节(其值是05000500)和表示位图的)和表示位图的1 1字节(其值为字节(其值为0404)之后就是变长字段数的两个)之后就是变长字段数的两个字节,在本例中其值是字节,在本例中其值是03000300,换算成十进制是,换算成十进制是3 3,说明该记录有,说明该记录有3 3个变长字段存在。个变长字段存在。紧跟其后的字节就是变长字段偏移数组。该例变长字段偏移数组用三个紧跟其后的字节就是变长字段偏移数组。该例变长字段偏移数组用三个2 2字节来表字节来表示示3 3个变长字段在记录中的结束位置。个变长字段在记录中的结束位置。19001900经过字节交换是经过字节交换是0 x00190 x0019,所以第一个变所以第一个变长字段结束于长字段结束于2525字节处。接下来也是字节处。接下来也是0 x00190 x0019,所以第二个变长字段实际长度为所以第二个变长字段实际长度为0 0,表明没有任何东西存储在变长数据区域。表明没有任何东西存储在变长数据区域。1c001c00经过字节交换是经过字节交换是0 x001c0 x001c,所以第三所以第三个变长字段结束于个变长字段结束于2828字节处,而且整个记录也结束于字节处,而且整个记录也结束于2828字节处,换句话说,目前字节处,换句话说,目前整个记录的实际长度是整个记录的实际长度是2828个字节长。个字节长。17计算机学院计算机学院 郭占龙郭占龙第第4章章 表的存储原理及完整性创建管理表的存储原理及完整性创建管理 大型数据库大型数据库 SQL Server 20054.3 SQL Server数据类型数据类型 4.3.1 数值型数据数值型数据 4.3.2 货币型数据货币型数据 4.3.3 字符型数据字符型数据 4.3.4 日期日期/时间数据类型时间数据类型 4.3.5 二进制数据类型二进制数据类型 4.3.5 双字节数据类型双字节数据类型 18计算机学院计算机学院 郭占龙郭占龙第第4章章 表的存储原理及完整性创建管理表的存储原理及完整性创建管理 大型数据库大型数据库 SQL Server 20054.3.1 数值型数据数值型数据BigintBigint。可可以以存存放放从从-2-26363到到2 26363-1-1范范围围内内的的整整型型数数据据。以以bigintbigint数数据据类类型型存存储储的每个值占用的每个值占用8 8个字节,共个字节,共6464位,其中位,其中6363位用于存储数字,位用于存储数字,1 1位用于表示正负。位用于表示正负。IntInt。也可以写作也可以写作integerinteger,可以存储从可以存储从-2-23131到到2 23131-1-1范围内的全部整数。以范围内的全部整数。以intint数据类型存储的每个值占用数据类型存储的每个值占用4 4个字节,共个字节,共3232位,其中位,其中3131位用于存储数字,位用于存储数字,1 1位用于表示正负的区别。位用于表示正负的区别。SmallintSmallint。可可以以存存储储从从-2-21515到到2 21515-1 1范范围围内内的的所所有有整整数数。以以smallintsmallint数数据据类类型型存存储储的的每每个个值值占占用用2 2个个字字节节,共共1616位位,其其中中1515位位用用于于存存储储数数字字,1 1位位用用于于表表示示正负的区别。正负的区别。TinyintTinyint。可可以以存存储储0 0到到255255范范围围内内的的所所有有整整数数。以以tinyinttinyint数数据据类类型型存存储储的的每每个值占用个值占用1 1个字节。个字节。DecimalDecimal和和NumericNumeric。在在SQL SQL ServerServer中中,decimaldecimal和和numericnumeric型型数数据据的的最最高高精精度度的的 可可 以以 达达 到到 3838位位,也也 就就 是是 说说 必必 须须 在在-10-103838-1-1到到 10103838-1-1之之 间间。格格 式式 为为:DecimalDecimal(n,dn,d)或)或NumericNumeric(n,dn,d),),其中其中n n为总的位数,为总的位数,d d为小数位数。为小数位数。floatfloat和和realreal。floatfloat型型数数据据范范围围从从-1.79E+38-1.79E+38到到1.79E+381.79E+38,RealReal型型数数据据范范围围从从-3.40E+38-3.40E+38到到 3.40E+383.40E+38。其其 中中 floatfloat可可 采采 用用 科科 学学 记记 数数 法法 表表 示示,格格 式式 为为 :floatfloat(n n),),n n必须在必须在153153之间。之间。19计算机学院计算机学院 郭占龙郭占龙第第4章章 表的存储原理及完整性创建管理表的存储原理及完整性创建管理 大型数据库大型数据库 SQL Server 20054.3.2 4.3.2 货币型数据货币型数据 MoneyMoney。它它存存储储的的货货币币值值由由2 2个个4 4字字节节整整数数构构成成。前前面面的的一一个个4 4字字节节表表示示货货币币值值的的整整数数部部分分,后后面面的的一一个个4 4字字节节表表示示货货币币值值的的小小数数部部分分。以以MoneyMoney存存储储的的货货币币值值的的范范围从围从-2-26363到到2 26363-1-1,可以精确到万分之一货币单位。,可以精确到万分之一货币单位。SmallmoneySmallmoney。它存储的货币值由它存储的货币值由2 2个个2 2字节整数构成。字节整数构成。前面的一个前面的一个2 2字节表示货币值的整数部分,后面的一个字节表示货币值的整数部分,后面的一个2 2字节表示货币值的小数部分。以字节表示货币值的小数部分。以SmallmoneySmallmoney存储的货存储的货币值的范围从币值的范围从-214,748.3648-214,748.3648到到+214,748.3647+214,748.3647,也可,也可以精确到万分之一货币单位。以精确到万分之一货币单位。20计算机学院计算机学院 郭占龙郭占龙第第4章章 表的存储原理及完整性创建管理表的存储原理及完整性创建管理 大型数据库大型数据库 SQL Server 20054.3.3 4.3.3 字符型数据字符型数据 CharChar。利利用用CharChar数数据据类类型型存存储储数数据据时时,每每个个字字符符占占用用一一个个字字节节的的存存储储空空间间。CharChar数数据据类类型型使使用用固固定定长长度度来来存存储储字字符符,最最长长可可以以容容纳纳80008000个个字字符符。利利用用CharChar数数据据类类型型来来定定义义表表列列或或者者定定义义变变量量时时,应应该该给给定定数数据据的的最最大大长长度度。如如果果实实际际数数据据的的字字符符长长度度短短于于给给定定的的最最大大长长度度,则则多多余余的的字字节节会会用用空空格格填填充充。如如果果实实际际数数据据的的字字符符长长度度超超过过了了给给定定的的最最大大长长度度,则则超超过过的的字字符符将将会会被被截截断断。在在使使用用字字符符型型常常量量为为字字符符数数据据类类型型赋值时,必须使用单引号(赋值时,必须使用单引号()将字符型常量括起来。)将字符型常量括起来。VarcharVarchar。VarcharVarchar数据类型的使用方式与数据类型的使用方式与CharChar数据类型类似。数据类型类似。SQL SQL Server Server 利用利用VarcharVarchar数据类型来存储最长可以达到数据类型来存储最长可以达到80008000字符的变长字字符的变长字符。与符。与Char Char 数据类型不同,数据类型不同,VarcharVarchar数据类型的存储空间随存储在表数据类型的存储空间随存储在表列中的每一个数据的字符数的不同而变化。列中的每一个数据的字符数的不同而变化。TextText。当要存储的字符型数据非常庞大以至于当要存储的字符型数据非常庞大以至于80008000字节完全不够用字节完全不够用时,时,CharChar和和VarcharVarchar数据类型都失去了作用。这时应该选择数据类型都失去了作用。这时应该选择TextText数据数据类型。类型。TextText数据类型专门用于存储数量庞大的变长字符数据。最大长数据类型专门用于存储数量庞大的变长字符数据。最大长度可以达到度可以达到2 23131-1-1个字符,约个字符,约2GB2GB。21计算机学院计算机学院 郭占龙郭占龙第第4章章 表的存储原理及完整性创建管理表的存储原理及完整性创建管理 大型数据库大型数据库 SQL Server 20054.3.4 4.3.4 日期日期/时间数据类型时间数据类型 DatetimeDatetime。DatetimeDatetime数数据据类类型型范范围围从从17531753年年1 1月月1 1日日到到 99999999年年 1212月月 3131日日,可可 以以 精精 确确 到到 千千 分分 之之 一一 秒秒。DatetimeDatetime数据类型的数据占用数据类型的数据占用8 8个字节的存储空间。个字节的存储空间。SmalldatetimeSmalldatetime。SmalldatetimeSmalldatetime数据范围从数据范围从19001900年年1 1月月1 1日到日到20792079年年6 6月月6 6日,可以精确到分。日,可以精确到分。SmalldatetimeSmalldatetime数据类型占数据类型占4 4个字节的存储空间。个字节的存储空间。22计算机学院计算机学院 郭占龙郭占龙第第4章章 表的存储原理及完整性创建管理表的存储原理及完整性创建管理 大型数据库大型数据库 SQL Server 20054.3.5 二进制数据类型二进制数据类型 所所谓谓二二进进制制数数据据是是一一些些用用十十六六进进制制来来表表示示的的数数据据。例例如如,十进制数据十进制数据245245表示成十六进制数据就应该是表示成十六进制数据就应该是F5F5。(1 1)binarybinary。具具有有固固定定的的长长度度,最最大大长长度度可可以以达达到到8K8K字字节。节。(2 2)varbinaryvarbinary。具具有有不不固固定定的的长长度度,其其最最大大长长度度也也不不得超过得超过8K8K字节。字节。(3)Image。该该数数据据类类型型可可用用于于存存储储字字节节数数超超过过8K字字节节的的数数据据,比比如如Microsoft Word文文档档、Microsoft Excel图图表以及图像数据(包括表以及图像数据(包括.GIF、.BMP、.JPEG文件)等。文件)等。23计算机学院计算机学院 郭占龙郭占龙第第4章章 表的存储原理及完整性创建管理表的存储原理及完整性创建管理 大型数据库大型数据库 SQL Server 20054.3.5 双字节数据类型双字节数据类型(1 1)Nchar(nNchar(n)。Nchar(nNchar(n)是是固固定定长长度度的的双双字字节节数数据据类类型型,括括号号里里的的n n用用来来定定义义数数据据的的最最大大长长度度。n n的的取取值值范范围围是是1400014000。(2 2)Nvarchar(nNvarchar(n)。Nvarchar(nNvarchar(n)数数据据类类型型存存储储可可变变长长度度的的双双字字节节数数据据类类型型,括括号号里里的的n n用用来来定定义义数数据据的的最最大大长长度度。n n的取值为的取值为0400004000。(3)Ntext(n)。Ntext数数据据类类型型存存储储的的是是可可变变长长度度的的双双字字节节字字符符,Ntext数数据据类类型型突突破破了了前前2种种双双字字节节数数据据类类型型不不能能超超过过4000字字符符的的规规定定,最最多多可可以以存存储储多多达达230-1个个双双字字节字符。节字符。24计算机学院计算机学院 郭占龙郭占龙第第4章章 表的存储原理及完整性创建管理表的存储原理及完整性创建管理 大型数据库大型数据库 SQL Server 20054.4 数据表的创建和管理数据表的创建和管理 4.4.1 数据表结构的创建数据表结构的创建 4.4.2 数据表结构的管理数据表结构的管理 25计算机学院计算机学院 郭占龙郭占龙第第4章章 表的存储原理及完整性创建管理表的存储原理及完整性创建管理 大型数据库大型数据库 SQL Server 20054.4.1 数据表结构的创建 在在SQL Server 2005中,每个数据库中最多可以创中,每个数据库中最多可以创建建200万个表,用户创建数据库表时,最多可以定万个表,用户创建数据库表时,最多可以定义义1024列,也就是可以定义列,也就是可以定义1024个字段。个字段。SQL Server 2000提供了两种方法创建数据库表:提供了两种方法创建数据库表:第一种方法是利用企业管理器(第一种方法是利用企业管理器(Enterprise Manager)创建表;创建表;另一种方法是利用另一种方法是利用Transact-SQL语句中的语句中的create命命令创建表。令创建表。26计算机学院计算机学院 郭占龙郭占龙第第4章章 表的存储原理及完整性创建管理表的存储原理及完整性创建管理 大型数据库大型数据库 SQL Server 20051.利用利用create命令创建表命令创建表其语法形式如下:其语法形式如下:CREATE TABLE(列级完整性约束条件列级完整性约束条件,列级完整性约束条件列级完整性约束条件,)27计算机学院计算机学院 郭占龙郭占龙第第4章章 表的存储原理及完整性创建管理表的存储原理及完整性创建管理 大型数据库大型数据库 SQL Server 20051.利用利用create命令创建表命令创建表参数说明:参数说明:(1 1)是是所所要要定定义义的的基基本本表表的的名名字字。一一个个表表它它可可以以由由一一个个或或多个属性组成。多个属性组成。(2 2)一般取有实际意义的名字。一般取有实际意义的名字。(3 3)可以是前面介绍的数据类型。可以是前面介绍的数据类型。(4 4)在)在SQL Server 2000SQL Server 2000中有下面几种完整性约束条件:中有下面几种完整性约束条件:空值约束(空值约束(NULL or NOT NULL););主键约束(主键约束(primary key constraint););唯一性约束(唯一性约束(unique constraint););检查约束检查约束(check constraint););缺省约束(缺省约束(default constraint););外部键约外部键约束(束(foreign key constraint););规则(规则(rule););缺省值(缺省值(default)。)。28计算机学院计算机学院 郭占龙郭占龙第第4章章 表的存储原理及完整性创建管理表的存储原理及完整性创建管理 大型数据库大型数据库 SQL Server 20052关于创建表时运用约束的说明关于创建表时运用约束的说明(1 1)空值约束()空值约束(NULL or NOT NULLNULL or NOT NULL)空空值值NULLNULL约约束束决决定定属属性性值值是是否否允允许许为为空空值值(NULLNULL)。NULLNULL表表示示没没有有输输入入任任何何内内容容,它它不不是是零零和和空空白白,不不允允许许为为空空值值则则用用NOT NOT NULLNULL表示。表示。例如:设置属性例如:设置属性teacherteacher允许为空值。允许为空值。CREATE TABLE t(teacher char(8)NULL)29计算机学院计算机学院 郭占龙郭占龙第第4章章 表的存储原理及完整性创建管理表的存储原理及完整性创建管理 大型数据库大型数据库 SQL Server 20052关于创建表时运用约束的说明关于创建表时运用约束的说明(2 2)主键约束()主键约束(primary key constraintprimary key constraint)主主健健约约束束要要求求主主健健属属性性取取值值必必须须惟惟一一,一一个个表表只只能能包包含含一一个个主主健健约约束束。如如果果没没有有在在主主健健约约束束中中指指定定CLUSTEREDCLUSTERED或或NONCLUSTEREDNONCLUSTERED,并并且且没没有有为为UNIQUEUNIQUE约约束束指指定定聚聚集集索索引引,则则将将对对该该主主健健约约束束用用CLUSTEREDCLUSTERED。主键约束主键约束SQLSQL的语法形式如下:的语法形式如下:CONSTRAINT 约束名约束名 PRIMARY KEY CLUSTERED|NONCLUSTERED(列名列名,n)30计算机学院计算机学院 郭占龙郭占龙第第4章章 表的存储原理及完整性创建管理表的存储原理及完整性创建管理 大型数据库大型数据库 SQL Server 2005 例如:在执行创建产品信息表的操作时,指定产品编号为主键值。例如:在执行创建产品信息表的操作时,指定产品编号为主键值。CREATE TABLE products(id char(10)NOT NULL,name char(20)NOT NULL,price money,quantity smallint NUL

    注意事项

    本文(guo第4章表的存储原理及完整性创建管理.ppt)为本站会员(s****8)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开