数据库默认值约束、默认值对象、检查约束、规则、完整性实现.ppt
《数据库默认值约束、默认值对象、检查约束、规则、完整性实现.ppt》由会员分享,可在线阅读,更多相关《数据库默认值约束、默认值对象、检查约束、规则、完整性实现.ppt(51页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、AnQing Teachers College Department of Computer&Information数据库原理与应用数据库原理与应用Principle and Application of Database system安庆师范学院计算机与信息学院安庆师范学院计算机与信息学院PrincipleandApplicationofDatabaseSystem13.1在表中定义及删除默认值约束1.默认值约束的定义默认值约束的定义1)定义表结构时定义字段的默认值约束定义表结构时定义字段的默认值约束语法格式:语法格式:CREATETABLEtable_name/*指定表名指定表名*/(co
2、lumn_namedatatypeNOTNULL|NULLDEFAULTconstraint_expression/*默认值约束表达式默认值约束表达式*/,n)/*定义列名、该列的数据类型、是否空值及默认值约束定义列名、该列的数据类型、是否空值及默认值约束*/PrincipleandApplicationofDatabaseSystemn例1 对于student数据库,定义studentx表时定义ssex字段的默认值约束为男。CREATE TABLE studentx(sno char(5)PRIMARY KEY,sname char(8),ssex char(2)DEFAULT 男,sbir
3、thday datetime,class char(5)PrincipleandApplicationofDatabaseSystem2)修改表添加一个字段的同时定义相应的约束)修改表添加一个字段的同时定义相应的约束语法格式:语法格式:ALTERTABLEtable_name/*指定表名指定表名*/ADDcolumn_namedatatypeNOTNULL|NULLCONSTRAINTconstraint_name/*指定约束名指定约束名*/DEFAULTconstraint_expressionWITHVALUES/*默认默认值约束表达式值约束表达式*/PrincipleandApplica
4、tionofDatabaseSystemWITH VALUES:n仅用在对表添加新字段的情况下,若使用了WITH VALUES,则将为表中各现有行添加的新字段提供默认值;如果没有使用WITH VALUES,那么每一行的新列中都将为NULL值。PrincipleandApplicationofDatabaseSystemn例2在修改表时添加一个字段,并定义默认值约束。ALTERTABLEstudentADDnationchar(16)NULLDEFAULT中国WITHVALUESPrincipleandApplicationofDatabaseSystem3)对表中指定的列定义默认值语法格式语法
5、格式:ALTERTABLEtable_nameADDCONSTRAINTconstraint_nameDEFAULTconstraint_expressionFORcolumnPrincipleandApplicationofDatabaseSystemALTERTABLEstudentADDDEFAULT男FORssexPrincipleandApplicationofDatabaseSystem2.默认值约束的删除默认值约束的删除 默认值约束可在SSMS中删除。如果已知一个默认值约束的约束名,也可在查询分析器中执行SQL命令删除ALTER TABLE student DROP CONSTR
6、AINT def_ssexPrincipleandApplicationofDatabaseSystem13.2默认值对象的定义、使用与删除1.通过通过SQL语句定义和绑定语句定义和绑定DEFAULT默认值对象默认值对象(1)通过SQL命令定义DEFAULT默认值对象定义DEFAULT默认值对象的命令如下。语法格式:CREATE DEFAULT default_name AS constant_expression(2)通过系统存储过程绑定DEFAULT默认值对象创建默认值对象后,要使其起作用,应使用 sp_bindefault存储过程将其绑定到列列或用户定义数据类型用户定义数据类型。语法格式
7、:EXEC sp_bindefault default_nametable_name.column_name.|user_datatypePrincipleandApplicationofDatabaseSystem例在student数据库中定义def_ssex的默认值对象,然后将其绑定到student表的ssex字段。USEstudentGOCREATEDEFAULTdef_ssexAS男GOEXECsp_bindefaultdef_ssex,student.ssexPrincipleandApplicationofDatabaseSystemn例在student数据库中定义名为birthd
8、ay_date的数据类型,然后定义默认值对象birthday并将其绑定到用户定义的数据类型birthday_date中。USEstudentGOEXECsp_addtypebirthday_date,datetime,NULLGOCREATEDEFAULTbirthdayAS1979-2-10GOEXECsp_bindefaultbirthday,birthday_datePrincipleandApplicationofDatabaseSystem13.2默认值对象的定义、使用与删除2.默认值对象的删除默认值对象的删除 如果要删除一个默认值对象,首先应解除默认值对象与用户定义类型及表字段的绑
9、定关系,然后才能删除该默认值对象。(1)利用sp_unbindefault解除绑定关系语法格式:sp_unbindefault objname=object_name(2)删除默认值对象解除默认值对象与用户定义类型及表字段的绑定关系后,即可用DROP语句删除默认值对象。语法格式:DROP DEFAULT default ,.n PrincipleandApplicationofDatabaseSystemn例解除默认值birthday与student数据库中用户定义数据类型birthday_date的绑定关系,然后删除名为birthday的默认值对象。USEstudentGOEXECsp_un
10、bindefaultbirthday_dateGODROPDEFAULTbirthdayPrincipleandApplicationofDatabaseSystem13.3数据完整性的分类域完整性又称为列完整性,指列数据输入的有效性。1.域完整性域完整性USE studentCREATE TABLE score1(sno char(5)NOT NULL,cno char(10)NOT NULL,degree numeric(4,1)NULL CHECK(degree=0 AND degree=0ANDdegree=0ANDdegree100GOEXECsp_bindrulechk_score
11、,score.degreeGOPrincipleandApplicationofDatabaseSystemn例:定义一个用户数据类型telphone,及规则tel_rule,然后将规则tel_rule绑定到用户数据类型telphone上,最后在表student一添加一telephone_no字段,其数据类型为telphone.USEstudentGOEXECsp_addtypetelephone,char(12),nullGOCREATERULEtel_ruleAStellike0-90-90-90-90-90-90-90-9GOEXECsp_bindruletel_rule,telepho
12、neGOPrincipleandApplicationofDatabaseSystemALTERTABLEstudentADDtelephone_notelephonePrincipleandApplicationofDatabaseSystem6.3.2域完整性的实现(4)规则对象的删除删除规则对象前,首先应使用系统存储过程sp_unbindrule解除被绑定对象与规则对象之间的绑定关系。语法格式:EXECsp_unbindruleobjname=object_namePrincipleandApplicationofDatabaseSystemn例解除tel_rule规则对象与用户定义类型
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 默认值约束、默认值对象、检查约束、规则、完整性实现 默认值 约束 对象 检查 规则 完整性 实现
限制150内