多值依赖的定义:

设R(U)是一个属性集合U上的一个关系模式,X, Y, 和Z是U的子集,并且Z=U-X-Y,多值依赖X->->Y成立当且仅当对R的任一个关系r,r在(X,Z)上的每个值对应一组Y的值,这组值仅仅决定于X值而与Z值无关。

若X->->Y,而Z=空集,则称X->->Y为平凡的多值依赖。否则,称X->->Y为非平凡的多值依赖。

可以看出,如果把上面的一组改为一个,那么多值依赖就变成了函数依赖。当然一个值组成的组也是组,所以说,函数依赖是多值依赖的特殊情况。

如下表:

课程C                                   教师T                              参考书B

数学                                      邓军                                数学分析

数学                                      邓军                                高等代数

数学                                      邓军                                微分方程

表中,U = C+T+B,(C,T)确定一组B,但是这组B其实与T无关,仅由C确定,所以(C,T)->->B。又因为T不是空集,所以(C,T)->->B为非平凡多值依赖。

要想消除多只依赖,可以分解为:(C,T), (C,B)及

表1:

课程C                  教师T

数学                     邓军

表2:

课程C                    参考书B

数学                      数学分析

数学                      高等代数

数学                      微分方程

对于R中的每个非平凡多值依赖X->->Y(Y不属于X),X都含有候选码,则R属于4NF。

分析:对于每一个非平凡多值依赖X->->Y,X若含有候选码,也就是X->Y,所以4NF所允许的非平凡多值依赖是函数依赖。

函数依赖是唯一确定的关系,例如在一个表  授课(课程号,课程名,课程学分,教师号,教师姓名,参考书号,参考书名)。当然这个表的主键是(课程号,教师号,参考书号)

课程名和课程学分函数依赖课程号,也就是说课程号唯一确定名字和学分;

同理,教师姓名函数依赖教师号;参考书名函数依赖参考书号。

但是,教师号可能多值依赖课程号,因为给定一个(课程号,参考书号)的组合,可能有对应多个教师号。这是因为多个老师可以使用相同或不同的参考书上同一门课。

简单点讲,函数就是唯一确定的关系;多值依赖却不能唯一确定。

我是看了百度知道才明白的, 标公式的都去使啊看都看不懂, 部分函数依赖是一种特殊的多值依赖, 多值依赖是有多个教师依赖到同一个(课程号,参考书号)组合里了, 而部分函数依赖只是一个教师依赖一个(课程号,参考书号), 就是单单老王依赖于(01,数据库)中的01了, 这是部分函数依赖, 如果还有个老五也依赖于(01,数据库)中的01的话, 就是多值依赖了, 有n个值部分函数依赖于一个东西上了

.

贴一个分解为4NF的步骤

一般情况求主键只看函数依赖,但一般也不是与多值依赖无关
你说的问题有点象将一个关系分解成4NF,分解成4NF的步骤
1.先将该关系模式分解成BCNF,消除了基于函数依赖的多值依赖不包含码,因为各个子模式中的函数依赖的左部都包含码(书上有分解成BCNF的方法)
2.再在各个分解成BCNF的关系模式中,看是否有不是基于函数依赖的非平凡的多值依赖,也就是说例如一个子模式存在X-->Y,X-->Z,Z=U-X-Y,Z非空集,此时必定X不->Y且X不->Z,
分解成(X,Y)和(X,Z)就将该子模式分解成4NF了,理论上是这样,当然在一般的数工考试题目中不需要这样,有时当分解成3NF和BCNF时,原有的多值依赖就破坏了.

多值依赖与部分函数依赖相关推荐

  1. 多值依赖与部分函数依赖 转

    终于理解了多值依赖 转自http://blog.csdn.net/smstong " 多值依赖的定义: 设R(U)是一个属性集合U上的一个关系模式,X, Y, 和Z是U的子集,并且Z=U-X ...

  2. 6.0 《数据库系统概论》之关系数据库的规范化理论(数据依赖对表的影响[插入-删除-修改-冗余]、1NF-2NF-3NF-BCNF-4NF、函数依赖与多值依赖)

    文章目录 0.思维导图 1.为什么要学习关系数据库规范化理论? (1)基本概念回顾 (2)关系模式的形式化定义 (3)什么是数据依赖F? (4)数据依赖F对关系模式的影响 1️⃣ 数据冗余(Data ...

  3. 基本函数依赖和候选键_[总结]关系数据库设计基础(函数依赖、无损连接性、保持函数依赖、范式、……)...

    联系(Relationship)1:1联系:如果实体集E1中的每个实体最多只能和实体集E2中一个实体有联系,反之亦然,那么实体集E1对E2的联系成为一对一联系,记为1:1: 1:N联系:一对多,记为1 ...

  4. 传递函数依赖与第三范式

    基本概念 1.数据依赖 在计算机科学中,数据依赖是指一种状态,当程序结构导致数据引用之前处理过的数据时的状态.其中最重要的是函数依赖和多值依赖. 2.函数依赖 设X,Y是关系R的两个属性集合,当任何时 ...

  5. 第6章 关系数据理论—多值依赖和4NF

    第6章 关系数据理论-多值依赖和4NF 本篇文章全部内容来自数据库系统概论第五版-王珊.萨师煊著. 这是对自己学习的总结,如有错误,请大家指正,一起进步! 1.多值依赖 例:学校某一门课程由多个教授讲 ...

  6. 2019/5/12 查漏补缺

    目录 2019/5/12 查漏补缺 数据类型分为两大类:基本类型和引用类型: java中类的继承关系 关于接口 重载和重写 静态变量 java中的关键字和保留字 数据库操作 实现数据库收回部分权限的操 ...

  7. 数据库设计范式1NF-5NF白话总结

    NF: normal form,中文叫范式.实质是数据库建表的规则,旨在减少数据库存储的冗赘. 1NF 符合1NF的关系中的每个属性都不可再分. 相当于ER-diagram中任何multiple at ...

  8. 数据库设计的三大范式、BCNF、4NF

    一.理解数据库的范式需要理解几个基本概念: 码:表中可以唯一确定一个元组的某个属性(或者属性组),如果这样的码有不止一个,那么大家都叫候选码,我们从候选码中挑一个出来做老大,它就叫主码.相当于键值的意 ...

  9. 2022考研计算机-数据库原理教程1-7章

    文章链接 https://gitee.com/fakerlove/database-management-system 数据库系统概论-第五版 1. 绪论 1.1. 数据库4个基本概念 1.1.1. ...

最新文章

  1. php mssql_result 255 string,PHP连接MSSQL时nvarchar字段长度被截断为255的解决方法
  2. pyecharts第五节、关系图
  3. linux笔记:shell基础-bash基本功能
  4. 适合 Python 入门的 8 款强大工具,赶紧收藏一波!
  5. 全连接的多层神经网络结构(MultiLayerNet)
  6. .NET Core RSA 签名和验签(密钥为 16 进制编码)
  7. python视频教程-中谷python中文视频教程(全38集)
  8. 大数据可视化面临哪些挑战
  9. STM32F103_study62_The punctual atoms(Clock system initialization function analysis)
  10. 判断入射满射c语言编码,数学上可以分三类函数包括() 答案:单射双射满射...
  11. install package vif包_每天学点之CentOS软件源码包安装
  12. Python学习心得(一):词频统计,自顶向下设计
  13. Adaboost算法——详细讲解
  14. 使用google map v3 api 开发地图服务
  15. 端口号被占用的解决办法
  16. Xilinx PCIE CORE学习
  17. python语言创意绘画是什么-Python街机模块的draw系列绘画例子集合
  18. 重押农业,拼多多正在扛起乡村振兴大旗
  19. css3动画添加间隔
  20. 秒懂集成商,分销商和代理商的区别

热门文章

  1. 耐腐蚀六钼钢254SMO在板式换热器设备的应用
  2. 团队程序设计天梯赛-1.21排位赛总结
  3. VsCode官网快速下载
  4. 程序员创业会面临什么困境?
  5. 帆软-条形图点击柱子变色并联动图表js
  6. 电脑可以开机但是无法进入到桌面怎么办?
  7. 菜鸟教程之C语言基础(上)
  8. 重庆邮电大学计算机学硕好考吗,重庆邮电大学研究生好考吗
  9. 猴年马月!掌握JAVA
  10. 【GP】多目标规划建模方法