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

真别看吧,抄ppt而已啊

文章目录

    • 6.1 引言
    • 6.2 规范化
      • 6.2.1 函数依赖
      • 6.2.2 码
      • 6.2.3 范式(Normal Form)
      • 6.2.4 BC范式
      • 6.2.5 规范化小结

6.1 引言

我们有这样一张表:
【数据库系统概论】第6章-关系数据库理论_第1张图片
but 为啥这样设计呢?由此引出怎样设计一个关系数据库的问题。
进而出现:数据库逻辑设计的工具——关系数据库的规范化理论
关系数据库有严格的理论支撑,这也是它的过人之处。

  • 回顾关系模式
    【数据库系统概论】第6章-关系数据库理论_第2张图片
    【数据库系统概论】第6章-关系数据库理论_第3张图片
  • 数据依赖
    【数据库系统概论】第6章-关系数据库理论_第4张图片
    【数据库系统概论】第6章-关系数据库理论_第5张图片
    【数据库系统概论】第6章-关系数据库理论_第6张图片
    根据上图,关系中的映射不一定是单射的,即y不能确定x。(可能处于既不满也不单的混合态)
    单射、满射、双射
    X -> Y,可以认为知道了元组的X就能确定它的Y。
  • 且看下面的问题
    【数据库系统概论】第6章-关系数据库理论_第7张图片
    【数据库系统概论】第6章-关系数据库理论_第8张图片
    【数据库系统概论】第6章-关系数据库理论_第9张图片
    这是一个关系模式,而且不咋地。
    Q: 怎么让它变好呢?
    A: 通过分解关系模式来消除其中不合适的数据依赖。
    【数据库系统概论】第6章-关系数据库理论_第10张图片
    为什么这样分解就好呢?
    引入关系规范化

6.2 规范化

6.2.1 函数依赖

  1. 定义
    【数据库系统概论】第6章-关系数据库理论_第11张图片
  2. 解释
    【数据库系统概论】第6章-关系数据库理论_第12张图片
  3. 平凡与非平凡函数依赖
    【数据库系统概论】第6章-关系数据库理论_第13张图片
    【数据库系统概论】第6章-关系数据库理论_第14张图片
  4. 完全函数与部分函数依赖
    【数据库系统概论】第6章-关系数据库理论_第15张图片
    【数据库系统概论】第6章-关系数据库理论_第16张图片
  5. 传递函数依赖
    【数据库系统概论】第6章-关系数据库理论_第17张图片
    事实上,如果 Y 是 X的子集或者,Y->X,那么X是直接函数决定Z的。
    【数据库系统概论】第6章-关系数据库理论_第18张图片

6.2.2 码

  • 主码、候选码
    【数据库系统概论】第6章-关系数据库理论_第19张图片
    在这里插入图片描述
  • 主属性、非主属性、全码
    【数据库系统概论】第6章-关系数据库理论_第20张图片
    【数据库系统概论】第6章-关系数据库理论_第21张图片
  • 外码
    【数据库系统概论】第6章-关系数据库理论_第22张图片
  • 习题
    【数据库系统概论】第6章-关系数据库理论_第23张图片
    AC -> A, AC -> C,
    A -> B => AC -> BC => AC -> D
    从而 AC -> U, AC为码
    

6.2.3 范式(Normal Form)

【数据库系统概论】第6章-关系数据库理论_第24张图片

  • 1NF
    【数据库系统概论】第6章-关系数据库理论_第25张图片
    反例:
    【数据库系统概论】第6章-关系数据库理论_第26张图片

  • 2NF
    在这里插入图片描述
    反例:
    【数据库系统概论】第6章-关系数据库理论_第27张图片
    坏处:
    【数据库系统概论】第6章-关系数据库理论_第28张图片
    解决方法:
    【数据库系统概论】第6章-关系数据库理论_第29张图片
    【数据库系统概论】第6章-关系数据库理论_第30张图片
    【数据库系统概论】第6章-关系数据库理论_第31张图片

  • 3NF

  1. 定义
    【数据库系统概论】第6章-关系数据库理论_第32张图片
    【数据库系统概论】第6章-关系数据库理论_第33张图片
    直白点说,sdept能确定sloc,你把sloc与sdept 放在一张表里是多余的,放到(sdept,sloc)这张表里一条就够了。
  2. 存在问题
    在这里插入图片描述
  3. 解决办法
    【数据库系统概论】第6章-关系数据库理论_第34张图片
    【数据库系统概论】第6章-关系数据库理论_第35张图片
    【数据库系统概论】第6章-关系数据库理论_第36张图片
  • 习题
    【数据库系统概论】第6章-关系数据库理论_第37张图片
    【数据库系统概论】第6章-关系数据库理论_第38张图片

6.2.4 BC范式

【数据库系统概论】第6章-关系数据库理论_第39张图片
【数据库系统概论】第6章-关系数据库理论_第40张图片
【数据库系统概论】第6章-关系数据库理论_第41张图片
【数据库系统概论】第6章-关系数据库理论_第42张图片
【数据库系统概论】第6章-关系数据库理论_第43张图片
【数据库系统概论】第6章-关系数据库理论_第44张图片

6.2.5 规范化小结

【数据库系统概论】第6章-关系数据库理论_第45张图片
【数据库系统概论】第6章-关系数据库理论_第46张图片

  • 习题
    【数据库系统概论】第6章-关系数据库理论_第47张图片
    【数据库系统概论】第6章-关系数据库理论_第48张图片
    【数据库系统概论】第6章-关系数据库理论_第49张图片

【数据库系统概论】第6章-关系数据库理论_第50张图片
【数据库系统概论】第6章-关系数据库理论_第51张图片
【数据库系统概论】第6章-关系数据库理论_第52张图片

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

你可能感兴趣的:(数据库,数据库)