当前位置: 首页 > news >正文

Multivalued Dependencies

目录

Definition of MVD

Example: MVD

MVD Rules

Fourth Normal Form

4NF Definition

BCNF Versus 4NF

Decomposition and 4NF

Example: 4NF Decomposition


Definition of MVD

A multivalued dependency (MVD) on R, X ->->

  • says that if two tuples of R agree on all the attributes of X, then their components in Y may be swapped(多值依赖讲的是当X中的值全相等,那么Y的值是可交换的)

  • the result will be two tuples that are also in the relation(交换后的元组也在关系中)

  • for each value of X, the values of Y are independent of the values of R-X-Y(Y的值是独立于其他属性的)

Example: MVD

Drinkers(name, addr, phones, beersLiked)

A drinker’s phones are independent of the beers they like.(phones是独立于喜爱的啤酒的)

name->->phones and name ->->beersLiked.

Thus, each of a drinker’s phones appears with each of the beers they like in all combinations.(饮酒者的电话号码与他们喜欢的啤酒自由组合)

This repetition is unlike FD redundancy.

name->addr is the only FD.

MVD Rules

Every FD is an MVD (promotion ).

  • If X ->Y, then swapping Y ’s between two tuples that agree on X doesn’t change the tuples.
  • Therefore, the “new” tuples are surely in the relation, and we know X ->->Y.

Complementation : If X ->->Y, and Z is all the other attributes, then X ->->Z.(多值依赖可以理解为相互独立

Fourth Normal Form

  • The redundancy(冗余) that comes from MVD’s is not removable by putting the database schema in BCNF.

  • There is a stronger normal form, called 4NF

that (intuitively) treats MVD’s as FD’s when it comes to decomposition, but not when determining keys of the relation.

4NF Definition

  • A relation R is in 4NF if: whenever X ->->Y is a nontrivial MVD, then X is a superkey.(当X非平凡多值依赖与Y时,X一定是超键)

  • Nontrivial MVD means that:

  1. Y is not a subset of X, and X and Y are not, together, all the attributes.

  • Note that the definition of “superkey” still depends on FD’s only.(注意的是超键的定义依然取决于函数依赖)

BCNF Versus 4NF

  • Remember that every FD X ->Y is also an MVD, X ->->Y

  • Thus, if R is in 4NF, it is certainly in BCNF.(模式R满足4NF一定满足BCNF)

  1. Because any BCNF violation is a 4NF violation (after conversion to an MVD).

  2. But R could be in BCNF and not 4NF, because MVD’s are “invisible” to BCNF.

Decomposition and 4NF

If X ->->Y is a 4NF violation for relation R, we can decompose R using the same technique as for BCNF.

  • XY is one of the decomposed relations.

  • All but Y X is the other.

Example: 4NF Decomposition

Drinkers(name, addr, phones, beersLiked)

FD: name -> addr

MVD’s: name ->-> phones 、name ->-> beersLiked

Key is {name, phones, beersLiked}.

  • Decompose using name -> addr: Drinkers1(name, addr) In 4NF;

only dependency is name -> addr.

  • Drinkers2(name, phones, beersLiked) Not in 4NF.

  • MVD’s name ->-> phones and name ->-> beersLiked apply.

No FD’s, so all three attributes form the key.

  • Either MVD name ->-> phones or name ->-> beersLiked tells us to decompose to: Drinkers3(name, phones) 、Drinkers4(name, beersLiked)

http://www.xdnf.cn/news/637687.html

相关文章:

  • CMake指令:find_package()
  • 【HarmonyOS5】DevEco Studio 使用指南:代码阅读与编辑功能详解
  • Java 接口
  • Flink 常用算子详解与最佳实践
  • PySide6 GUI 学习笔记——常用类及控件使用方法(常用图像类)
  • 运维Linux之Ansible详解学习(更新中)
  • 【linux篇】系统世界跳跃的音符:指令
  • SheetMetal_Unfold方法 FreeCAD_SheetMetal deepwiki 源码笔记
  • 【时时三省】Python 语言----牛客网刷题笔记
  • 【电路笔记】-音频变压器(Audio Transformer)
  • RAG系统构建之嵌入模型性能优化完整指南
  • 永磁同步电机控制算法--IP调节器
  • 前端面试热门知识点总结
  • MongoDB分布式架构详解:复制与分片的高可用与扩展之道
  • 【Vue3】(二)vue3语法详解:自定义泛型、生命周期、Hooks、路由
  • C51单片机学习笔记——矩阵按键
  • 【硬件测试】基于FPGA的BPSK+卷积编码Viterbi译码系统开发,包含帧同步,信道,误码统计,可设置SNR
  • 平流层通信系统的深度论述:其技术成熟将推动通信范式从“地面-卫星”二元架构向“地-空-天”三维融合跃迁
  • Linux初始-历史(1)
  • Java并发编程:全面解析锁策略、CAS与synchronized优化机制
  • 关于 Web 安全:5. 认证绕过与权限控制分析
  • L1-110 这不是字符串题 - java
  • Magic Resume:开源免费的AI简历制作应用(使用指南、场景分析)
  • 网络基础学习
  • TTL和死信交换机实现延迟队列
  • 测试工程师如何通俗理解和入门RAG:从“查资料”到“写答案”的智能升级
  • 双电机正交系统中惯性力偶矩拍频现象的机理与优化策略
  • mysql知识点1--了解数据库
  • 第十六篇:真正的学习,系统分析师考后总结
  • 理解 Redis 事务-21(使用事务实现原子操)