收藏 分享(赏)

第四课数据完整性之默认值约束及默认值对象(1).ppt

上传人:fmgc7290 文档编号:8429495 上传时间:2019-06-26 格式:PPT 页数:16 大小:1.47MB
下载 相关 举报
第四课数据完整性之默认值约束及默认值对象(1).ppt_第1页
第1页 / 共16页
第四课数据完整性之默认值约束及默认值对象(1).ppt_第2页
第2页 / 共16页
第四课数据完整性之默认值约束及默认值对象(1).ppt_第3页
第3页 / 共16页
第四课数据完整性之默认值约束及默认值对象(1).ppt_第4页
第4页 / 共16页
第四课数据完整性之默认值约束及默认值对象(1).ppt_第5页
第5页 / 共16页
点击查看更多>>
资源描述

1、数据完整性 之域完整性的实现(2),域完整性的实现,实现域完整性通过 CHECK约束 规则 默认值约束 默认值对象,默认值约束及默认值对象,可以为字段定义默认值,方便用户的使用。通过两种方式实现: (1)在创建表或修改表时,定义默认值约束。 (2)先定义默认值对象,然后将该对象绑定到表的相应字段。,默认值约束,1默认值约束的定义及删除 (1)定义 方法一:通过企业管理器实现 方法二:SQL语句实现创建表时定义一个字段的默认值约束 CREATE TABLE table_name /*指定表名 (column_name datatype NOT NULL | NULL DEFAULT constr

2、aint_expression /*默认值约束 ,n) 说明: constraint_expression表达式为默认值约束表达式,此表达式只能是常量、系统函数或NULL。对于timestamp或带IDENTITY属性的字段不能定义默认值约束。 课外阅读:,【例】在创建表时定义一个字段的默认值约束。,在定义默认值约束的同时指定约束名。 USE XS CREATE TABLE XSDA1 ( 学号 char(6) NOT NULL, 姓名 char(6) NOT NULL, 专业名 char(10) NULL, 性别 bit NOT NULL CONSTRAINT sexdflt DEFAULT

3、 1 ) GO 课外阅读:,默认值约束,方法三:SQL语句实现修改表时定义一个字段的默认值约束 【例】在修改表时定义一个新字段政治面貌并为其添加默认值约束团员。USE XSALTER TABLE XSDA1 ADD 政治面貌 char(4) NOT NULL CONSTRAINT zzmmdflt3 DEFAULT 团员 WITH VALUESGO 说明:如果添加的新列允许空值,若使用了WITH VALUES,则将为表中各现有行添加的新字段提供默认值;如果没有使用WITH VALUES,那么每一行的新列中都将为NULL值。如果添加的新列不允许空值,则不论是否有WITH VALUES选项,那么表

4、中各现有行添加的新字段都将取上述默认值。,默认值约束,【例5-12】在修改表时为学分字段添加默认值约束值为6。 USE XS ALTER TABLE KCXX ADD CONSTRAINT XF_DEFA DEFAULT(6) FOR 学分 GO (2)默认值约束的删除 【例5-12】删除上例定义的默认值约束。 USE XS ALTER TABLE XSDA DROP CONSTRAINT XF_DEFA GO(课外阅读:),默认值对象,2默认值对象的定义、使用及删除 (1)使用企业管理器定义和绑定DEFAULT默认值对象 使用企业管理器定义DEFAULT默认值对象 以XS数据库为例,对于XS

5、DA表中的民族字段,定义其默认值为“汉”。 使用企业管理器绑定DEFAULT默认值对象 默认值对象定义以后,要让它生效,必须绑定到列或用户定义数据类型。 方法1:右键单击默认值对象-【属性】,【绑定UDT】,表示绑定到用户定义数据类型;【绑定列】,表示绑定到列。 方法2:表设计器下拉列表,默认值对象,(2)使用T-SQL语句定义和绑定DEFAULT默认值对象 使用T-SQL语句定义DEFAULT默认值对象CREATE DEFAULT default_name ASconstant_expression说明:默认值对象名必须符合标识符规则。约束表达式constant_expression只能是常

6、量表达式。默认值对象必须与列数据类型兼容。 课外阅读:,默认值对象, 使用系统存储过程绑定默认值对象 sp_bindefault defname=default,objname=object_name说明: default指定默认值对象名; object_name指定准备绑定默认值对象的表的列名(格式为:表名.字段名)或用户定义的数据类型名。不能将默认值对象绑定到timestamp数据类型的列、带IDENTITY属性的列或者已经有DEFAULT约束的列; 课外阅读:,【例】对于前面所述的XSDA表中的民族字段可用如下程序实现默认值设置为“汉”。USE XSGOCREATE DEFAULT mz

7、_default AS 汉 GOEXEC sp_bindefault mz_default1,XSDA.民族GO 【例】在XS数据库中创建名为rxdate的默认值对象(取值为当前系统日期),然后将其绑定到XSXX表(例5-1中创建)的入学日期列。USE XSGOCREATE DEFAULT rxdate AS getdate()GOEXEC sp_bindefault rxdate,XSXX.入学日期GO,【例】对于前面所述的XSDA表中的民族字段可用如下程序实现默认值设置为“汉”。USE XSGOCREATE DEFAULT mz_default AS 汉 GOEXEC sp_bindefa

8、ult mz_default1,XSDA.民族GO 【例】在XS数据库中创建名为rxdate的默认值对象(取值为当前系统日期),然后将其绑定到XSXX表(例5-1中创建)的入学日期列。USE XSGOCREATE DEFAULT rxdate AS getdate()GOEXEC sp_bindefault rxdate,XSXX.入学日期GO,默认值对象,(3)默认值对象的删除 应解除默认值对象的绑定关系,然后才能删除该默认值对象。 使用sp_unbindefault解除绑定关系 sp_unbindefault objname=object_name说明:参数object_name为要解除默

9、认值对象绑定关系的字段名(格式为:表名.字段名)或用户定义类型名。 删除默认值对象 DROP DEFAULT default,n 说明:参数default为现有默认值对象名;参数n表示可以指定多个默认值对象同时删除。,【例】解除默认值对象xb_default与用户定义数据类型sex的绑定关系,然后删除名为xb_default的默认值对象。 USE XS IF EXISTS(SELECT name FROM sysobjectsWHERE name=xb_default AND type=D) BEGINEXEC sp_unbindefault sex DROP DEFAULT xb_default END GO,默认值约束与默认值对象的区别:,默认值约束是在一个表内针对某一个字段定义的,仅对该字段有效。 默认值对象是数据库对象之一,在一个数据库内定义,可绑定到一个用户定义数据类型或库中某个表的字段,可重复利用。,Thank You !,Add your company slogan,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报