数据库默认值约束默认值对象检查约束规则完整性实现课件

上传人:cl****1 文档编号:574370422 上传时间:2024-08-16 格式:PPT 页数:51 大小:147.50KB
返回 下载 相关 举报
数据库默认值约束默认值对象检查约束规则完整性实现课件_第1页
第1页 / 共51页
数据库默认值约束默认值对象检查约束规则完整性实现课件_第2页
第2页 / 共51页
数据库默认值约束默认值对象检查约束规则完整性实现课件_第3页
第3页 / 共51页
数据库默认值约束默认值对象检查约束规则完整性实现课件_第4页
第4页 / 共51页
数据库默认值约束默认值对象检查约束规则完整性实现课件_第5页
第5页 / 共51页
点击查看更多>>
资源描述

《数据库默认值约束默认值对象检查约束规则完整性实现课件》由会员分享,可在线阅读,更多相关《数据库默认值约束默认值对象检查约束规则完整性实现课件(51页珍藏版)》请在金锄头文库上搜索。

1、AnQing Teachers College Department of Computer & Information数据库原理与应用数据库原理与应用Principle and Application of Database system安庆师范学院计算机与信息学院安庆师范学院计算机与信息学院数据库默认值约束默认值对象检查约束规则完整性实现13.1在表中定义及删除默认值约束1.默认值约束的定义默认值约束的定义1)定义表结构时定义字段的默认值约束定义表结构时定义字段的默认值约束语法格式:语法格式:CREATETABLEtable_name/*指定表名指定表名*/(column_namedata

2、typeNOTNULL|NULLDEFAULTconstraint_expression/*默认值约束表达式默认值约束表达式*/,n)/*定义列名、该列的数据类型、是否空值及默认值约束定义列名、该列的数据类型、是否空值及默认值约束*/数据库默认值约束默认值对象检查约束规则完整性实现n例1 对于student数据库,定义studentx表时定义ssex字段的默认值约束为男。CREATE TABLE studentx(sno char(5) PRIMARY KEY, sname char(8), ssex char(2) DEFAULT 男, sbirthday datetime, class c

3、har(5)数据库默认值约束默认值对象检查约束规则完整性实现2)修改表添加一个字段的同时定义相应的约束)修改表添加一个字段的同时定义相应的约束语法格式:语法格式:ALTERTABLEtable_name/*指定表名指定表名*/ADDcolumn_namedatatypeNOTNULL|NULLCONSTRAINTconstraint_name/*指定约束名指定约束名*/DEFAULTconstraint_expressionWITHVALUES/*默认默认值约束表达式值约束表达式*/数据库默认值约束默认值对象检查约束规则完整性实现WITH VALUES:n仅用在对表添加新字段的情况下,若使用了

4、WITH VALUES,则将为表中各现有行添加的新字段提供默认值;如果没有使用WITH VALUES,那么每一行的新列中都将为NULL值。数据库默认值约束默认值对象检查约束规则完整性实现n例2在修改表时添加一个字段,并定义默认值约束。ALTERTABLEstudentADDnationchar(16)NULLDEFAULT中国WITHVALUES数据库默认值约束默认值对象检查约束规则完整性实现3)对表中指定的列定义默认值语法格式语法格式:ALTERTABLEtable_nameADDCONSTRAINTconstraint_nameDEFAULTconstraint_expressionFOR

5、column数据库默认值约束默认值对象检查约束规则完整性实现ALTERTABLEstudentADDDEFAULT男FORssex数据库默认值约束默认值对象检查约束规则完整性实现2.默认值约束的删除默认值约束的删除 默认值约束可在SSMS中删除。如果已知一个默认值约束的约束名,也可在查询分析器中执行SQL命令删除ALTER TABLE student DROP CONSTRAINT def_ssex数据库默认值约束默认值对象检查约束规则完整性实现13.2默认值对象的定义、使用与删除1.通过通过SQL语句定义和绑定语句定义和绑定DEFAULT默认值对象默认值对象(1) 通过SQL命令定义DEFA

6、ULT默认值对象定义DEFAULT默认值对象的命令如下。语法格式:CREATE DEFAULT default_name AS constant_expression(2) 通过系统存储过程绑定DEFAULT默认值对象创建默认值对象后,要使其起作用,应使用 sp_bindefault存储过程将其绑定到列列或用户定义数据类型用户定义数据类型。语法格式:EXEC sp_bindefault default_nametable_name.column_name. | user_datatype数据库默认值约束默认值对象检查约束规则完整性实现例在student数据库中定义def_ssex的默认值对象,

7、然后将其绑定到student表的ssex字段。USEstudentGOCREATEDEFAULTdef_ssexAS男GOEXECsp_bindefaultdef_ssex,student.ssex数据库默认值约束默认值对象检查约束规则完整性实现n例在student数据库中定义名为birthday_date的数据类型,然后定义默认值对象birthday并将其绑定到用户定义的数据类型birthday_date中。USEstudentGOEXECsp_addtypebirthday_date,datetime,NULLGOCREATEDEFAULTbirthdayAS1979-2-10GOEXEC

8、sp_bindefaultbirthday,birthday_date数据库默认值约束默认值对象检查约束规则完整性实现13.2默认值对象的定义、使用与删除2.默认值对象的删除默认值对象的删除 如果要删除一个默认值对象,首先应解除默认值对象与用户定义类型及表字段的绑定关系,然后才能删除该默认值对象。(1) 利用sp_unbindefault解除绑定关系语法格式:sp_unbindefault objname = object_name(2) 删除默认值对象解除默认值对象与用户定义类型及表字段的绑定关系后,即可用DROP语句删除默认值对象。语法格式:DROP DEFAULT default ,.n

9、 数据库默认值约束默认值对象检查约束规则完整性实现n例解除默认值birthday与student数据库中用户定义数据类型birthday_date的绑定关系,然后删除名为birthday的默认值对象。USEstudentGOEXECsp_unbindefaultbirthday_dateGODROPDEFAULTbirthday数据库默认值约束默认值对象检查约束规则完整性实现13.3数据完整性的分类域完整性又称为列完整性,指列数据输入的有效性。1.域完整性域完整性USE studentCREATE TABLE score1( sno char(5) NOT NULL,cno char(10)

10、NOT NULL,degree numeric(4,1) NULL CHECK (degree =0 AND degree=0ANDdegree=0ANDdegree100GOEXECsp_bindrulechk_score,score.degreeGO数据库默认值约束默认值对象检查约束规则完整性实现n例:定义一个用户数据类型telphone,及规则tel_rule,然后将规则tel_rule绑定到用户数据类型telphone上,最后在表student一添加一telephone_no字段,其数据类型为telphone.USEstudentGOEXECsp_addtypetelephone,ch

11、ar(12),nullGOCREATERULEtel_ruleAStellike0-90-90-90-90-90-90-90-9GOEXECsp_bindruletel_rule,telephoneGO数据库默认值约束默认值对象检查约束规则完整性实现ALTERTABLEstudentADDtelephone_notelephone数据库默认值约束默认值对象检查约束规则完整性实现6.3.2域完整性的实现(4)规则对象的删除删除规则对象前,首先应使用系统存储过程sp_unbindrule解除被绑定对象与规则对象之间的绑定关系。语法格式:EXECsp_unbindruleobjname=object

12、_name数据库默认值约束默认值对象检查约束规则完整性实现n例解除tel_rule规则对象与用户定义类型telephone的绑定关系,并删除规则对象tel_rule.USEstudentGOEXECsp_unbindruletelephoneGODROPRULEtel_rule数据库默认值约束默认值对象检查约束规则完整性实现13.3.2实体完整性的实现1.利用利用SSMS创建和删除创建和删除PRIMARYKEY约束约束1)利用利用SSMS创建创建PRIMARYKEY约束约束 如果要对student表按sno字段建立PRIMARY KEY约束,按如下步骤进行:(1) 选择student表图标,右

13、击,出现快捷菜单,选择菜单项“设计表” 。(2) 在表设计器界面选中“sno”字段对应的这一行,选择主键图标,这样在“sno”对应的这一行前面,将出现一主键图标。2)利用利用SSMS删除删除PRIMARYKEY约束约束如下步骤进行:(1) 进入student表的表设计器界面;(2) 选中student表设计器中主键对应的行,点击工具栏的主键图标,则取消了原来定义的主键。1.选中此行2.点击主键图标数据库默认值约束默认值对象检查约束规则完整性实现6.3.3实体完整性的实现2.利用利用SSMS创建和删除创建和删除UNIQUE约束约束1)利用利用SSMS创建创建UNIQUE约束约束2)利用利用SSM

14、S删除删除UNIQUE约束约束数据库默认值约束默认值对象检查约束规则完整性实现6.3.3实体完整性的实现3利用利用SQL命令创建及删除命令创建及删除PRIMARYKEY约束或约束或UNIQUE约束约束1)创建表的同时创建创建表的同时创建PRIMARYKEY约束或约束或UNIQUE约束约束语法格式:语法格式:CREATETABLEtable_name/*指定表名指定表名*/(column_namedatatype/*定义字段定义字段*/CONSTRAINTconstraint_name/*约束名约束名*/NOTNULLPRIMARYKEYUNIQUE/*定义约束类型定义约束类型*/CLUSTER

15、ED|NONCLUSTERED/*定义约束的索引类型定义约束的索引类型*/,n)/*n表示可定义多个字段表示可定义多个字段*/数据库默认值约束默认值对象检查约束规则完整性实现n例:对student数据库中student2表的sno字段创建PRIMARYKEY约束,索引类型为非聚簇,对sname字段定义UNIQUE约束,索引类型为聚簇。数据库默认值约束默认值对象检查约束规则完整性实现CREATETABLEstudent2(snochar(5)PRIMARYKEYNONCLUSTERED,snamechar(8)UNIQUECLUSTERED,ssexchar(2),sbirthdaydateti

16、me,classchar(5)数据库默认值约束默认值对象检查约束规则完整性实现6.3.3实体完整性的实现2)通过修改表创建通过修改表创建PRIMARYKEY约束或约束或UNIQUE约束约束(1)创建创建PRIMARYKEY约束约束语法格式:语法格式:ALTERTABLEtable_nameADDCONSTRAINTconstraint_namePRIMARYKEYCLUSTERED|NONCLUSTERED(column,.n)(2)创建创建UNIQUE约束约束语法格式:语法格式:ALTERTABLEtable_nameADDCONSTRAINTconstraint_nameUNIQUECLU

17、STERED|NONCLUSTERED(column,.n)数据库默认值约束默认值对象检查约束规则完整性实现n例:先在student数据库中创建表student3,然后通过修改表,sno字段创建PRIMARYKEY约束,对sname字段定义UNIQUE约束。数据库默认值约束默认值对象检查约束规则完整性实现CREATETABLEstudent3(snochar(5)notnull,snamechar(8),ssexchar(2),sbirthdaydatetime,classchar(5)数据库默认值约束默认值对象检查约束规则完整性实现GOALTERTABLEstudent3ADDCONSTRA

18、INTstudent3_PKPRIMARYKEYNONCLUSTERED(sno)GOALTERTABLEstudent3ADDCONSTRAINTstudent3_UKUNIQUECLUSTERED(sname)数据库默认值约束默认值对象检查约束规则完整性实现3)删除删除PRIMARYKEY约束或约束或UNIQUE约约束束语法格式:语法格式:ALTERTABLEtable_nameDROPCONSTRAINTconstraint_name,n数据库默认值约束默认值对象检查约束规则完整性实现ALTERTABLEXS5DROPCONSTRAINTstudent3_PK,student3_UK数据

19、库默认值约束默认值对象检查约束规则完整性实现6.3.4参照完整性的实现1.利用利用SSMS定义表间的参照关系定义表间的参照关系数据库默认值约束默认值对象检查约束规则完整性实现6.3.4参照完整性的实现关系设置界面关系设置界面数据库默认值约束默认值对象检查约束规则完整性实现6.3.4参照完整性的实现2.利用利用SSMS删除表间的参照关系删除表间的参照关系 如果要删除前面建立的score表与student、course表之间的参照关系,可按以下步骤进行: (1) 进入主表或从表的表设计器界面,在此进入的是从表score的表设计器,右击鼠标,出现一快捷菜单,选择菜单项“关系”. (2) 在图的属性界

20、面的关系下拉表中选择要删除的关系,然后点击“删除”按钮,选择“关闭”按钮。score表的参照关系属性界面表的参照关系属性界面数据库默认值约束默认值对象检查约束规则完整性实现6.3.4参照完整性的实现3.利用利用SQL命令定义表间的参照关系命令定义表间的参照关系(1)创建表的同时定义外码约束创建表的同时定义外码约束语法格式:语法格式:CREATETABLEtable_name/*指定表名指定表名*/(column_namedatatypeFOREIGNKEYREFERENCESref_table(ref_column)ONDELETECASCADE|NOACTIONONUPDATECASCADE

21、|NOACTION,n)/*n表示可定义多个字段表示可定义多个字段*/数据库默认值约束默认值对象检查约束规则完整性实现n例在student数据库中创建主表student4,course4,sno为student4表的主键,cno为course4的唯一键,然后定义从表score4,score4.sno为外码,与student4表的主键对应,当对主表进行更新和删除操作时,对从表采用CASCADE操作,o为外码,与course4的唯一键对应,当对主表进行更新和删除时,对从表采用NOACTION方式。数据库默认值约束默认值对象检查约束规则完整性实现CREATETABLEstudent4(snochar

22、(5)PRIMARYKEY,snamechar(8),ssexchar(2),sbirthdaydatetime,classchar(5)数据库默认值约束默认值对象检查约束规则完整性实现CREATETABLEcourse4(cnochar(10)UNIQUE,cnamechar(16),tnochar(5)数据库默认值约束默认值对象检查约束规则完整性实现CREATETABLEscore4(snochar(5)FOREIGNKEYREFERENCESstudent4(sno)ONUPDATECASCADEONDELETECASCADE,cnochar(10)FOREIGNKEYREFERENCE

23、Scourse(cno)ONUPDATENOACTIONONDELETENOACTION,degreenumeric(18,1)数据库默认值约束默认值对象检查约束规则完整性实现(2)通过修改表定义外码约束语法格式:ALTERTABLEtable_nameADDCONSTRAINTconstraint_nameFOREIGNKEY(column,.n)REFERENCESref_table(ref_column,.n)ONDELETECASCADE|NOACTIONONUPDATECASCADE|NOACTION数据库默认值约束默认值对象检查约束规则完整性实现4.利用SQL命令删除表间的参照关系数据库默认值约束默认值对象检查约束规则完整性实现

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 教学/培训

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号