04第六章关系数据理论

  • 6.1问题的提出
    • 数据库设计步骤

    • 关系模式的形式化定义
      • 关系模式由五部分组成,是一个五元组:R(U, D, DOM, F)
      • 关系名R是符号化的元组语义
      • U为一组属性
      • D为属性组U中的属性所来自的域
      • DOM为属性到域的映射
      • F为属性组U上的一组数据依赖
      • 讨论R(U,F)
    • 数据依赖
      • 是一个关系内部属性与属性之间的一种约束关系。
      • 是现实世界属性间相互联系的抽象,是数据内在的性质,是语义的体现
      • 函数依赖(FD)在数据依赖中,函数依赖是最基本、最重要的一种依赖之一
        • 例如y=f(x)中一个x对应一个y 表中一个学号对应一个学生姓名
      • 多值依赖(自学)
    • Student关系中函数依赖
      • 在Student关系中:Sname=f(Sno),Sdept=f(Sno) 即Sno函数决定Sname Sno函数决定Sdept
      • 记作Sno→Sname,Sno→Sdept
      • x决定y y依赖X
      • 关系模式Student的属性集合为:U={Sno,Sdept,Mname,Cno,Grade}
      • 现实世界的已知事实(语义) :
        • (1)一个系有若干学生,但一个学生只属于一个系;Sno→Sdept
        • (2)一个系只有一名(正职)负责人;Sdept→Sname
        • (3)一个学生可以选修多门课程,每门课程有若干学生选修;
        • (4)每个学生学习每一门课程有一个成绩( Sno,Cno)→grade
    • Student关系模式存在的问题
      • (1)数据冗余
      • (2)修改异常
      • (3)插入异常
      • (4)删除异常
      • 由这个关系模式中的某些数据依赖存在某些不好的性质,用规范化理论改造关系模式来消除其中不合适的数据依赖,把这个单一的模式分成三个关系模式
  • 6.2规范化(重点)
    • 6.2.1  函数依赖
      • 对于R(A,B),如果A的每个值都是与B中惟一一个值对应,就称B函数依赖于A(表示为A→B)

      • 平凡的函数依赖与非平凡的函数依赖
        • 在关系模式R(U)中,对于U的子集X和Y,如果X→Y,但Y 不属于X,则称X→Y是非平凡的函数依赖 若X→Y,但Y 属于 X,   则称X→Y是平凡的函数依赖
        • 例:在关系SC(Sno, Cno, Grade)中 非平凡的函数依赖: (Sno, Cno) → Grade 平凡的函数依赖:     (Sno, Cno) → Sno (Sno, Cno) → Cno
        • 对于任一关系模式,平凡的函数依赖都是必然成立的,它不反映新的语义。若不特别声明, 我们总是讨论非平凡的函数依赖。
        • 非平凡函数
          • 完全函数依赖与部分函数依赖
            • 定义:在R(U)中,如果X→Y,并且对于X的任何一个真子集X,都有X/→Y(即缺一不可,必须全部出动)则称Y对X完全函数依赖,记作X F→  Y
            • 若X→Y,但Y不完全函数依赖于X,则称Y对X部分函数依赖,记作X  P →  Y
          • 传递函数依赖
            • 定义:在R(U)中,如果X→Y,(Y不属于X) ,Y→X,Y→Z, 则称Z对X传递函数依赖。
            • 记为:X → Z 注: 如果Y→X, 即X←→Y,则Z直接依赖于X
    • 6.2.2  码
      • 第一章 码是能够唯一确定某一个元组或某一条记录
      • 第二章唯一确定元组的最小属性组
      • 第六章 属性/属性集合能够完全决定R所有的属性
      • 定义:设K为R<U,F>中的属性或属性组合。若K  → F U, 则K称为R的侯选码若候选码多于一个,则选定其中的一个做为主码(Primary Key)。
      • 设K为R<U,F>中的属性或属性组合。若K —>  U, 则K称为R的侯选码  
      • 超码
        • 如果U部分函数依赖于K,即K →U,则称K为超码。候选码是最小的超码,即K的任意一个真子集都不是候选码。 候选码+属性=超码
      • 主属性与非主属性
        • 包含在任何一个候选码中的属性 ,称为主属性(Prime attribute)不包含在任何码中的属性称为非主属性(Nonprime attribute)或非码属性(Non-key attribute)

      • 全码
        • 整个属性组是码,称为全码(All-key)

      • 外部码
        • 定义6.5  关系模式 R中属性或属性组X 并非 R的码,但 X 是另一个关系模式的码,则称 X 是R 的外部码(Foreign key)也称外码
        • 主码与外部码一起提供了表示关系间联系的手段
    • 6.2.3  范式
      • 范式的作用
        • 衡量关系模式好坏的标准就是模式的范式,(Normal Forms,简记为NF)。范式的种类与数据依赖有着直接的联系,基于FD的范式有1NF,2NF,3NF,BCNF等多种。

        • 规范化

        • 第一范式
          • 1NF的定义
          • 如果一个关系模式R的所有属性都是不可分的基本数据项,则R∈1NF。
          • 第一范式是对关系模式的最起码的要求。不满足第一范式的数据库模式不能称为关系数据库
          • 但是满足第一范式的关系模式并不一定是一个好的关系模式
    • 6.2.4  2NF(重点)
    • 第二范式

    • 习题

      • 存在问题
        • (1)插入异常
          • 要插入的学生还未选课,即Cno为空值。
        • (2)删除异常
          • 某个学生只选修一门课程。
        • (3)修改复杂
          • 某学生从数学系转到计算机系,修改内容较多
      • 模式分解算法

        • 关系模式:S-L-C(Sno, Sdept, Sloc, Cno, Grade)
          • 分解成:(1)SC(Sno,Cno,Grade)(2)S-L(Sno,Sdept,Sloc)SC ∈2NF,S-L∈2NF

          • 箭头左边不可分,右边可以
            • AB➡️C AB➡️D AB为码 A→D 部分函数依赖 (有非主属性部分函数依赖码)
          • 1NF通过模式分解可以转化成2NF,主要消除了非主属性对码的部分函数依赖
          • 单个属性做码首先一定是第二范式
    • 6.2.5  3NF(重点)
      • 3NF 不传递依赖于任何的码 存在非主属性传递依赖与码的不是3NF

      • 模式分解算法
      • 非主属性传递依赖的优化

    • 6.2.6  BCNF(重点)
      • 消除主属性问题 如果一个关系数据库中的所有关系模式都属于BCNF,那么在函数依赖范畴内,它已实现了模式的彻底分解,达到了最高的规范化程度,消除了插入异常和删除异常。

      • 所有的函数依赖左边决定方是否含有候选码,有则为BCDF 非主属性为空

      • 3NF与BCNF的关系

    • *6.2.7  多值依赖
    • *6.2.8  4NF
    • 6.2.9  规范化小结
      • 基本思想:逐步消除数据依赖中不合适的部分
      • 实质:概念的单一化

  • 6.3数据依赖的公理系统(重难点)
  • 6.4模式分解
  • 6.5小结
    • 内容要求:1,了解什么是一个不好的数据库模式,关系模式的沉余和异常问题
    • 2.掌握数据依赖的基本概念,范式的概念,从1NF到BCNF的定义
    • 3.灵活掌握各级范式中存在的问题和解决办法---模式分解
  • 数据库逻辑设计的工具──关系数据库的规范化理论
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 《数据库系统概念第六版pdf》是一本经典的数据理论教材。本书系统地介绍了数据库系统的基本概念、SQL语言、数据模型、数据管理技术等内容。本书的特点是理论联系实践,强调数据库应用的实际场景,且涵盖了最新的数据库技术和概念。 本书主要分为八个章节,每个章节都是有机结合的,内容相互关联,从而构建一个关于数据库系统的完整知识体系。其中,第一章为引言,介绍了数据库的概念和发展历史。第二章介绍了关系模型,包括关系代数、SQL语言、实体关系图等。第三章介绍关系数据库设计的基本原则和步骤,包括ER图、范式设计等。第四章介绍了关系数据完整性和安全性的管理,包括数据约束、授权与角色等。第五章介绍了多表查询和关联查询的使用技巧。第六章介绍了SQL语言的高级特性,如嵌套查询、视图、事务等。第七章介绍了高级数据管理技术,如数据仓库、数据挖掘等。最后一章讨论了高可用性、分布式数据库、NoSQL等主题。 本书的编排清晰、内容全面,对于广大数据库从业者和学生都是一本非常优秀的教材。务实性的描述,让读者更容易理解。文字流畅且通俗易懂,例子或练习题更是帮助读者快速掌握。总体来说,这是一本被广泛认可和推荐的数据库教材。 ### 回答2: 《数据库系统概念第六版PDF》是一本深入介绍数据库系统理论和实践的学术著作,其主要内容包括数据库系统概述、关系模型、数据库语言SQL、关系数据库设计、关系数据库编程和应用等多个方面。 该书的内容涵盖了从数据库设计、实现到运行管理的全过程,对于需要从事数据库相关工作的人员具有非常实用的指导意义。同时,该书也提供了一些典型的数据库设计案例,作者讲述了如何在具体业务场景下进行数据库设计,并进行的详细解释和说明。这些案例不仅适用于初学者的实践训练,也可以为专业人士提供宝贵的参考和借鉴。 总之,《数据库系统概念第六版PDF》是一本综合性、深入剖析且具有实用性的数据库相关著作。无论是想要从事数据库相关的人员,还是已经从事多年的专业人士,都可以从这本书中获取到对数据理论和实践的增长、更新和加强。 ### 回答3: 《数据库系统概念第六版》是一本有关数据库系统概念和实现的经典教材。本书内容涵盖了数据库的基本概念,关系模型,关系代数和SQL语言,不同类型的数据模型(如面向对象、XML),事务管理和并发控制,数据仓库和数据挖掘等方面。作者以通俗易懂的方式,详细阐述了数据库系统的各个方面,使得读者能够理解数据库的基本原理和技术细节,从而能够更好地应用它们。 本书特点在于其广泛的覆盖面和深入的讲解。书中涵盖的内容包含了数据库系统的各个领域和各个方面,包括基础理论数据库设计、SQL语言、数据仓库与数据挖掘、事务处理、并发控制等。从此,读者可以全面掌握数据库的概念、基本原理和实际应用。此外,本书还特别强调了实践操作和案例研究,通过大量的实例和练习,帮助读者获得实践经验和实际应用能力。 总之,《数据库系统概念第六版》是一本非常优秀而且值得一读的数据库相关教材。它不仅适合计算机专业的大学生和研究生使用,也适合相关工作者阅读,增进其对数据库系统的理解和掌握,从而更好地应用和发挥它们的作用。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值