精华内容
下载资源
问答
  • 数据库部分函数依赖 完全函数依赖 传递函数依赖 第一范式、第二范式、第三范式、BCNF范式区别 在理解函数依赖之前,先来看一下函数依赖分析: 在关系中,包括在任何候选码中的属性称为主属性;不包括在任何候选...

    数据库 部分函数依赖 完全函数依赖  传递函数依赖  第一范式、第二范式、第三范式、BCNF范式区别

     

    在理解函数依赖之前,先来看一下函数依赖分析:

    在关系中,包括在任何候选码中的属性称为主属性;不包括在任何候选码中的属性称为非主属性

    函数依赖只分析关系中的非主属性对主属性之间的依赖关系,并不分析主属性对主键(码)的依赖关系。

     

    具体关于部分函数依赖和完全函数依赖的定义,网上有很多,但大多都是概念,这里我从例子入手来分析,使大家更好的掌握部分函数依赖、完全函数依赖和传递函数依赖。

     

    假设存在关系:

    R(学号,姓名,性别,班级,班主任,课程号,课程名,学时数,成绩)

    主键:学号+课程号

    主属性:{学号,课程号}

    非主属性有:{姓名,性别,班级,班主任,课程名,学时数,成绩}

     

    完全函数依赖分析

    成绩依赖于学号和课程号两个字段的组合;但只知道学号无法确定成绩,同理只知道课程号也无法确定成绩;只有学号和课程号组合在一起才能标识哪个学生哪门课程的成绩;

    因此(学号,课程号)---->成绩  是“完全函数依赖”。

     


    部分函数依赖分析

    姓名、性别和班级三个属性只依赖于主键中的学号,与“课程号”无关。

    因此(学号,课程号)---->姓名是“部分函数依赖”

    (学号,课程号)---->性别是“部分函数依赖”

    (学号,课程号)----->班级是“部分函数依赖”

    课程名和学时数只依赖于课程号,

    因此(学号,课程号)----->课程名是“部分函数依赖”

     

    传递函数依赖分析

    班主任依赖于班级,与学号无关,与课程号也无关

    又因班级依赖于学号所以班主任间接依赖于学号

    因此,(学号,课程号)----->班主任是传递函数依赖

     

    范式这里就不说课本、网上那些晦涩难懂的概念了。

    1NF:无重复的列(数据库表中的每一列都是不可分割的基本数据项)

    2NF:满足1NF且非主键列都完全函数依赖于主键。

    3NF:满足2NF且非主属性列都不传递依赖于主键。

    BCNF:满足3NF且不允许主键的一部分被另一部分或其它部分所决定(即满足3范式,并且主属性之间没有依赖关系)。

     

    展开全文
  • 数据库函数依赖——完全函数依赖、部分函数依赖、传递函数依赖【通俗易懂,博主会讲人话】 数据库函数依赖——完全函数依赖、部分函数依赖、传递函数依赖【通俗易懂,博主会讲人话】 1、函数依赖:在一个表里面,...

    1、函数依赖:在一个表里面,属性X可以映射到属性Y,也就是说知道了X就能确定Y,称X为决定因素。

    举栗子🌰:有一个关系模式S(Sno,Sname,Sage)

    如果知道了一个学生的学号Sno,那我就能确定他的姓名Sname和年龄Sage。
    函数依赖

    当然,如果你强制规定学生姓名不能重复。那么,知道了一个学生的姓名也是可以确定其他属性的,这也是满足函数依赖关系的。

    注:平凡函数依赖和非平凡函数依赖在这里不做解释

    2、完全函数依赖和部分函数依赖

    直接举栗子🌰:有一个关系模式S(Sno,Sname,Cno,Grade)

    完全函数依赖:如果我想知道某位学生的某一门课的成绩Grade,那我必须得同时知道他的学号Sno和课程号Cno。
    但如果我只知道一部分信息,比如他的Sno或者Cno可以吗?答案是不行的!此时称Y[Grade]完全依赖于X[Sno,Cno]。
    完全函数依赖
    部分函数依赖:如果我想知道某位学生的姓名Sname,那我知道他的学号Sno就可以了。也就是说Y[Sname]只函数依赖于X[Sno,Cno]中的子集x[Sno],此时称Y部分函数依赖于X。
    部分函数依赖

    3、传递函数依赖

    直接讲人话🌰:有一个关系模式S(Sno,Sdept,Mname)

    如果我知道了一个学生的学号Sno,那我就能知道他所在的系Sdept。(因为理论上一个学生只属于一个系)
    如果我知道了某一个系Sdept,那么我就能知道这个系的系主任的姓名Mname。(一个系只有一个正的系主任,别杠,你赢了。)
    也就是说,我知道了一个学生的学号Sno,其实我就知道了他所在系的系主任的姓名Mname。但这个过程中,他们是不存在直接函数依赖的,我需要通过系名称Sdept作为一个桥梁去把二者联系起来的。
    传递函数依赖

    -------------------------------------END------------------------------------

    学习完数据库的函数依赖,可以继续学习数据库码的概念

    展开全文
  • 数据库,部分函数依赖,传递函数依赖,完全函数依赖,三种范式的区别

    要讲清楚范式,就先讲讲几个名词的含义吧:

    部分函数依赖:X,Y是关系R的两个属性集合,存在X→Y,若X’X的真子集,存在X’→Y,则称Y部分函数依赖于X

    举个例子:学生基本信息表R中(学号,身份证号,姓名)当然学号属性取值是唯一的,在R关系中,(学号,身份证号)->(姓名),(学号)->(姓名),(身份证号)->(姓名);所以姓名部分函数依赖与(学号,身份证号);


    完全函数依赖:设X,Y是关系R的两个属性集合,X’是X的真子集,存在X→Y,但对每一个X’都有X’!→Y,则称Y完全函数依赖于X。

    例子:学生基本信息表R(学号,班级,姓名)假设不同的班级学号有相同的,班级内学号不能相同,在R关系中,(学号,班级)->(姓名),但是(学号)->(姓名)不成立,(班级)->(姓名)不成立,所以姓名完全函数依赖与(学号,班级);


    传递函数依赖:设X,Y,Z是关系R中互不相同的属性集合,存在X→Y(Y !→X),Y→Z,则称Z传递函数依赖于X。

    例子:在关系R(学号 ,宿舍, 费用)中,(学号)->(宿舍),宿舍!=学号,(宿舍)->(费用),费用!=宿舍,所以符合传递函数的要求;

     

     1 、第一范式(1NF)

      在任何一个关系数据库中,第一范式(1NF)是对关系模式的基本要求,不满足第一范式(1NF)的数据库就不是关系数据库。

      所谓第一范式(1NF)是指数据库表的每一列(即每个属性)都是不可分割的基本数据项,同一列中不能有多个值,即实体中的某个属性不能有多个值或者不能有重复的属性。简而言之,第一范式就是无重复的列。

      2、 第二范式(2NF)

      第二范式(2NF)是在第一范式(1NF)的基础上建立起来的,即满足第二范式(2NF)必须先满足第一范式(1NF)。第二范式(2NF)要求数据库表中的每个实例或行必须可以被唯一地区分。为实现区分通常需要为表加上一个列,以存储各个实例的唯一标识。员工信息表中加上了员工编号(emp_id)列,因为每个员工的员工编号是唯一的,因此每个员工可以被唯一区分。这个唯一属性列被称为主关键字或主键、主码。

      第二范式(2NF)要求实体的属性完全依赖于主关键字。所谓完全依赖是指不能存在仅依赖主关键字一部分的属性,如果存在,那么这个属性和主关键字的这一部分应该分离出来形成一个新的实体,新实体与原实体之间是一对多的关系。为实现区分通常需要为表加上一个列,以存储各个实例的唯一标识。简而言之,第二范式就是非主属性依赖于主关键字。

      3 、第三范式(3NF)

      满足第三范式(3NF)必须先满足第二范式(2NF)。在满足第二范式的基础上,切不存在传递函数依赖,那么就是第三范式。简而言之,第三范式就是属性不依赖于其它非主属性。

    最后简单的总结一下:

    1第一范式(1NF):一个关系模式R的所有属性都是不可分的基本数据项。 

    2第二范式(2NF):关系模式R属于第一范式,且每个非主属性都完全函数依赖于键码。 

    3第三范式(3NF):关系模式R属于第一范式,且每个非主属性都不伟递领带于键码。 

    4 BC范式(BCNF):关系模式R属于第一范式且每个属性都不传递依赖于键码


    第三范式以上的范式在数据库中也很少用到,而且三级数据库一般也不会考,这里就不提了吧,呵呵,偷个懒

     

    展开全文
  • 一、函数依赖 函数依赖是数据依赖的一种,它反映属性或属性组之间相依存,互相制约的关系,即反映现实世界的约束关系。 设R(U)是属性U上的一个关系模式,X和Y均为U={A1,A2,…,An}的子集,r为R的任一关系,如果...
  • 数据依赖指的是通过一个关系中属性间的相等与否体现出来的数据间的相互关系,其中最重要的是函数依赖和多值依赖。 2.函数依赖 设X,Y是关系R的两个属性集合,当任何时刻R中的任意两个元组中的X属性值相同时,则它们...
  • 数据库(笔记)——函数依赖

    千次阅读 多人点赞 2020-08-15 10:01:01
    函数依赖函数依赖的定义函数依赖的逻辑蕴涵逻辑蕴涵闭包函数依赖的推导规则完全函数依赖与部分函数依赖完全函数依赖部分函数依赖传递函数依赖候选键在函数依赖中的定义总结 函数依赖的定义 定义 函数依赖是关系模式...
  • 数据库 函数依赖

    2020-06-03 19:29:34
    F中全是完全函数依赖 部分函数依赖:与完全函数依赖相反,去掉X中某些属性依旧成立的依赖。同样,对于F中的所有依赖,可以向左部添加额外元素,就得到了部分函数依赖 传递函数依赖:(学号,课程号)—>成绩,成绩...
  • 数据库函数依赖名词的解释

    千次阅读 2020-06-18 15:17:06
    函数依赖函数依赖是关系模式中属性之间的一种逻辑依赖关系 假设有A、B两个函数,A → B(A 决定 B,即A推出B,也叫做B函数依赖于A) 平凡函数依赖:当属性集Y是属性集X的子集时,必然存在函数依赖X→Y,这种类型...
  • 上回说到 已知学生的Sno就能推出学生的Sname 记做 Sno——>Sname ,Sname =f(Sno) 语义:Sno函数决定Sname,或者说是Sname依赖函数与Sno。...Y是非平凡的函数依赖,反之是平凡的函数依赖 例...
  • 数据库函数依赖

    千次阅读 多人点赞 2018-08-23 14:34:26
    今天又重新拾起了《数据库系统原理》,因为之前对它学的不够扎实,所以现在需要重新进行深入的学习,函数依赖这一部分虽然不是特别难,但是我就是有点“迷”,老是有点弄不清楚,所以今天抽出点时间“收拾”他一下,...
  • 部分函数依赖:设X,Y是关系R的两个属性集合,存在X→Y,若X’是X的真子集,存在X’→Y,则称Y部分函数依赖于X。 举个例子:学生基本信息表R中...完全函数依赖:设X,Y是关系R的两个属性集合,X’是X的真子集,存在X
  • 由于最近在看思维导图>>这本书, 其实大一就买了…刚开始看了一半没啥感觉, 最近突然想起来还有这...平凡依赖如果X→Y而且Y不是X的子集,则称X→Y是非平凡函数依赖. 例: (s#, cn) -> s#是平凡依赖, 而(s#, cn) -> aa就
  • 目录数据库系统原理-函数依赖和关系模式分解第一范式如何处理非原子值原子性关系数据库设计中易犯的错误模式分解无损连接分解优化关系模式的步骤函数依赖函数依赖定义函数依赖的使用函数依赖集的闭包Armstrong公理...
  • 针对一个具体的问题,应该如何构造一个适合于它的数据库模式,即应该构造几个关系模式,每个关系由哪些属性组成。 由此引出了关系数据库理论,一个有问题的关系模式会...对于范式,又有了一个新的名词函数依赖 函数...
  • 完全函数依赖与部分函数依赖 传递函数依赖 确定函数依赖的方法 码 外部码 范式 1NF 2NF 3NF BCNF 多值依赖 4NF 如何判断R为第几范式? 已知一个关系模式的属性之间的语义,也就是相互依赖的关系,如何...
  • 数据库 函数依赖及范式(最通俗易懂)

    千次阅读 多人点赞 2019-06-04 19:49:00
    数据库 函数依赖及范式(最通俗易懂) 一、基础概念 要理解范式,首先必须对知道什么是关系数据库,如果你不知道,我可以简单的不能再简单的说一下:关系数据库就是用二维表来保存数据。表和表之间可以……(省略...
  • 函数依赖是指关系中属性间(或者说是表中字段间)的对应关系。 定义:设 R 为任一给定关系,如果对于 R 中属性 X 的每一个值,R 中的属性 Y 只有唯一值与之对应,则称 X 函数决定 Y 或称 Y 函数依赖于 X ,记作 X—&...
  • 函数依赖 函数依赖定义 R(U)是属性集U上的关系模式,X,Y是U的一个子集,r是R(U)中的任意给定的关系,对于r中的任意两个元组s和t,当s【X】=t【x】时,一定有s【y】=t【y】,称为Y函数依赖于X 记为 x->y x被...
  • 数据库中的函数依赖 X ->Y的含义 X函数决定Y,或者Y函数依赖于X函数 平凡/非平凡的函数依赖 平凡的函数依赖要求Y是X的子集,就是自己决定自己或者自己的一部分. 如果Y不属于X,那么称为非平凡的函数依赖 完全依赖和...
  • 数据库复习】函数依赖

    千次阅读 2018-11-10 10:58:05
    数据库复习】函数依赖
  • 数据库原理之函数依赖、多值依赖

    万次阅读 多人点赞 2018-01-04 18:51:27
    完全函数依赖和部分函数依赖 1、函数依赖分为完全函数依赖和部分函数依赖 2、定义: 在R(U)中,如果X→Y,并且对于X的任何真子集X’都有X’-/->Y’,则称Y完全依赖于X,记作X→Y;否则,如果X→Y,且X中存在一个真...
  • 数据库函数依赖

    千次阅读 2014-06-10 00:52:18
    数据库函数依赖 一、函数依赖(Functional Dependency)的概念   数据依赖的一种,它反映属性或属性组之间相依存,互相制约的关系,即反映现实世界的约束关系。 二、定义   设R(U)是属性U上的一...
  • 数据库的部分依赖完全依赖、传递依赖

    万次阅读 多人点赞 2018-12-06 13:40:59
    一、部分函数依赖: ...二、完全函数依赖 设X,Y是关系R的两个属性集合,X’是X的真子集,存在X→Y,但对每一个X’都有X’!→Y,则称Y完全函数依赖于X。 例如:通过AB能得出C,但是AB单独得不出C,那么说C...
  • 二、完全函数依赖 设X,Y是关系R的两个属性集合,X’是X的真子集,存在X→Y,但对每一个X’都有X’!→Y,则称Y完全函数依赖于X。 例如:通过AB能得出C,但是AB单独得不出C,那么说C完全依赖于AB. 三、传递函数依赖 设...
  • 数据库函数依赖与候选码求解

    千次阅读 2021-04-20 21:32:18
    最近学习了函数依赖与候选码的求解,这仅仅是自己的理解,第一次形成文字。如果有什么问题,希望大家指正,我们共同进步。谢谢大家!
  • 完全函数依赖和部分函数依赖

    万次阅读 多人点赞 2017-08-21 19:55:26
    完全函数依赖 {学号,课号}-->成绩  学号+课号 可以决定 成绩 但只有学号or只有课号无法决定成绩    部分函数依赖  {学号,课号}-->姓名  只有学号就能决定姓名 (课号是冗余的) ...
  • 函数依赖(Function Dependency,FD): 数学形式的定义就不说了,有一个等价的定义可以仔细体会一下: (FD的等价定义) 对X中的任一值x, 的值仅有一个元组,则有X→Y。 注意基本单位是关系中的属性,即列与列...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 144,281
精华内容 57,712
关键字:

数据库完全函数依赖