关系型数据库的设计理论(异常、函数依赖、范式)

异常

  • 数据冗余大:某个属性的值重复次数过多
  • 插入异常:没有主键属性的时候,其他属性无法插入
  • 删除异常:因删除某个属性所在的行而连带彻底删除了某些其他属性
  • 更新异常:属性的某个值发生改变时,因处理不当而没有完成该值对应的所有元组的修改

函数依赖

  • 数据依赖: 同一个关系中,属性间的相互依赖和相互制约。包括函数依赖、多值依赖、连接依赖。
  • 函数依赖: 指属性或属性之间一一对应的关系。关系R(U)是属性集U上的关系模式,X,Y时U的子集。若对于R(U)上任意关系r的任意两个元组,X相同则Y必相同(X可以决定Y),则称X函数确定Y函数,或Y函数依赖于X函数,记作:X→Y。X叫做决定因素,Y叫做依赖因素
    • 平凡的函数依赖
      X→Y,其中,Y是X的子集。(必定成立)
    • 非平凡的函数依赖
      X→Y,且Y不是X的子集。不特别声明,总是讨论非平凡依赖。
    • 完全函数依赖部分函数依赖
      对于 X→Y,如果能找到 X 的真子集 X’,使得 X’→ Y,那么 X->Y 就是部分函数依赖,否则就是完全函数依赖
    • 传递函数依赖
      如果X→Y,Y不是X的子集,Y→X不成立(为了排除直接X函数决定Z),Y→Z,则称Z对X传递函数依赖

范式

  • 概念
    • 第一范式(1NF): 数据表中的字段都是单一属性的,不可再分。这个单一属性由基本类型构成,包括整型、实数、字符型、逻辑型、日期型等。(不满足第一范式的不是关系模式
    • 第二范式(2NF): 在第一范式的基础上,数据表中所有非关键字段完全依赖任意一组候选关键字
    • 第三范式(3NF): 在第二范式的基础上,数据表中所有非关键字段不传递依赖任意一组候选关键字。(一般企业都要求满足
    • BCNF范式:也叫作扩充的第三范式,或修正的第三范式。消除了插入和删除异常。
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值