- 1、本文档共14页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
数据库系统概论第五章完整性控制
第5章 数据库完整性 * * 5.1 概述 1、定义 ——数据的正确性,有效性和相容性。 (防止不符合语义的数据的I/O) 2、功能 1)完整性要求定义; 2)监督事务执行,测试是否违反完整性限制条件; 3)若发生违反情况,则进行相应处理(拒绝、报告、纠正)。 5.2 完整性约束条件 1、基本概念 ① 定义 ——施加于DB中数据之上的语义限制条件 ② 约束对象 列级、元组级、关系级 ③ 约束对象状态 ·静态:反映DB状态合理性的约束。 ·动态:反映DB状态变迁的约束。 ④ 约束时机(Immediate constraints) (1)立即约束 ——一条语句执行完后立即检查。 (2)延迟约束(deferred constrants) ——事务执行结束后检查。 转帐,从A到B后,帐才能平,才能进行检查。 2、静态列级约束 ——对一个列的取值域的约束。 ① 数据类型约束 类型、长度、单位、精度 如XM为C型,长8位;YL为I型,长3位。 ② 数据格式约束 如工作证号前2位表示省,后3位表示县,后4位表示单位顺序号,后5位表示个人顺序号。 ③ 值域约束 CJ≤100,YL≤150,XB={男,女} ④ 空值约束 是否允许空值列。 如CJ可为空。 ⑤ 其它约束(如:列的排序、组合列等等) 3、静态元组约束 ——对一个(仅一个)元组中各列值间联系的约束。 如:总额≥单价 工龄年龄 4、静态关系约束 ——对一个关系中若干元组之间或若干关系的联系的约束。 ① 实体完整性约束; ② 参照完整性约束; ③ 函数依赖约束; ④ 统计约束; 如:职工最低工资不能低于本部门职工平均工资的50%。 5、动态列级约束 ——修改列定义或列值时的约束。 ① 修改定义约束 ——修改定义时新老值间的约束。 如:将允许空值列改为不允许空值时,若该列值已有空值,则不可修改。 ② 修改值约束 ——修改时新旧值间的约束。 如年龄不能修改得更小。 6、动态元组约束 ——修改元组时新旧值间的约束。 7、动态关系约束 ——施加于关系上的前后状态的约束 ① 一致性 ② 原子性 5.3 完整性控制 1、实体完整性(entity integrity) ——对关系模式主属性施加的完整性控制。 ① 不允许空; ② 例: student (XH,XM,XB,YL) XH不能为空 course(KH,KM) KH不能为空 Sc(XH,KH,CJ)XH, (XH,KH不能为空 Create table student (XH,Char (6) NOT NULL,…,); 2、参照完整性(referential integrity) ——对外码施加的完整性控制。 参照关系:外码所在关系,如SC 被参照关系:主码(同时又是另一关系中的外码)所在关系,如student, course. 外码:SC中的XH,KH 1)空值情况 ① 为空(SC中XH为空,表示无这个学生,或无学号学生选修了课程,不合应用语义) ,或; ② 对应被参照关系中该元组存在; ③ 是否可为空,据应用语义确定。 DEPT(DH,DM,DD) EMPL(DH,EH,XM) EMPL中DH可为空,表示该职员还未分配到任何部门工作。 2)删除被参照关系元组情况 ① 捆绑删除(cascades) ——参照与被参照关系中相关者一起删除。 ·被参照关系中外码元组删除 例如:删除99001号学生(或者01号课程) 如:删去student中XH=‘99001’的元组 删去course中KH=‘01’的元组 删去SC中学号为99001(课号为01)的所有元组 ·参照关系中与被参照关系中码值对应元组删除 ·诛连九族 如:若SC又是另一参照关系的被参照关系,则又删去之……。 ② 受限删除(restricted) ——参照关系没有一个外码与要删除的被参照关系的主码值相对应时才执行删除。 例如:若SC中外码值XH,无一个与主码值(Student.XH, course.KH)对应时才删去student、course中相应元组。 ③ 置空值删除(nullifies/set null) ·删去被参照关系中元组; ·参照关系中所有与被参照关系中已删去的主码值相等的外码值置为空值。 如:删去部门表中的某个部门,则职员表中原来属于该部门的职员的所属部门号置空。 ④ 说明 ·上述三种,选择哪一种实施,视应用需求确定。 如:学籍管理中,学生毕业了,删去选课及学生信息,故需捆绑删除(course不删)student信息。 ·DBMS提供相应选择机制。 3)修改被参照关系主码值情况 ① 捆绑修改(cascades) ·修改被参照关系中主码值。 如修改student中的XH=99003改为XH=99020 ·同时修改参照关系中相等外码值。 如:同时
您可能关注的文档
最近下载
- 2025CSCO非小细胞肺癌诊疗指南2025.docx
- 第二节+串并联电路中电流的规律(教学课件)物理鲁科版(五四学制)2024九年级上册.pptx VIP
- 电信研发工程师L1题库.xlsx VIP
- DBJD25-67-2019 甘肃省建筑与装饰工程预算定额地区基价 不含税 中册.docx VIP
- 水生态产品价值实现路径.pptx
- 学习解读《中华人民共和国反不正当竞争法》课件(2025年新修订版).pptx VIP
- 数据架构、应用架构、业务架构及技术架构4A架构设计方案.pptx VIP
- 组合式空调机组运行调试使用及维护.pdf VIP
- 工程类邀请招标文件参考模板.doc VIP
- 电力内外线课题六 配电线路设备.ppt VIP
文档评论(0)