数据库系统概念总结:第八章 关系数据库设计

周末无事水文章,期末备考的总结资料

第八章 关系数据库设计

8.1 好的关系设计的特点

  • 数据库逻辑设计主要解决的问题:
    –关系数据库应该组织成几个关系模式
    –关系模式中有包括哪些属性
  • 从不良的设计模式到良好的设计模式的过程
    数据库系统概念总结:第八章 关系数据库设计_第1张图片
  • 不良的设计模式(各种异常)
    A)数据冗余:看图不解释
    B)插入异常:如果某个新学院没有招生,尚无学生时,则学院名和院长的信息无法插入到数据库中
    C)删除异常:如果某个学生因为中途休学,而停选了所有课程,则他的所有信息都会被删除
    D)更新异常:如果学生改名,则该学生的所有记录都要逐一修改SN
    数据库系统概念总结:第八章 关系数据库设计_第2张图片

8.2 原子域和第一范式

  • 一个域是原子的(atomic),如果该域的元素被认为是不可分的单元。我们称一个关系模式R属于第一范式(First Normal Form,1NF)【关系中每一分量不可再分。即不能以集合、序列等作为属性值】

8.3 使用函数依赖进行分解

8.3.1 码和函数依赖(Functional Dependency)

  • 关系模式中的各属性之间相互依赖、相互制约的联系称为数据依赖
  • 数据依赖一般分为函数依赖、多值依赖和连接依赖。其中,函数依赖是最重要的数据依赖
  • 平凡/非平凡的函数依赖
    数据库系统概念总结:第八章 关系数据库设计_第3张图片
  • 完全函数依赖
    在这里插入图片描述
  • 传递函数依赖
    在这里插入图片描述

8.4 函数依赖理论

8.4.1 函数依赖集的闭包

  • 令F为一个函数依赖集。F的闭包是被F逻辑蕴含的所有函数依赖的集合,记作F+
  • Armstrong公理系统
    –三条规则
    数据库系统概念总结:第八章 关系数据库设计_第4张图片
    –简化后的规则
    数据库系统概念总结:第八章 关系数据库设计_第5张图片
    –名词英文解释:自反律(reflexivity rule)、增补律(augmentation rule)、传递律(transitivity rule)、合并律(union rule)、分解律(decomposition)、伪传递律(pseudotransitivity rule)

8.4.2 属性集的闭包

8.4.3 正则覆盖

  • 无关属性(extraneous attribute)
    数据库系统概念总结:第八章 关系数据库设计_第6张图片
  • 正则覆盖(canonical cover)
    –函数依赖集的等价性:函数依赖集F,G,若F+ = G+,则称F与G等价
    –F的正则覆盖Fc是与F等价的“最小”的依赖集,Fc满足以下性质:
    在这里插入图片描述

8.4.4 无损分解

  • 定义
    数据库系统概念总结:第八章 关系数据库设计_第7张图片
    –具有无损连接性的分解保证不丢失信息;无损连接性不一定能解决插入异常、删除异常、修改复杂、数据冗余等问题
    ·定理
    数据库系统概念总结:第八章 关系数据库设计_第8张图片

8.4.5 保持依赖

  • 定义
    数据库系统概念总结:第八章 关系数据库设计_第9张图片
  • 例子
    数据库系统概念总结:第八章 关系数据库设计_第10张图片

8.5 分解算法

  • 主属性:候选码中的属性
  • 非主属性:不包含在任何一个候选码中的属性
  • 范式
    –定义:范式是对关系的不同数据依赖程度的要求
    –类型
    *1NF:关系中每一分量不可再分。即不能以集合、序列等作为属性值
    *2NF:每个非主属性完全依赖于R的每一个候选关键字(消除非主属性对码的部分依赖)
    *3NF:如果R的任何一个非主属性都不传递依赖于它的任何一个侯选关键字,则称R是第三范式,简记为3NF(消除非主属性对码的传递依赖)
    *BCNF:BC范式要求所有非平凡函数依赖都形如X→Y,其中X是一个超码
  • 关系
    数据库系统概念总结:第八章 关系数据库设计_第11张图片
  • 算法
    –分解为BCNF(可能会丢失函数依赖)
    数据库系统概念总结:第八章 关系数据库设计_第12张图片
    –分解为3NF(无损)
    数据库系统概念总结:第八章 关系数据库设计_第13张图片

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