数据库概论_完整性控制.pptx

数据库概论_完整性控制.pptx

ID:55781302

大小:2.24 MB

页数:18页

时间:2020-06-07

数据库概论_完整性控制.pptx_第1页
数据库概论_完整性控制.pptx_第2页
数据库概论_完整性控制.pptx_第3页
数据库概论_完整性控制.pptx_第4页
数据库概论_完整性控制.pptx_第5页
资源描述:

《数据库概论_完整性控制.pptx》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第四章完整性控制约束类型primarykeyuniqueforeignkeycheckdefault查看约束:sp_helpconstraintSysconstraints系统表列名数据类型描述constidint约束号idint拥有该约束的表IDcolidsmallint在其上定义约束的列ID,如果是表约束则为0statusint位图指示状态。可能的值包括:1=PRIMARYKEY约束2=UNIQUEKEY约束3=FOREIGNKEY约束4=CHECK约束5=DEFAULT约束16=列级约束32=表级约束自定制sp_helpconstraintselectOBJECT_NAME(cons

2、tid)'Constraintname',constid'ConstraintID',case(status&0xF)when1then'Primarykey'when2then'Unique'when3then'ForeignKey'when4then'Check'when5then'default'end'ConstraintType',case(status&0x30)when0x10then'Column'when0x20then'Table'else'NA'end'level'fromsysconstraintswhereid=OBJECT_ID('SC')primarykey与

3、unique都是通过唯一性索引来支持它们有何区别?一个带有唯一性声明的属性上有多少个null?createtablet1(col1intunique,col2int,col3int,unique(col2,col3))Col1Col2Col313425nullnull6null如何表达:每位老师在一定时间内只能负责一个项目?primarykey与unique的背后EXECsp_helpindext1constraint_typeconstraint_nameconstraint_keysUNIQUE(non-clustered)UQ__tt__440B1D61col2,col3UNIQUE

4、(non-clustered)UQ__tt__44FF419Acol1EXECsp_helpconstraintt1index_nameindex_descriptionindex_keysUQ__tt__440B1D61nonclustered,unique,uniquekeylocatedonPRIMARYcol2,col3UQ__tt__44FF419Anonclustered,unique,uniquekeylocatedonPRIMARYcol1foreignkey作为主码的关系称为基本关系,作为外码的关系称为依赖关系如何保证参照关系的完整性?仅仅监视依赖关系上的修改操作是不完备

5、的如果基本关系中的行可以随意修改又会如何?dnodnamed1CSd2MATHsnosnamednos1Tomd1s2Bobd2dnodnamed2MATHsnosnamednos1Tomd1s2Bobd2deleted1foreignkey:三种定义方式RESTRICT方式:只有当依赖关系中没有一个外码值与要删除(更新)的基本关系的主码值相对应时,才可以删除(更新)该行(的主码),否则系统拒绝此删除操作CASCADE方式:将依赖关系中所有外码值与基本关系中要删除的主码值所对应的行一起删除(将依赖关系中所有与基本关系中要修改的主码值所对应的外码值一起修改为新值)SETNULL方式:删除(更

6、新)基本关系中的行时,将依赖关系中与基本关系中被删(更新)主码值相对应的外码值置为空值外码的三种定义方式效果示例deleted1ondeleteRESTRICTondeleteSETNULLondeleteCASCADESQLServer外码定义方式:NOACTION、CASCADE、SETDEFAULTdnodnamed1CSd2MATHsnosnamednos1Tomd1s2Bobd2dnodnamed1CSd2MATHsnosnamednos1Tomd1s2Bobd2dnodnamed2MATHsnosnamednos2Bobd2dnodnamed2MATHsnosnamednos1

7、Tomnulls2Bobd2全局约束涉及多个属性间的或多个关系间的联系(snochar(8),cnochar(10),gradesmallint,primaykey(sno,cno),check(snoin(selectsnofromS)),check(cnoin(selectcnofromC)))如果S中删除行,不会触发check检查,只有SC表的更新才会触发上述的check定义是否等价于外码?约束命名及其定义cons

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。