【数据库系统概论】第6章-关系数据库理论

发布时间:2023年12月28日

真别看吧,抄ppt而已啊

6.1 引言

我们有这样一张表:
在这里插入图片描述
but 为啥这样设计呢?由此引出怎样设计一个关系数据库的问题。
进而出现:数据库逻辑设计的工具——关系数据库的规范化理论
关系数据库有严格的理论支撑,这也是它的过人之处。

  • 回顾关系模式
    在这里插入图片描述
    在这里插入图片描述
  • 数据依赖
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    根据上图,关系中的映射不一定是单射的,即y不能确定x。(可能处于既不满也不单的混合态)
    单射、满射、双射
    X -> Y,可以认为知道了元组的X就能确定它的Y。
  • 且看下面的问题
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    这是一个关系模式,而且不咋地。
    Q: 怎么让它变好呢?
    A: 通过分解关系模式来消除其中不合适的数据依赖。
    在这里插入图片描述
    为什么这样分解就好呢?
    引入关系规范化

6.2 规范化

6.2.1 函数依赖

  1. 定义
    在这里插入图片描述
  2. 解释
    在这里插入图片描述
  3. 平凡与非平凡函数依赖
    在这里插入图片描述
    在这里插入图片描述
  4. 完全函数与部分函数依赖
    在这里插入图片描述
    在这里插入图片描述
  5. 传递函数依赖
    在这里插入图片描述
    事实上,如果 Y 是 X的子集或者,Y->X,那么X是直接函数决定Z的。
    在这里插入图片描述

6.2.2 码

  • 主码、候选码
    在这里插入图片描述
    在这里插入图片描述
  • 主属性、非主属性、全码
    在这里插入图片描述
    在这里插入图片描述
  • 外码
    在这里插入图片描述
  • 习题
    在这里插入图片描述
    AC -> A, AC -> C,
    A -> B => AC -> BC => AC -> D
    从而 AC -> U, AC为码
    

6.2.3 范式(Normal Form)

在这里插入图片描述

  • 1NF
    在这里插入图片描述
    反例:
    在这里插入图片描述

  • 2NF
    在这里插入图片描述
    反例:
    在这里插入图片描述
    坏处:
    在这里插入图片描述
    解决方法:
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

  • 3NF

  1. 定义
    在这里插入图片描述
    在这里插入图片描述
    直白点说,sdept能确定sloc,你把sloc与sdept 放在一张表里是多余的,放到(sdept,sloc)这张表里一条就够了。
  2. 存在问题
    在这里插入图片描述
  3. 解决办法
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
  • 习题
    在这里插入图片描述
    在这里插入图片描述

6.2.4 BC范式

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

6.2.5 规范化小结

在这里插入图片描述
在这里插入图片描述

  • 习题
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

分成若干子表以后要多设一个表来保存二者之间的关系。

文章来源:https://blog.csdn.net/qq_61832249/article/details/135268692
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。