数据库 第04章 创建数据类型和表课件

PPT
  • 阅读 83 次
  • 下载 0 次
  • 页数 30 页
  • 大小 339.000 KB
  • 2022-12-05 上传
  • 收藏
  • 违规举报
  • © 版权认领
下载文档15.00 元 加入VIP免费下载
此文档由【小橙橙】提供上传,收益归文档提供者,本网站只提供存储服务。若此文档侵犯了您的版权,欢迎进行违规举报版权认领
数据库 第04章   创建数据类型和表课件
可在后台配置第一页与第二页中间广告代码
数据库 第04章   创建数据类型和表课件
可在后台配置第二页与第三页中间广告代码
数据库 第04章   创建数据类型和表课件
可在后台配置第三页与第四页中间广告代码
数据库 第04章   创建数据类型和表课件
数据库 第04章   创建数据类型和表课件
还剩10页未读,继续阅读
【这是免费文档,您可以免费阅读】
/ 30
  • 收藏
  • 违规举报
  • © 版权认领
下载文档15.00 元 加入VIP免费下载
文本内容

【文档说明】数据库 第04章 创建数据类型和表课件.ppt,共(30)页,339.000 KB,由小橙橙上传

转载请保留链接:https://www.ichengzhen.cn/view-92410.html

以下为本文档部分文字说明:

Copyright@20081第4章创建数据类型和表创建数据类型创建表生成列值生成脚本推荐操作Copyright@20082创建数据类型系统提供的数据类型创建和删除用户定义的数据类型选择数据类型的指导原则3.1创建

数据类型Copyright@20083系统提供的数据类型数字数据整型数据:存储整数小数数据:包含存储在最小有效数上的数据3.1.1系统提供的数据类型bigint占8个字节,值的范围为-263~263-1int占4个字节,值的范围为-231~231-1smallint占2

个字节,值的范围为-32768~32767tinyint占1个字节,值的范围为0~255decimal[(p[,s])]p为精度,最大38;s为小数位数,0≤s≤pnumeric[(p[,s])]在SQLServer中,等价于decimalCopyright@20084系统提供的数据类型(续)数

字数据(续)近似数字数据:表示浮点数据的近似数字货币数据:表示正的或负的货币值3.1.1系统提供的数据类型float[(n)]从-1.79E+308到1.79E+308之间的浮点数字数据;n为用于存储科学记数法尾数的位数,同时指示其精度和存储大小,1

≤n≤53real从3.40E+38到3.40E+38之间的浮点数字数据,存储大小为4字节;SQLServer中,real的同义词为float(24)money占8个字节,值的范围为-922337203685477.5808~+922337203685477

.5807smallmoney占4个字节,值的范围为-214748.3648~214748.3647Copyright@20085系统提供的数据类型(续)日期和时间数据字符数据和Unicode字符数据

3.1.1系统提供的数据类型datetime占8个字节,表示从1753年1月1日到9999年12月31日的日期smalldatetime占4个字节,表示从1900年1月1日至2079年6月6日的日期char[(n)]存储字符个数为0~80

00varchar[(n)]存储字符个数为0~8000text存储字符个数为0~2GBnchar[(n)]存储字符个数为0~4000nvarchar[(n)]存储字符个数为0~4000ntext存储字符个数为0~1GBCopyright@20086系统

提供的数据类型(续)二进制数据其他3.1.1系统提供的数据类型binary[(n)]存储字节个数0~8000varbinary[(n)]存储字节个数0~8000image存储字节个数0~2Gbit存储位数据cursor

存储对游标的引用rowversion(timestamp)时间戳sql_variant可存储除text、ntext、image、rowversion之外的其他类型table存储函数返回结果uniqueidentifier存储GUID以及UUIDCopyright@20087

创建和删除用户定义的数据类型3.1.2创建和删除用户定义的数据类型为什么要自定义数据类型当多个表的列中要存储同样类型的数据,且想确保这些列具有完全相同的数据类型、长度和为空性时,可使用用户定义数据类型,以保证数

据的一致性创建用户定义的数据类型企业管理器系统存储过程sp_addtype{类型名},[‘系统数据类型’][,[‘NULL’|‘NOTNULL’]][,’拥有者’]删除用户定义的数据类型sp_droptype{‘

类型名’}Copyright@20088创建和删除用户定义的数据类型(续)3.1.2创建和删除用户定义的数据类型创建用户定义的数据类型:EXECsp_addtypecity,‘varchar(20)’,‘NULL’EXECsp_addtyperegion,‘v

archar(20)’,‘NULL’EXECsp_addtypecountry,‘varchar(40)’,‘NULL’删除用户定义的数据类型:EXECsp_droptypecityEXECsp_droptyperegionEXECsp_droptypecountryCopyright

@20089选择数据类型的指导原则若列值的长度相差很大,那么使用变长数据类型例如某列存储的是人名,地址等谨慎使用tinyint数据类型虽然节省空间,但扩展性很小对于小数数据来说,一般使用decimal数

据类型可以精确地控制精度如果行的存储量超过8000字节,使用text或者image若不大于8000字节,可使用char、varchar或者binary数据类型对于货币数据,使用money数据类型不要使用类型为floa

t或者real的列作为主键因为它们不精确,所以不适合用于比较3.1.3选择数据类型的指导原则Copyright@200810第4章创建数据类型和表创建数据类型创建表生成列值生成脚本推荐操作Copyright@200811创建表SQLSer

ver在行中组织数据的方式SQLServer组织text、ntext和image数据的方式创建和删除表添加和删除列3.2创建表Copyright@200812行中组织数据的方式行首定长数据NBVB变长数据空值块变长值块4字节数

据部分数据行由行首和数据部分组成行首:四个字节,包括了数据行中每列的信息数据部分定长数据:存放定长数据类型的列的数据空值块:标示值为空的列变长值块:标示值为变长数据的列的信息以及存放位置变长数据:存放变长数据

类型的列的数据3.2.1SQLServer在行中组织数据的方式Copyright@200813text、ntext和image数据的方式Text、ntext和image一般是存储在数据行之外的因为它们一般都比较大Text、ntext和image的存储结构在

数据行内存放一个16字节的指针,指向一个根结构根结构组成了一棵B树的根节点,B树的叶节点指向实际存放数据的数据块将大对象数据类型的数据存储在数据行中避免了多次查找数据块位置,可提高性能用sp_tableoption来设置表的text

inrow选项查看表的textinrow选项:objectproperty函数3.2.2SQLServer组织text、ntext和image数据的方式Copyright@200814text、ntext和image数据的方式(续)数据行text指针根结构中间节

点中间节点块1块2块1块23.2.2SQLServer组织text、ntext和image数据的方式Copyright@200815创建表命名表和列:数据库名.拥有者.表名数据库名默认为当前的工作数据库拥有者

默认为当前用户或者数据库的拥有者指定NULL或者NOTNULL确定列值是否可为空默认按照会话或者数据库的默认值设定计算列是一个虚的列,并不物理存放在表中当取列值的时候,SQLServer根据其他列的值和一个公式计算出列值创建和删除表3

.2.3创建和删除表Copyright@200816分隔标识符命名规则:保留字,如table、create、select等,不能作为对象标识符不符合标识符格式规则的标识符必须使用分隔符删除表DROPTABLE表名[,…n]创建和删除表(续)3.

2.3创建和删除表CREATETABLEcustomer(namechar(30),columnchar(12))CREATETABLEcustomer(namechar(30),“column”char(12))CREATETABLEcustome

r(namechar(30),[column]char(12))注:仅当QUOTED_IDENTIFIER选项设置为ON时,被引用的标识符才有效SETQUOTED_IDENTIFIERONCopyright@200817添加和删除列

3.2.4添加和删除列添加列语法:ALTERTABLE表名ADD列名数据类型[NULL|NOTNULL]ALTERTABLEXSADD奖学金等级tinyintNULLGOALTERTABLEXSALTERCOLUMN姓名char(10)ALTERCOLUMN出身时间d

atetimeGOCopyright@200818添加和删除列(续)3.2.4添加和删除列删除列语法:ALTERTABLE表名DROPCOLUMN列名[,…n]不能删除以下列正在复制的列用在索引中的列用在CHECK

、FOREIGNKEY、UNIQUE或PRIMARYKEY约束中的列与DEFAULT定义关联或绑定到某一默认对象的列绑定到规则的列Copyright@200819课堂练习添加列添加一个数值列添加列描述设置精度和小数位数设置列为标识列添加一个GUID列添加一个日期列添加

一个字符列保存并关闭表设计器Copyright@200820第4章创建数据类型和表创建数据类型创建表生成列值生成脚本推荐操作Copyright@200821生成列值使用Identity属性使用NEWID函数和uniqueidentifier数据类型3.3生成列值Copyright

@200822使用Identity属性使用Identity属性的要求每个表只能有一个标识列只用在int、smallint、tinyint和decimal数据类型上。若用于decimal,小数位数必须为0标

识列不能进行更新操作标识列不允许空值在查询中,可以用关键字IDENTITYCOL来代表一个表中的标识列使得不必指明标识列的列名,增加了灵活性3.3.1使用Identity属性Copyright@200823使用Identity属性(续)检索Identity属性的信息使用全局变量@@identit

y获得当前会话的所有作用域中的任何表最后生成的标识值例如:select@@identityfromEmployees返回Employees表中的标示列的最后一行的值使用函数IDENT_CURRENT返回任何会话和任何作用域中的特定表最后生成的标识值例如:selectIDEN

T_CURRENT(‘Employees’)管理Identity属性设置IDENTITY_INSERT为ON,可在INSERT中为标识列显式地插入用户提供的值使用DBCCCHECKIDENT检查当前标识值是否越界3.3.1使用Identity属性Copyright@200824使用u

niqueidentifier数据类型作用:确保ID的全局惟一性uniqueidentifier数据类型:存储GUIDNEWID函数:产生一个GUID两者常常和DEFAULT约束配合使用CREATETABLECustomer(CustIDuniqueidentifierNOTNU

LLDEFAULTNEWID(),CustNamechar(30)NOTNULL)3.3.2使用NEWID函数和uniqueidentifier数据类型Copyright@200825第4章创建数据类型和表

创建数据类型创建表生成列值生成脚本推荐操作Copyright@200826生成脚本使用企业管理器将模式生成Transact-SQL脚本维护备份脚本创建或者更新数据库开发脚本建立测试或开发环境训练新员工可以生成整个数据

库的一个创建脚本文件一个或多个表的若干个创建脚本文件表、索引以及存储过程等各个对象的脚本,可以分别存放在不同脚本文件里3.4生成脚本Copyright@200827第4章创建数据类型和表创建数据类型创建表生成列值生成脚本推荐操作Copyright@200828推荐操

作在CREATETABLE语句中总是指定列的特性产生脚本以重建数据库和数据库对象指定适当的数据类型和大小3.5推荐操作Copyright@200829目标创建用户定义数据类型创建表添加和删除列从数据库中生成Transact-SQL脚本练习1创建用户自定义数据类型练习2在ClassNorthw

ind数据库中创建表练习3添加和删除列练习4生成Transact-SQL脚本练习5在ClassNorthwind数据库中加载数据实验创建数据类型和表Copyright@200830回顾学习完本章后,将能够:创建和删除用户定义数据类型创建和删除用户表生成列值生成脚

小橙橙
小橙橙
文档分享,欢迎浏览!
  • 文档 25747
  • 被下载 7
  • 被收藏 0
相关资源
广告代码123
若发现您的权益受到侵害,请立即联系客服,我们会尽快为您处理。侵权客服QQ:395972555 (支持时间:9:00-21:00) 公众号
Powered by 太赞文库
×
确认删除?