精华内容
下载资源
问答
  • 当b属性函数依赖于a属性时
    千次阅读
    2021-08-19 15:46:35

    函数依赖概念

    函数依赖是指关系中属性间的对应关系。

    函数依赖是从数学角度来定义的,在关系中用来刻画关系各属性之间相互制约而又相互依赖的情况。函数依赖普遍存在于现实生活中,比如,描述一个学生的关系,可以有学号、姓名、所在系等多个属性,由于一个学号对应一个且仅一个学生,一个学生就读于一个确定的系,因而当“学号”属性的值确定之后,“姓名”及“所在系”的值也就唯一地确定了, 此时, 就可以称“姓名”和“所在系”函数依赖于“学号”,或者说“学号”函数决定“姓名”和“所在系”,记作:学号→姓名、学号→所在系。下面对函数依赖给出确切的定义。
    定义如下:
    设关系R(U,F),U是属性集,F是函数依赖集,令X、Y是U的两个子集
    对于任意R的一个关系r,X的每一个具体值,Y都有唯一值与之对应
    则,X决定函数Y,或Y函数依赖于X,记作X→Y(X是自变量,Y是因变量,一个X只能得到一个Y)

    若X→Y且Y→X,则X↔Y 不依赖则是在箭头上画上斜线 简单说,若X→Y,那么在关系r上任意两个元组,若ti[X] = tj[X],那么ti[Y] = tj[Y],在这里就要联想到函数的单映射和双映射了。

    函数依赖可以理解为属性之间的一种约束条件,它能够用于判断建立的关系表是否合理。

    三种函数依赖关系

    函数依赖分为:完全函数依赖部分函数依赖传递函数依赖

    1. 完全函数依赖

    设R为任一给定关系,X、Y为其属性集,若 X→Y,且X中的任何真子集X’,都有 X’!→Y,则称 Y 完全函数依赖于 X。

    白话文翻译一波:在函数依赖的基础上,我们的A属性是一个属性组,只有这个属性组中的全部属性才能确定唯一的B属性,A的任何一个子集都不可以。

    简易例子:通过AB能得出C,但是AB单独得不出C,那么说C完全依赖于AB.
    比如(学号,课名)->成绩,而单独的学号或者课名都不能确定成绩,这就叫完全函数依赖。

    2. 部分函数依赖
    设R为任一给定关系,X、Y为其属性集,若 X→Y,且X中存在一个真子集X’,满足 X’→Y,则称 Y 部分函数依赖于 X。

    白话文翻译一波:和完全函数依赖相比,A属性组中的部分属性就能确定B属性,其它属性可有可无。

    简易例子:通过AB能得出C,通过A也能得出C,通过B也能得出C,那么说C部分依赖于AB。
    比如(学号,课名)->姓名,其实只要学号就可以了,这样的依赖就叫部分函数依赖。

    2. 传递函数依赖
    设R为任一给定关系,X、Y、Z 为其不同属性子集,若 X→Y,Y!→X,Y→Z,则有 X→Z,称为 Z 传递函数依赖于 X。

    白话文翻译:如果A->B,B->C,并且B不能->A(防止直接A->C),那么我们可以得出结论A->C,叫做C传递函数依赖A。

    简易例子:通过A得到B,通过B得到C,但是C得不到B,B得不到A,那么成C传递依赖于A
    比如学号->系名,系名->系主任,并且(系名不能决定学号),所以系主任传递函数依赖学号。

    更多相关内容
  • 描述关系代数操作前,简要回顾一些基础概念。 以一张简单的表(表1)为例,包含名字、年龄、学号信息。 表1.... name age number ... 属性——关系的列,即表中的“name”“age”“number... 元组——除属性名(...

    描述关系代数操作前,简要回顾一些基础概念。


    以一张简单的表(表1)为例,包含名字、年龄、学号信息。

    表1. Students
    nameagenumber

    小明

    13b001
    小红14c012
    小刚12a003
    • 属性——关系的列,即表中的“name”“age”“number”三列
    • 元组——除属性名(表头)外的其他每一行,如(小明, age, number)就是一个元组

    一、关系代数操作

    1. 常见操作:交、并、差
    2. 除去某些行或列的操作:选择、投影
    3. 组合两个关系元组的操作:连接、笛卡尔积
    4. “重命名”操作:更改属性名称、关系名称

    选择——满足一定条件的元组集合,记为σc(R)σc(R)

    其中,c为条件,R为关系。举例说明:σ age>12(Students),即选择age大于12的所有元组,得到结果为

    name

    agenumber

    小明

    13b001
    小红14c012

    投影——选择部分列,记为π a1,a2,a3(R)

    表示只包含关系R中的a1,a2,a3列。举例说明:π name,age (Students)只包含name和age列,得到的结果为            

    nameage

    小明

    13
    小红14
    小刚

    12

    笛卡尔积——两个关系的叉积

    自然连接——两个关系满足某些属性相配的所有元组配对集合,记为R⋈S

    属性配对并合并相同属性。举例说明:City为表2,与Students有共同属性name,自然连接Students⋈City的结果如表3所示。

    表2. City
    namecitygrade

    小明

    武汉10
    小红鄂州15
    小刚黄石13
    表3. 自然连接
    nameagenumbercitygrade

    小明

    13b001

    武汉

    10
    小红14c012鄂州15
    小刚12a003黄石13

    可以看到属性name相同的元组(行)配对了起来。

    θ连接——所有满足一定条件的元组配对,所有属性保留,记为R⋈cS

    其中c为条件,该连接的结果这样来构造

    1. 先得到R和S的积
    2. 在得到的关系中找到所有满足条件c的元组

    该连接与自然连接不同在于:

    1. 自然连接要求两个关系有公共属性,属性值相同才进行配对,而θ连接指任意条件,可以不同属性之间进行配对。
    2. 自然连接后公共属性合并了(只保留一个),θ连接后所有属性都保留。

    以表1、表2为例说明,Students⋈ age > grade City,其中条件c为age > grade 。结果如表4所示(表名简写为S和C)。

    表4. θ连接
    S.nameagenumberC.namecitygrade

    小明

    13b001小明

    武汉

    10
    小红14c012小明武汉10
    小红14c012小刚黄石13
    小刚12a003小明武汉10

    可以看到S和C的name属性都还包含其中,只有满足age > grade的元组配对才保留了下来。


    二、 函数依赖

    函数依赖、平凡函数依赖、非平凡函数依赖、完全函数依赖、部分函数依赖、传递函数依赖

    函数依赖——属性集合X唯一决定属性集合Y,记为X —> Y

    定义:若关系R的两个元组在属性A1, A2, ..., An上一致,则它们必定在B1, B2, ... , Bn上也一致,记为

    A1, A2, ..., An —> B1, B2, ... , Bn

    示例:如表4中若学号number确定,则S.name和age也能根据number确定下来,若number为c012,虽然有两条记录,但是S.name只能是小红,age也必定是14。

    平凡函数依赖——子集与原集有函数依赖关系

    A1, A2, ..., An —> B1, B2, ... , Bn ,其中{B1, B2, ... , Bn } 是{A1, A2, ..., An}的子集。

    示例:表1为例,{number, name} —> {name},知道学号和名字,肯定能确定名字,而名字(右属性集)是左属性集的子集,这种依赖称作平凡函数依赖。

    非平凡函数依赖——不是子集,但是有函数依赖关系

    A1, A2, ..., An —> B1, B2, ... , Bn ,其中{B1, B2, ... , Bn } 不是{A1, A2, ..., An}的子集。

    最常见的依赖关系,如{number} —> {name, age}

    完全函数依赖——可理解为最小函数依赖

    属性集合Y完全依赖于X,属性集X刚好能完全确定Y的所有属性,X少一个属性就不能确定Y的所有属性。

    如在表4里,所有属性的集合完全依赖于{number,C.name}。number和C.name能确定所有属性,但是只有一个number的时候只能确定前面列的S.name和age,不能确定后面的city和grade,而只有一个C.name时也不能确定前面的age。

    传递函数依赖——X—>Y,Y—>Z,则有X—>Z


    三 、 属性集的闭包

    个人理解:属性集的闭包就是由该属性集合能确定的所有属性的集合

    eg:考虑属性A,B,C,D,E,F的关系,假设此关系有函数依赖:AB -> C, BC -> AD, D -> E, CF -> B, 那么{A, B}的闭包{A, B}+为?
    步骤:BC -> AD 分解为 BC -> A 和 BC -> D,从X = {A, B}出发,AB -> C,把C加入X,得到{A, B, C},再由 BC -> D,加入D,由D -> E,加入E,得到X为{A, B, C, D, E},F确定不了,终止。得到闭包为{A, B, C, D, E}。

    闭包的作用----能判断(属性集A与属性集B是否含依赖关系){A1, A2 ... An} -> {B1, B2 ... Bm}是否成立,若B是A的闭包的子集,则推断成立。

    求闭包的算法:

    输入:属性集合{A1, A2 ... An},函数依赖(FD)的集合S

    输出:闭包{A1, A2 ... An}+

    1. 分解S中的FD,使每个FD的右边只有一个属性;
    2. 设X为闭包结果,将X初始化为{A1, A2 ... An};
    3. 重复过程:寻找FD:B1, B2, ...Bn —> C,使得{B1, B2, ...Bn}是{A1, A2 ... An}的子集,且C不在{A1, A2 ... An}中。若找到把C加入X。直到找不到这样的FD。最终没有任何属性能加入到X,步骤结束;
    4. 步骤3结束时,得到的X即为闭包{A1, A2 ... An}+。
    展开全文
  • 函数依赖X→YX→YX\rightarrow Y表示X的值确定,Y的值也是确定的,表现在数据库上就是X和Y都是属性集的子集,也就可以看成投影出的两张表,如果X[i]=X[j]即X中某两行相等,那么Y[i]=Y[j]即相应的Y的这两行也一定...

    这几天数据库听的有点混乱,整理一下。

    函数依赖(FD)

    函数依赖 XY X → Y 表示当X的值确定时,Y的值也是确定的,表现在数据库上就是X和Y都是属性集的子集,也就可以看成投影出的两张表,如果X[i]=X[j]即X中某两行相等,那么Y[i]=Y[j]即相应的Y的这两行也一定相等。或者说,如果大表中的某两行在X上的值相等,那么在Y上的值也相等,也即Y的取值依赖于X的取值(但不表示知道X就知道Y,因为仅仅是说X相等时Y也一定相等)。

    平凡和非平凡的FD

    对于函数依赖 XY X → Y ,如果 YX Y ⊆ X ,那么称 XY X → Y 是一个平凡的函数依赖,否则称为非平凡的函数依赖。

    FD集的逻辑蕴涵

    蕴涵 PQ P ⇒ Q 在离散数学中就是当P的取值为真时,Q的取值也一定为真。放在函数依赖(FD)上,FD 的逻辑蕴涵指就是知道某函数依赖为真,可以推出某(不见得是”另一个”)函数依赖为真。

    函数依赖集F逻辑蕴涵X->Y记为 FXY F ⊨ X → Y

    FD集的闭包

    函数依赖的闭包是被F所逻辑蕴涵的所有函数依赖组成的函数依赖集,函数依赖集F的闭包记为 F+={XY|FXY} F + = { X → Y | F ⊨ X → Y }

    属性集在FD集上的闭包

    属性集X在函数依赖集F上的闭包记作 X+F={A|XAF+} X F + = { A | X → A ∈ F + } ,是指从F能够直接或者间接推出的所有形如 XA X → A 的函数依赖中的属性A的集合。

    XY X → Y 能用FD推理规则推出的充分必要条件是 YX+F Y ⊆ X F +

    计算 X+F X F + 就是将初始只有X的集合 X(i) X ( i ) 每次不断并上 {A|YZFAZYX(i)} { A | Y → Z ∈ F ∧ A ⊆ Z ∧ Y ⊆ X ( i ) } ,作为新的 X(i) X ( i ) 直到它不再变化。

    FD集的等价

    如果两个FD集合的闭包相同即 F+=G+ F + = G + ,它们就是等价的。

    FD集的最小依赖集

    任何一个FD集都至少存在一个最小的等价FD集 Fmin F m i n ,即称为它的最小依赖集。要求 Fmin F m i n 里每个FD的左右都没有多余的属性,并且也没有多余(能被其它FD推出)的FD。

    求最小依赖的过程:

    ①消除右端多余属性

    直接将右端拆开成单属性(分解规则)。

    ②消除左端多余属性

    使用伪传递性 XY,YWZ X → Y , Y W → Z XWZ X W → Z 的变形消除左边多余的那部分。

    例如 BD B → D BDC B D → C 能将 BDC B D → C 消除多余的D而变成 BC B → C

    ③消除多余的FD

    使用传递性,来自传递可得的FD直接被消除。

    展开全文
  • 函数依赖

    千次阅读 2021-04-17 14:13:50
    若对于R(U)的任意一个可能的关系r,r中不可能存在两个元组在X上的属性值相等而在Y上的属性值不相等,则称X函数确定Y或Y函数依赖于X ,记作X->Y,X称为决定因素,即唯一的X确定唯一的Y 如果X->Y且Y->X,则记...

    函数依赖

    定义

    设R(U)是属性集U上的关系模式,X,Y是U的子集。若对于R(U)的任意一个可能的关系r,r中不可能存在两个元组在X上的属性值相等而在Y上的属性值不相等,则称X函数确定YY函数依赖于X ,记作X->Y,X称为决定因素即唯一的X确定唯一的Y

    如果X->Y且Y->X,则记作 X<–>Y

    分类

    1. 非平凡的函数依赖 : Y并不是X的子集
    2. 平凡的函数依赖 : Y是X的子集(任意关系必然成立自己决定自己

    完全函数依赖与部分函数依赖

    如果X->Y,且X的真子集不函数决定Y,则称为Y对X完全函数依赖,否则称为部分函数依赖

    如:(Sno,Cno)->Sdept,如果Sno->Sdept,则为部分函数依赖

    传递依赖

    Y非平凡函数依赖于X,X非平凡函数依赖于Y,则X->Z

    范式

    第一范式

    所有属性满足原子性,即所有属性都不可再分,如果某元素需要被解析来获得目标信息,则认为是不符合原子性的,如一长串不同的电话号码

    第二范式

    R属于第一范式,并且每一个非主属性完全函数依赖任何一个候选码

    即任何候选码都可以唯一确定所有的非主属性元素

    第三范式

    在第二范式的基础上,每一个非主属性既不传递依赖于码也不部分依赖与码

    所有的非主属性对码都应该是直接完全函数依赖

    BCNF范式

    BCNF范式是第三范式的修正,如果每一个决定因素都含有码,则符合BCNF范式

    逻辑蕴涵

    对于满足一组函数依赖F的关系模式R<U,F>,其任何一个关系r,若函数依赖X->Y都成立,则称F逻辑蕴涵X->Y

    阿姆斯特朗公理

    1. 自反律 : 若Y是X的子集,X是U的子集,则X->Y为F所蕴含
    2. 增广律 : 若X->Y为F所蕴含,且Z是U的子集,则XZ->YZ为F所蕴含
    3. 传递律 : 若X->Y及Y->Z为F所蕴含,则X->Z为F所蕴含

    阿姆斯特朗推理规则

    • 合并规则 : 有X->Y,X->Z,有X->YZ
    • 伪传递规则 : 有X->Y,WY->Z,有XW->Z
    • 分解规则 : 有X->Y及Z是Y的子集,有X->Z

    闭包

    设F为属性集U上的一组函数依赖,X,Y是U的子集,Xf ={A|X->A能由F根据阿姆斯特朗公理导出},Xf+称为属性集X关于函数依赖集F的闭包

    即 属性X在函数依赖集合F下,能够决定的所有属性的集合

    闭包计算(属性闭包方式)

    在这里插入图片描述

    例如 : 求 属性集AG关于F的闭包

    在这里插入图片描述

    (闭包还可以使用 阿姆斯特朗公理求解,但较为复杂,通常使用属性闭包法)

    函数依赖F闭包

    若F为关系模式R(U)的函数依赖集,我们把F以及所有被F逻辑蕴涵的函数依赖的集合称为F的闭包,记为F+。

    函数依赖集F的闭包,里面的元素还是函数依赖(就是X→Y这种东西),函数依赖集F的闭包包括F自身,加上能从F中通过Armstong公理推导出的,新的函数依赖。

    闭包的作用

    • 判断是不是superkey
    • 计算F的闭包

    最小正则覆盖

    判断是否是冗余函数依赖

    去掉可以通过推导简介得出的依赖函数,例如

    在这里插入图片描述
    在RHS中 : A->CD 可以分解为 A—>C,A——>D ,A——>C可以由A——>B和B——>C得到,因此只需要A——>D即可

    最小正则覆盖拥有最小的函数依赖集,没有冗余的函数依赖和属性

    判断是否是冗余属性

    1. 要判断的属性位于依赖的左侧,例如{AB→C},则删除该属性,在原本的依赖集F中计算该依赖左部集合的闭包α+。若α+闭包中包含该依赖右侧所有的属性,则该属性则是无关属性
      例:函数依赖集F{Z→X,X→P,XY→WP,XYP→ZW}
      关注到XYP中的P属性。它在左侧。删除它,求解左侧剩下属性集XY的闭包,求取域是原来的F{Z→X,X→P,XY→WP,XYP→ZW}。因为XY→WP,所以(XY)+ = XYWP;又因为XYP→ZW,所以(XY)+ = XYWPZ,包含依赖右侧ZW
      故P是无关属性

    2. 若要判断的属性位于依赖的右侧,例如{AB→C,……},则删除该属性,在余下的函数依赖集F’中计算该依赖左部集合的闭包α+。若α+中包含要判断的属性,则该属性就是无关属性(冗余)

      例:F{A→BC,B→AC,C→AB}
      关注B属性。它在依赖右侧。删除该属性,余下F’={A→C,B→AC,C→AB},计算左侧剩余属性集(A)的闭包(A)+。
      因为A→C,C→AB,所以(A)+中包含删去的属性B
      故B是无关属性

    最小正则覆盖计算

    1.在函数依赖集F中使用联合律替代原有的函数依赖,如

    ​ A->B1 , A->B2 替换为 A->B1B2

    2.在F中发现冗余的函数依赖和属性,删去

    例如:

    在这里插入图片描述

    基于函数依赖的算法

    模式分解与规范化

    无损连接分解

    当一个关系模式R分解为R1、R2……Rn的时候,如果R1……Rn能够通过自然连接合为R,则称该分解为无损分解

    如何判断无损分解

    1. 简单分解判断(分解为两个子集A、B)

      A∩B ——> A-B

      A、B的交集 决定 A、B的差集

    2. 通用判断

      1. 画表
      2. 填充符号a
      3. 根据函数依赖填充表
      4. 循环步骤3
      5. 如果有一行是满符号a的,则是无损连接的,反之就不是

      例子

      关系模式R(U,V,W,X,Y,Z),函数依赖F={U→V,W→Z,Y→U,WY→X},分解ρ={WZ,VY,WXY,UV}

      1.画表

    在这里插入图片描述

    2.填充符号a

    根据表ρ中的元素,在表格跟ρ属性相关的一格,填充为a

    如 :子集WZ 含有元素 W、Z , 则 第一行W、Z为a

    在这里插入图片描述

    3.根据函数依赖填充表

    U→V : 第四行 V 为 a

    在这里插入图片描述

    W→Z : 第一行、第三行 的 Z 为a

    在这里插入图片描述

    Y→U : 第二行、第三行的 U 为a

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-0hz56DoH-1620223333614)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20210505215734459.png)]

    WY→X : 第三行的 X 为a

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-a7w1qo4L-1620223333615)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20210505215810238.png)]

    4.循环第三步

    U→V : 此时第二、第三、第四行都有了U , 则 第二、第三、第四行的V 都变为 a

    在这里插入图片描述

    5.如果有一行是满符号a的,则是无损连接的,反之就不是
    显然第三行WXY为满符号a , 则说明该分解是无损分解

    依赖保持

    依赖保持的定义

    R1 …… Rn函数依赖的并集闭包 = R的函数依赖F的闭包

    依赖保持的充分条件

    R的所有依赖函数在R1……Rn都存在Rk能够成立,则是依赖保持的(只需要有子集能够成立即可)

    判断某个依赖保持算法(通过属性闭包的形式)

    在这里插入图片描述
    在这里插入图片描述

    显然B->A、D->A、A->E、AC->B中除了D->A外在R1中都存在,因此只需要判断D->A即可

    基于函数依赖的BCFN分解

    判定某关系模式方法

    检查依赖集F所有的函数依赖是否都遵守BCFN范式

    判断分解之后的关系模式是否是BCFN范式

    使用原R的函数依赖集的闭包的所有函数依赖来判断分解之后的Ri

    在这里插入图片描述

    AC->D ∈ F+ 因此需要用闭包来判断

    BCFN分解算法

    在这里插入图片描述1. 令p={R}
    2. 如果p中的模式不属于BCNF,把该模式的函数依赖集合F中,决定因素不含有候选码的依赖组成一个模式S1其他依赖组成一个模式S2放入p中,此时S2为BC范式,因为S2中每一个决定决定因素都含有候选码,。然后把S1,S2替换掉R。
    3. 重复第二步,直到所有的模式都符合BCNF。

    例如 :

    在这里插入图片描述
    B->C不满足BC范式==(B不是码)==,因此用B——>C把R分开,在新的R1中B成为了码

    例 : R(A,B,C,D,E,F,G)

    ​ F (A—>B、A—>C 、C—>D 、C—>E 、E—>FG) 候选码 : A

    1. ρ = R
    2. 不含有候选码的 R1 = (C,D,E,F,G) 其他含有候选码的R2(A,B,C)
    3. ρ = {R1,R2} 对于R1 , R3 = (C,D,E) R4 = (E,F,G)
    4. ρ = {R1,R2,R3,R4}

    多值依赖(MVDs)

    定义

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

    判断多值依赖的方法

    在这里插入图片描述

    即某关系模式R中, 同时有元组**<y1,z1,w1> <y1,z2,w2> <y1,z1,w2>,<y1,z2,w1>**

    每一个函数依赖都是多值依赖

    多值依赖与第四范式

    第四范式分解

    在这里插入图片描述

    判断每一个函数依赖是否符合第四范式(是否有多值依赖),如果不满足,就分解在这里插入图片描述

    第四范式

    限制关系模式的属性之间不允许有非平凡且非函数依赖的多值依赖
    在这里插入图片描述

    根据函数依赖求解 候选码

    1. 将R中所有属性分为 UL = {只存在于依赖左边的属性}

      UR = {只存在于依赖右边的属性}

      UB = {两边都存在的属性}

    2. UL 中的属性必定属于某个候选码

      UR 中的属性必定不属于候选码

    3. 求取UL的闭包UL+ ,如果闭包 = R ,则UL 为候选码

    4. 如果UL闭包!=R ,则将UB 中的元素逐个添加入UL 求取闭包,直到求出U为止,对应为候选码

    在这里插入图片描述

    展开全文
  • 函数依赖的闭包 属性集闭包 码 求候选键算法 最小函数依赖集 关系模式R(U,D,DOM,F) R:关系名,符号化的元组定义 U:一组属性 D:属性组U中的属性所来自的域 DOM:属性到域的映射 F:属性组U上的一组数据...
  • 且仅U上的一个关系P满足F,R称为关系模式R<U,F>的一个关系。 1、关系数据库设计的核心:关系模式的设计。 2、关系模式的设计目标:按照一定的原则从数量众多而又相互关联的数据中,构造出一组l既...
  • 或者 B函数依赖于A。例1:下表就是问题领域, 则存在的函数依赖有哪些呢?属性A的值都不相等,所以A---&gt;B; 而属性B中前两行元祖相同,对应的属性C的前两组元祖也相同,所以B-----&gt;C;而属性C的三行...
  • 联系(Relationship)1:1联系:如果实体集E1中的每个实体最多只能和实体集E2中一个...函数依赖(FunctionDependency)定义设关系模式R(U),属性集合U={A1,A2,…,An},X,Y为属性集合U的子集,如果对于关系模式R(U)...
  • 这个代码只是一部分,只是解决了第一小问,经过测试,这个代码没有问题,没有使用map存放属性,而是使用了List来存放属性,解决了... 由用户输入函数依赖用户输入End,表示所有依赖都输入完毕。(即函数依赖...
  • 函数依赖及其公理/定理

    千次阅读 2020-06-06 13:42:02
    对于具有多个属性的关系模式 R,如果对于属性集合中的两个子集 AB 和任意的关系 r,r 中不可能出现两个记录使得 A 中的值相等而 B 中的值不等,则称 A 函数决定 BB 函数依赖于 A,记作 AB。 另一种说法是,...
  • 一、函数依赖:在关系R中,若属性或者属性A 中 两个元祖的值相等,如果这两个元祖中对应的属性或者属性B中的值也相同,则记作A——>BA函数决定B; 或者 B函数依赖于A。例1:...
  • 通过A得到B,通过B得到C,但是C得不到BB得不到A,那么说C传递依赖于A。 –举例说明: Student表:Sno(学号),Sdept(系),Mname(系主任名字),Cno(课程号),Grade(成绩) ex1: (Sno,Cno)-&g
  • 若对于R(U)的任意一个可能的关系r,r 中不可能存在两个元组在X上的属性值相等, 而在Y上的属性值不等, 则称“X函数确定Y”或“Y函数依赖于X”,记作X→Y。 X→Y,但Y⊈X则称X→Y是非平凡的函数依赖。 X→Y,但Y⊆X ...
  • 最近在学数据库原理,关系规范化中介绍了几个算法,最基础也最重要的就是求属性集X关于某个函数依赖集合F的闭包。 /*8周的功夫一本数据库基本原理就学完了,很快要考试了,所以5-1假期也没打算出去玩,就在学校了...
  • 数据库关系模式的函数依赖习题讲解

    万次阅读 多人点赞 2020-05-15 16:45:10
    设有关系模式 R(职工名,项目名,工资,部门名,部门经理) 如果规定,每个职工可参加多个项目,各领一份工资;每个项目只属于一个部门管理;...>设有关系模式R(AB,C,D,E),其函数依赖集为F={AB,C
  • 关系数据库设计 函数依赖 逻辑蕴含

    万次阅读 多人点赞 2018-05-29 20:51:49
    F能推出 原不直观存在 函数依赖集F 中的函数依赖 α →→\to β,则成α→→\toβ被函数依赖集F逻辑蕴含 函数依赖的闭包 F+F+F^+: ​ 由关系模式R直观得到的函数依赖F所推出的所有隐含的或未隐含的(直观...
  • 根据函数依赖求候选码

    千次阅读 2021-12-05 14:57:18
    2.只在FD左部出现的属性,一定存在某候选码当中; 3.外部属性一定存在任何候选码当中; 4.其他属性逐个与2,3的属性组合,求属性闭包,直至X的闭包等于U,若等于U,则X为候选码。 例1:R<U,F>,U=(A,B,C,D,E,G),...
  • 【数据库复习】函数依赖

    千次阅读 2019-04-18 18:29:32
    【数据库复习】函数依赖
  • 数据库中关于函数依赖集的例题

    千次阅读 2021-06-15 22:19:54
    一、已知关系模式R<U,F>,其中,U={A,B,C,D,E};F={AB->C,B->D,C->E,EC->B,AC->B};求(AB)F
  • 函数依赖和关系模式分解

    千次阅读 2020-06-23 10:11:40
    文章目录一,第一范式关系数据库设计中易犯的错误数据冗余插入、删除、修改异常模式分解函数依赖(FD)函数依赖的使用函数依赖集的闭包Armstrong 公理计算 F^+^属性集的闭包属性闭包的用途正则覆盖无关属性检测属性...
  • 求解函数依赖是否保持中的投影算法

    千次阅读 多人点赞 2020-10-25 23:58:46
    在学习数据库,我们总会遇到求解一个分解是否满足函数依赖是否保持,在求解投影常常利用传递函数依赖来求解,但是经常会有遗漏,本文总结了一种求解投影的算法供大家参考。 提示:以下是本篇文章正文内容,下面...
  • 数据库中的函数依赖、键和范式

    千次阅读 2018-05-27 21:07:35
    1.函数依赖X→Y,表示Y依赖于X;X→Y,且Y→X不成立,Y→Z,则X→Z,表示Z传递依赖于X。2.键主属性:表示在候选键中的属性;超键:是指能够唯一标识一个元组的属性集;候选键:能够唯一标识一个元组,且不含多属性;...
  • 函数依赖、多值依赖

    千次阅读 2019-03-13 09:49:12
    设R(U)是属性U上的一个关系模式,X和Y均为U={A1,A2,…,An}的子集,r为R的任一关系,如果对于r中的任意两个元组u,v,只要有u[X]=v[X],就有u[Y]=v[Y],则称X函数决定Y,或称Y函数依赖于X,记为X...
  • 数据库之函数依赖

    千次阅读 多人点赞 2018-08-23 14:34:26
    今天又重新拾起了《数据库系统原理》,因为之前对它学的不够扎实,所以现在需要重新进行深入的学习,函数依赖这一部分虽然不是特别难,但是我就是有点“迷”,老是有点弄不清楚,所以今天抽出点时间“收拾”他一下,...
  • 数据库求闭包,最小函数依赖

    万次阅读 多人点赞 2018-07-08 19:56:16
     例(1): 设有关系模式R(U,F),其中U={AB,C,D,E,I},F={A→D,AB→E,BI→E,CD→I,E→C},计算(AE)+ 解: (1) 令X={AE},X(0)=AE (2)在F中寻找尚未使用过的左边是AE的子集的函数依赖,结果是: A→D, ...
  • 【数据库原理系列】关系函数依赖

    千次阅读 2020-11-27 14:11:54
    设R(U)是属性集合U={A1,A2,…,An}上的一个关系模式,X, Y是U上的两个子集,若对R(U)的任意一个可能的关系r, r中不可能有两个元组满足在X中的属性值相等而在Y中的属性值不等,则称“X函数决定Y”或“Y函数依赖于X”, ...
  • 数据库函数依赖名词的解释

    千次阅读 2020-06-18 15:17:06
    假设有AB两个函数,ABA 决定 B,即A推出B,也叫做B函数依赖于A) 平凡函数依赖:当属性集Y是属性集X的子集,必然存在函数依赖X→Y,这种类型称为平凡的函数依赖 有函数ABBA的子集(即B里面的内容...
  • 关系的无损链接、函数依赖的判断

    千次阅读 2019-09-19 11:48:25
    关系的无损链接、函数依赖的判断 1.关系的无损连接 首先什么是有损,什么是无损连接? 答:有损:不能还原 无损:可以还原 无损连接分解:指将一个关系模式分解成若干个关系模式后,通过直燃链接和投影运算仍然能...
  • 目录前言各种键函数依赖无损拆分无损拆分定义判定方法直观判断法ab迭代法依赖保留拆分 前言 下周小测,很无聊的内容,但是还是要复习一下 各种键 在开始之前我们先要认识一下数据库中的几种键,这里只介绍和接下来...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 214,096
精华内容 85,638
热门标签
关键字:

当b属性函数依赖于a属性时