函数依赖是关系数据库中非常重要的概念
包括平凡依赖,完全依赖,部分依赖以及传递依赖 ,这些都是关系数据库范式的基础

函数依赖基本概念

函数依赖基本定义

简单来说就是,只要属性X的属性值一样(x1=x2) 那么 属性Y中的属性值就一样(y1=y2),就说明Y依赖于X

例题:判断是否函数依赖

  • 先看A-> D ,由于第一行的a1对应d1,第二行的a1对应d2
    说明a1分别对应d1和d2 两个值,所以A->D的函数依赖不成立
  • AB -> D 的函数依赖是成立的 (因为左边相同的属性,右边均相同)
  • C -> BDE 成立
  • E -> A不成立 ,因为取e1的时候,e1对应了a中的多个值,所以不成立

平凡依赖,完全依赖,部分依赖,传递依赖

1.平凡依赖与非平凡依赖

2.完全依赖和部分依赖


比如说,{学号,课程号}-> 姓名,同时也有{学号} -> 姓名
由于{学号}是{学号,课程号}的真子集。 所以 {学号,课程号}-> 姓名 是部分函数依赖

3.传递依赖


比如说 , 学号 - > 班号 , 班号 - > 班长,推出 => 学号 - > 班长
所以 “班长” 传递依赖于 “学号”
还有一个例子: 过去 - > 现在,现在 - > 未来, 推出 过去 -> 未来
所以 “未来” 传递依赖于 “过去”


例题

基本函数依赖的关系已经在图里面给出了答案,
依赖性质很好判断!就不多说啦~

数据库基础(3)函数依赖-平凡依赖,完全依赖,部分依赖,传递依赖相关推荐

  1. Maven dependencyManagement中的依赖版本会覆盖传递依赖版本

    最近在项目中使用Maven遇到一个问题,明明传递依赖进来的是最新版本,但引用的还是旧版本.原来在parent pom中的dependencyManagement里指定了一个低版本的依赖,然后传递依赖的 ...

  2. 数据库传递依赖,什么叫做传递依赖?

    数据库传递依赖 不存在传递依赖是数据库第三范式的规定,本人将传递依赖总结为以下内容,请仔细阅读并思考其中的道理. "一个实体对应多个属性和一定的联系,不能将多个实体和多个实体的属性放入一个表 ...

  3. 数据库基础1—函数依赖 多值依赖

    在数据库知识中有讲到数据库的函数依赖,好几种依赖,希望能进行一下总结: 一.函数依赖(Functional Dependency)的概念 函数依赖是数据依赖的一种,它反映属性或属性组之间相依存,互相制 ...

  4. 数据库基础知识及概念

    数据库结构化的目的: 减少数据冗余 尽量避免数据维护中出现的更新,插入和删除异常.如插入异常如果表中的某一个实体随着另一个实体而存在.更新时更改表中某一个实体的单独属性时,需要对多行进行更改.删除表中 ...

  5. oracle数据库基础知识总结,我见过的最值得收藏的Oracle数据库知识点总结(III)...

    16.select语句和update语句 --select语句的基本用法 select * from myusers; --修改李四的工资为5000 --修改李连杰的工资为10000 update m ...

  6. 【转】Maven实战(七)---传递依赖

    原博文出自于:http://blog.csdn.net/liutengteng130/article/details/47000069   感谢! 假设A-->C  B-->A      ...

  7. java 依赖倒置_JAVA设计模式之依赖倒转原则

    3.1 依赖倒置原则的定义 依赖倒置原则(Dependence Inversion Principle,简称DIP)这个名字看着有点别扭,"依赖"还"倒置",这 ...

  8. 数据库三大范式详解,部分依赖、完全依赖、传递依赖

    数据库三大范式详解以及部分.完全.传递依赖 一.第一范式 二.第二范式 三.第三范式 四.部分依赖.完全依赖.传递依赖 完结撒花 一.第一范式 数据库每一列都是不可分的基本数据项(原子数据项) 就比如 ...

  9. 数据库三范式 无重复列 完全依赖主键 属性不依赖非主属性

    参考:http://www.cnblogs.com/xrq730/p/5100442.html 细说数据库三范式 2.1 第一范式(1NF)无重复的列,保证每列的原子性,即每一列的各个属性值之间不能有 ...

  10. 数据库的部分依赖,完全依赖,传递依赖以及三种范式总结

    关系数据库理论也称为关系的规范化理论,是数据库的理论基础,同时也是数据库设计的有力工具. 规范化,数据依赖的公理系统和模式的分解是本科阶段要了解的内容,而后两者在研究生学习阶段需要加深巩固,所以对这几 ...

最新文章

  1. apache和tomcat区别
  2. sql语句的编程手册(2)
  3. TK:vtkCellTreeLocator用法实战
  4. element更改表格表头、行、指定单元格样式
  5. VOC和COCO数据集标注格式的介绍
  6. 解码(四):avcodec_send_packet和avcodec_receive_frame函数讲解
  7. oracle零碎要点---oracle em的web访问地址忘了
  8. 机器学习与计算机视觉(移动端深度学习优化框架)
  9. BZOJ3224 Tyvj 1728 普通平衡树
  10. android学习之ListView如何使用
  11. iOS开发计算工程里面的代码行数
  12. atitit.项目设计模式---ioc attilax总结
  13. 【资料分享】500篇干货解读人工智能新时代
  14. 阿里聚合直播盒子APP源码™ AlijuheCMS Build Demo 20190206
  15. 维纳滤波python 函数_Python中离焦图像的维纳滤波
  16. 农夫山泉做起“烧水工,熟水市场的魅力究竟有多大?
  17. Dmoz中文目录收录的中文博客
  18. Bluetooth HCI介绍
  19. 毛不易 胡同 伴奏 高品质定制纯伴奏
  20. 人民的名义1-55集全 已看完(观后感)

热门文章

  1. [转载] 中华典故故事(孙刚)——19 万岁
  2. SQL2005企业版详细部署(一)
  3. 作业调度之先来先服务算法C语言实现
  4. oracle ebs工单入库,ORACLE-EBS_库存功能点操作模块.doc
  5. 算法学习:最小生成树
  6. 南阳oj-----Registration system(map)
  7. 树莓派python编程小车_树莓派智能车AlphaBot教程11:Python 网络编程
  8. java 单体 启动优化_java设计优化之单例模式
  9. python怎么恢复默认窗口_如何恢复python编程环境spyder的窗口?
  10. 机试:Python的代码模板、OJ技巧