电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

课程名称数据库系统课件

61页
  • 卖家[上传人]:我***
  • 文档编号:137930708
  • 上传时间:2020-07-12
  • 文档格式:PPT
  • 文档大小:157KB
  • / 61 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 1、An Introduction to Database System,1,数据库系统概论 An Introduction to Database System 第五章 数据库完整性,An Introduction to Database System,2,第五章 数据库完整性,什么是数据库的完整性 数据的正确性和相容性 防止不合语义的数据进入数据库。 例: 学生的年龄必须是整数,取值范围为14-50; 学生的性别只能是男或女; 学生的学号一定是唯一的; 学生所在的系必须是学校开设的系; 完整性:能否真实地反映现实世界,An Introduction to Database System,3,完整性控制机制,1.提供定义完整性约束条件的机制 2.提供完整性检查的方法 3.违约处理,An Introduction to Database System,4,完整性约束条件定义,完整性约束条件:数据模型的组成部分,约束数据库中数据的语义 DBMS应提供定义数据库完整性约束条件,并把它们作为模式的一部分存入数据库中,An Introduction to Database System,5,完整性

      2、控制机制,检查用户发出的操作请求是否违背了完整性约束条件,An Introduction to Database System,6,违约反应,如果发现用户的操作请求使数据违背了完整性约束条件,则采取一定的动作来保证数据的完整性。,An Introduction to Database System,7,第五章 数据库完整性,5.1 实体完整性 5.2 参照完整性 5.3 用户定义的完整性 5.4 完整性约束命名子句 5.5 域中的完整性限制 5.6 触发器 5.7 小结,An Introduction to Database System,8,5.1.1 实体完整性定义,关系模型的实体完整性在CREATE TABLE中用PRIMARY KEY 定义。 单属性的码: 定义为列级约束条件 定义为表级约束条件 多属性的码: 定义为表级约束条件 例1:将Student 表中的Sno属性定义为码: CREATE TABLE Student (Sno CHAR(9) PRIMARY KEY, Sname CHAR(20) NOT NULL, Ssex CHAR(2), Sage SMALLINT,

      3、 Sdept CHAR(20);,CREATE TABLE Student (Sno CHAR(9), Sname CHAR(20) NOT NULL, Ssex CHAR(2), Sage SMALLINT, Sdept CHAR(20) PRIMARY KEY (Sno );,An Introduction to Database System,9,实体完整性定义 举例,例2:将SC表中的Sno,Cno属性组定义为码 CREATE TABLE SC(Sno CHAR(9) NOT NULL, Cno CHAR(4) NOT NULL, Grade SMALLINT, PRIMARY KEY (Sno,Cno) );,An Introduction to Database System,10,5.1.2 实体完整性检查和违约处理,对定义主码的表,当用户要插入一条记录或对主码列进行更新操作时,要进行实体完整性规则自动检查。 检查主码值是否唯一,若不唯一则拒绝插入或修改; 检查主码的各个属性是否为空,只要有一个为空 就拒绝插入或修改。 检查方法:全表扫描 B+树索引,An Introdu

      4、ction to Database System,11,B+树索引,25,3 51,51 68 79,3 15 30,79 84 93,68 69 71 76,51 54 65,30 41,15 20 25,3 7,25,An Introduction to Database System,12,第五章 数据库完整性,5.1 实体完整性 5.2 参照完整性 5.3 用户定义的完整性 5.4 完整性约束命名子句 5.5 域中的完整性限制 5.6 触发器 5.7 小结,An Introduction to Database System,13,5.2.1 参照完整性定义,关系模型的参照完整性在CREATE TABLE中用FOREIGN KEY 短语定义哪些列为 外码,用REFERENCES短语指明外码参照哪些表的主码。 例3: CREATE TABLE SC (Sno CHAR(9) NOT NULL, Cno CHAR(4) NOT NULL, Grade SMALLINT, PRIMARY KEY (Sno,Cno), FOREIGN KEY (Sno) REFERENCES Stud

      5、ent(Sno), FOREIGN KEY (Cno) REFERENCES Course(Cno);,An Introduction to Database System,14,5.2.2参照完整性检查和违约处理,表5.1 可能破坏参照完整性的情况及违约处理,An Introduction to Database System,15,例:职工部门数据库包含职工表EMP和部门表DEPT 1 DEPT关系的主码为部门号Deptno 2 EMP关系的主码为职工号Empno, 外码为部门号Deptno 称DEPT为被参照关系或目标关系,EMP为参照关系 RDBMS实现参照完整性时需要考虑以下4方面:,5.2.2参照完整性检查和违约处理,An Introduction to Database System,16,1. 外码是否可以接受空值的问题,外码是否能够取空值:依赖于应用环境的语义 实现参照完整性: 系统提供定义外码的机制 定义外码列是否允许空值的机制,An Introduction to Database System,17,1. 外码是否可以接受空值的问题,例1:在职工部门数据库中,

      6、EMP关系包含有外码Deptno 某元组的这一列若为空值,表示这个职工尚未分配到任何具体的部门工作 和应用环境的语义是相符,An Introduction to Database System,18,1. 外码是否可以接受空值的问题,例2:学生选课数据库 Student关系为被参照关系,其主码为Sno。 SC为参照关系,外码为Sno。 若SC的Sno为空值:表明尚不存在的某个学生,或者某个不知学号的学生,选修了某门课程,其成绩记录在Grade中, 与学校的应用环境是不相符的,因此SC的Sno列不能取空值。,An Introduction to Database System,19,2.在被参照关系中删除元组时的问题,出现违约操作的情形: 删除被参照关系的某个元组(student) 而参照关系有若干元组(SC)的外码值与被删除的被参照关系的主码值相同,An Introduction to Database System,20,2.在被参照关系中删除元组时的问题,违约反应:可有三种策略 级联删除(CASCADES) 受限删除(RESTRICTED) 置空值删除(NULLIFIES) 这三种

      7、处理方法,哪一种是正确的,要依应用环境的语义来定,An Introduction to Database System,21,2.在被参照关系中删除元组时的问题,级联删除 将参照关系中外码值与被参照关系中要删除元 组主码值相对应的元组一起删除 受限删除 当参照关系中没有任何元组的外码值与要删除 的被参照关系的元组的主码值相对应时,系统 才执行删除操作,否则拒绝此删除操作,An Introduction to Database System,22,2.在被参照关系中删除元组时的问题,置空值删除 删除被参照关系的元组,并将参照关系 中与被参照关系中被删除元组主码值相 等的外码值置为空值。,An Introduction to Database System,23,2.在被参照关系中删除元组时的问题,例3:要删除Student关系中Sno=950001的元组, 而SC关系中有4个元组的Sno都等于950001。 级联删除:将SC关系中所有4个Sno=950001的元组一起删除。如果参照关系同时又是另一个关系的被参照关系,则这种删除操作会继续级联下去 受限删除:系统将拒绝执行此删除操作。,An

      8、 Introduction to Database System,24,2.在被参照关系中删除元组时的问题,置空值删除:将SC关系中所有Sno=950001的元组的Sno值置为空值。 在学生选课数据库中,显然第一种方法和第二种方法都是对的。第三种方法不符合应用环境语义。,An Introduction to Database System,25,3.在参照关系中插入元组时的问题,出现违约操作的情形 需要在参照关系中插入元组,而被参照关系不存在相应的元组 违约反应 受限插入 递归插入,An Introduction to Database System,26,3.在参照关系中插入元组时的问题,受限插入 仅当被参照关系中存在相应的元组,其主码值与参照关系插入元组的外码值相同时,系统才执行插入操作,否则拒绝此操作。 递归插入 首先向被参照关系中插入相应的元组,其主码值等于参照关系插入元组的外码值,然后向参照关系插入元组。,An Introduction to Database System,27,3.在参照关系中插入元组时的问题,例4:向SC关系插入(99001,1,90)元组,而Stude

      9、nt关系中尚没有Sno=99001的学生 受限插入:系统将拒绝向SC关系插入(99001,1,90)元组 递归插入:系统将首先向Student关系插入Sno=99001的元组,然后向SC关系插入(99001,1,90)元组。,An Introduction to Database System,28,4. 修改主码的问题,两种策略 (1)不允许修改主码 (2)允许修改主码,An Introduction to Database System,29,允许修改主码策略,违约操作 要修改被参照关系中某些元组的主码值,而参照关系中有些元组的外码值正好等于被参照关系要修改的主码值 要修改参照关系中某些元组的主码值,而被参照关系中没有任何元组的外码值等于被参照关系修改后的主码值,An Introduction to Database System,30,允许修改主码策略,违约反应 (1) 修改的关系是被参照关系:与删除类似 级联修改 受限修改 置空值修改,An Introduction to Database System,31,允许修改主码策略,级联修改 修改被参照关系中主码值同时,用相同的方法修改参照关系中相应的外码值。 受限修改 拒绝此修改操作。只当参照关系中没有任何元组的外码值等于被参照关系中某个元组的主码值时,这个元组的主码值才能被修改。 置空值修改 修改被参照关系中主码值,同时将参照关系中相应的外码值置为空值。,An Introduction to Database System,32,允许修改主码策略,例5:将Student关系中Sno=950001的元组中Sno值改为960123。而SC关系中有 4个元组的Sno=950001 级联修改:将SC关系中4个Sno=950001元组中的Sno值也改为960123。如果参照关系同时又是另一个关系的被参照关系,则这种修改操作会继续级联下去。,An Introduction to Database System,33,允许修改主码策略,受限修改:只有SC中没有任何元组的Sno=950001时,才能修改Student表中Sno=950001的元组的Sno值改为960123。 置空值修改:将Student表中Sno=

      《课程名称数据库系统课件》由会员我***分享,可在线阅读,更多相关《课程名称数据库系统课件》请在金锄头文库上搜索。

      点击阅读更多内容
    TA的资源
  • 2020届中考英语备考复习-作文课件

    2020届中考英语备考复习-作文课件

  • 2019年中考英语复习-专题十五-交际运用(试卷部分)课件

    2019年中考英语复习-专题十五-交际运用(试卷部分)课件

  • 2019届二轮复习-高中英语-情态动词和虚拟语气课件

    2019届二轮复习-高中英语-情态动词和虚拟语气课件

  • 2019届一轮复习苏教版物质的跨膜运输课件

    2019届一轮复习苏教版物质的跨膜运输课件

  • 2019年北师大版英语单元复习课件::Unit17Laughter课件北师大版选修6

    2019年北师大版英语单元复习课件::Unit17Laughter课件北师大版选修6

  • 2021届新中考物理冲刺备考复习-力-弹力-重力课件

    2021届新中考物理冲刺备考复习-力-弹力-重力课件

  • 2019届一轮复习人教版种群的特征和数量变化课件

    2019届一轮复习人教版种群的特征和数量变化课件

  • 2020年高考地理一轮复习--等高线地形图-课件

    2020年高考地理一轮复习--等高线地形图-课件

  • 2019版高考英语一轮复习-Unit-1-Living-well课件

    2019版高考英语一轮复习-Unit-1-Living-well课件

  • 2019届一轮复习人教版孟德尔的遗传定律——基因分离定律课件

    2019届一轮复习人教版孟德尔的遗传定律——基因分离定律课件

  • 2019届高三第二轮复习专题二万有引力定律及其应用课件

    2019届高三第二轮复习专题二万有引力定律及其应用课件

  • 2020最新部编版语文五年级上册23-鸟的天堂课件含课后练习

    2020最新部编版语文五年级上册23-鸟的天堂课件含课后练习

  • 2020版高考(浙江)一轮复习:第7讲-细胞呼吸课件

    2020版高考(浙江)一轮复习:第7讲-细胞呼吸课件

  • 2020年新教材高中英语UNIT4HISTORYANDTRADITIONSSectionⅢDiscoveringUsefulStructures课件必修第二册

    2020年新教材高中英语UNIT4HISTORYANDTRADITIONSSectionⅢDiscoveringUsefulStructures课件必修第二册

  • 2019届高考历史二轮复习阶段三专题十三罗斯福新政与当代资本主义的新变化课件2

    2019届高考历史二轮复习阶段三专题十三罗斯福新政与当代资本主义的新变化课件2

  • 2019版高考生物二轮复习-专题三-细胞的生命历程-考点9-细胞分裂过程图像和坐标曲线的识别课件

    2019版高考生物二轮复习-专题三-细胞的生命历程-考点9-细胞分裂过程图像和坐标曲线的识别课件

  • (通史版)2021版高考历史一轮复习第4部分高考讲座(三)2高考非选择题(12分开放探究题)规范答题讲练课件

    (通史版)2021版高考历史一轮复习第4部分高考讲座(三)2高考非选择题(12分开放探究题)规范答题讲练课件

  • 2019届高三地理复习第五讲--《区际联系与区域协调发展》课件

    2019届高三地理复习第五讲--《区际联系与区域协调发展》课件

  • 2021人教部编版历史九年级上册习题课件:第18课美国的独立

    2021人教部编版历史九年级上册习题课件:第18课美国的独立

  • 2020学年新教材高中英语Unit1FoodforthoughtPeriodTwoStartingout课件

    2020学年新教材高中英语Unit1FoodforthoughtPeriodTwoStartingout课件

  • 点击查看更多
    最新标签
    发车时刻表 长途客运 入党志愿书填写模板精品 庆祝建党101周年多体裁诗歌朗诵素材汇编10篇唯一微庆祝 智能家居系统本科论文 心得感悟 雁楠中学 20230513224122 2022 公安主题党日 部编版四年级第三单元综合性学习课件 机关事务中心2022年全面依法治区工作总结及来年工作安排 入党积极分子自我推荐 世界水日ppt 关于构建更高水平的全民健身公共服务体系的意见 空气单元分析 哈里德课件 2022年乡村振兴驻村工作计划 空气教材分析 五年级下册科学教材分析 退役军人事务局季度工作总结 集装箱房合同 2021年财务报表 2022年继续教育公需课 2022年公需课 2022年日历每月一张 名词性从句在写作中的应用 局域网技术与局域网组建 施工网格 薪资体系 运维实施方案 硫酸安全技术 柔韧训练 既有居住建筑节能改造技术规程 建筑工地疫情防控 大型工程技术风险 磷酸二氢钾 2022年小学三年级语文下册教学总结例文 少儿美术-小花 2022年环保倡议书模板六篇 2022年监理辞职报告精选 2022年畅想未来记叙文精品 企业信息化建设与管理课程实验指导书范本 草房子读后感-第1篇 小数乘整数教学PPT课件人教版五年级数学上册 2022年教师个人工作计划范本-工作计划 国学小名士经典诵读电视大赛观后感诵读经典传承美德 医疗质量管理制度 2 2022年小学体育教师学期工作总结 2022年家长会心得体会集合15篇
    关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
    手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
    ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.