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

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

第八章 关系数据库设计

8.1 好的关系设计的特点

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

8.2 原子域和第一范式

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

8.3 使用函数依赖进行分解

8.3.1 码和函数依赖(Functional Dependency)
  • 关系模式中的各属性之间相互依赖、相互制约的联系称为数据依赖
  • 数据依赖一般分为函数依赖、多值依赖和连接依赖。其中,函数依赖是最重要的数据依赖
  • 平凡/非平凡的函数依赖
    在这里插入图片描述
  • 完全函数依赖
    在这里插入图片描述
  • 传递函数依赖
    在这里插入图片描述

8.4 函数依赖理论

8.4.1 函数依赖集的闭包
  • 令F为一个函数依赖集。F的闭包是被F逻辑蕴含的所有函数依赖的集合,记作F+
  • Armstrong公理系统
    –三条规则
    在这里插入图片描述
    –简化后的规则
    在这里插入图片描述
    –名词英文解释:自反律(reflexivity rule)、增补律(augmentation rule)、传递律(transitivity rule)、合并律(union rule)、分解律(decomposition)、伪传递律(pseudotransitivity rule)
8.4.2 属性集的闭包
8.4.3 正则覆盖
  • 无关属性(extraneous attribute)
    在这里插入图片描述
  • 正则覆盖(canonical cover)
    –函数依赖集的等价性:函数依赖集F,G,若F+ = G+,则称F与G等价
    –F的正则覆盖Fc是与F等价的“最小”的依赖集,Fc满足以下性质:
    在这里插入图片描述
8.4.4 无损分解
  • 定义
    在这里插入图片描述
    –具有无损连接性的分解保证不丢失信息;无损连接性不一定能解决插入异常、删除异常、修改复杂、数据冗余等问题
    ·定理
    在这里插入图片描述
8.4.5 保持依赖
  • 定义
    在这里插入图片描述
  • 例子
    在这里插入图片描述

8.5 分解算法

  • 主属性:候选码中的属性
  • 非主属性:不包含在任何一个候选码中的属性
  • 范式
    –定义:范式是对关系的不同数据依赖程度的要求
    –类型
    *1NF:关系中每一分量不可再分。即不能以集合、序列等作为属性值
    *2NF:每个非主属性完全依赖于R的每一个候选关键字(消除非主属性对码的部分依赖)
    *3NF:如果R的任何一个非主属性都不传递依赖于它的任何一个侯选关键字,则称R是第三范式,简记为3NF(消除非主属性对码的传递依赖)
    *BCNF:BC范式要求所有非平凡函数依赖都形如X→Y,其中X是一个超码
  • 关系
    在这里插入图片描述
  • 算法
    –分解为BCNF(可能会丢失函数依赖)
    在这里插入图片描述
    –分解为3NF(无损)
    在这里插入图片描述
  • 6
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值