数据库函数依赖

数据库函数依赖数据库函数依赖一、函数依赖(FunctionalDependency)的概念      数据依赖的一种,它反映属性或属性组之间相依存,互相制约的关系,即反映现实世界的约束关系。二、定义    设R(U)是属性U上的一个关系模式,X和Y均为U={A1,A2,…,An}的子集,r为R的任一关系,如果对于r中的任意两个元组u,v,只要有u[X]=v[X],就有u

大家好,又见面了,我是你们的朋友全栈君。

一、函数依赖(Functional Dependency)的概念 
     
数据依赖的一种,它反映属性或属性组之间相依存,互相制约的关系,即反映现实世界的约束关系。

二、定义 
   
RU)是属性U上的一个关系模式,XY均为U={A1A2An}的子集,rR的任一关系,如果对于r中的任意两个元组uv,只要有u[X]=v[X],就有u[Y]=v[Y],则称X函数决定Y,或称Y函数依赖于X,记为XY 
例:
(sno-
学生IDtno-教师IDcno-课程IDsname-学生姓名,tname-教师姓名,cname-课程名称,grade-成绩)
1
snosname, cnocname,(sno,cno)grade √
2
snamesno, tnocno, snotname ×

三、函数依赖是语义范畴 
1
、语义:数据所反映的现实世界事物本质联系
2
、根据语义来确定函数依赖性的存在与否
3
、函数依赖反映属性之间的一般规律,必须在关系模式下的任一个关系r中都满足约束条件。

四、属性间的联系决定函数依赖关系 
XY均是U的子集
1
XY间联系是1:1,则XY,YX。(相互依赖,可记作X←→Y
2
XY间联系是M:1(M)XY
3
XY间联系是M:N(M,N),则XY间不存在函数依赖。

五、完全函数依赖和部分函数依赖 
1
、函数依赖分为完全函数依赖和部分函数依赖
2
、定义:
  
R(U)中,如果XY,并且对于X的任何真子集X’都有X’Y’,则称Y完全依赖于X,记作XY;否则,如果XY,且X中存在一个真子集X’,使得X’Y成立,则称Y部分依赖于X
例:
学生ID,学生姓名,所修课程ID,课程名称,成绩
(学生ID,所修课程ID成绩
成绩既不能单独依赖于学生ID,也不能单独依赖于所修课程ID,因此成绩完全函数依赖于关键字。
(学生ID,所修课程ID学生姓名
学生ID学生姓名
学生姓名可以依赖于关键字的一个主属性——学生ID,因此学生姓名部分函数依赖于(学生ID,所修课程ID)。

六、平凡函数依赖和非平凡函数依赖 
   
XY均为某关系上的属性集,且XY
    1)
Y包含于X,则称XY为:平凡函数依赖;(Sno, Cno) Sno  (Sno, Cno) Cno
    2)
Y不包含于X,则称XY为:非平凡函数依赖。(Sno, Cno) Grade
     Y
包含于X内,WX相交,与Y无直接交集。 
    
则:XY为平凡函数依赖
     X
W, WY为非平凡函数依赖

七、传递函数依赖 XYYZ Z传递函数依赖于X

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/148206.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • eclipse如何开发安卓_Android开发教程

    eclipse如何开发安卓_Android开发教程1.首先为了省事,下一个EclipseADTBundle 链接:https://blog.csdn.net/sinat_40692412/article/details/797597462.解压之后,打开eclipse.exe3.打开之后会看到,上面红框部分没有advmanager等快捷按钮。我们将其调出来,Window->OpenPerspective->Java。就出现了…

  • NLP系列笔记:通俗理解LDA主题模型

    NLP系列笔记:通俗理解LDA主题模型0前言    印象中,最开始听说“LDA”这个名词,是缘于rickjin在2013年3月写的一个LDA科普系列,叫LDA数学八卦,我当时一直想看来着,记得还打印过一次,但不知是因为这篇文档的前序铺垫太长(现在才意识到这些“铺垫”都是深刻理解LDA的基础,但如果没有人帮助初学者提纲挈领、把握主次、理清思路,则很容易陷入LDA的细枝末节之中),还是因为其中的数学推导细节太多,导致一直没有完整看完…

  • matlab secant method

    matlab secant method

    2021年12月16日
  • 播放.avi后缀视频报出0xc00d5212,编码格式不支持

    播放.avi后缀视频报出0xc00d5212,编码格式不支持以avi后缀的格式视频文件,在win10系统上播放可能会报如下如下错误:最普遍的现象就是高版本Windows媒体播放器播放不了采用早期编码编辑的AVI格式视频,而低版本Windows媒体播放器又播放不了采用最新编码编辑的AVI格式视频解决方案:这里我总结了两种方案:第一种:安装一个插件名字叫格式工厂,这款插件可以很好的支持大批量的文件格式转换,它会把avi视频转换成mp4格式视频,…

  • Qt:windows下Qt安装教程

    Qt:windows下Qt安装教程win10按照qt

  • 部署Vista – 第7部分:创建一个最小化的应答文件

    部署Vista – 第7部分:创建一个最小化的应答文件

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号