精华内容
下载资源
问答
  • 2019-02-01 08:56:20

    对关系分解时,
    原关系的闭包与分解后关系闭包的并集相等
    函数依赖不能丢失的特性,不能破坏原来的语义

    更多相关内容
  • 对于关系模式R,有依赖集F,若对R进行分解分解出来的多个关系模式,保持原来的依赖集不变,则为保持函数依赖分解。另外,注意要消除掉亢余依赖(如传递依赖)。 如原关系模式 R(A,B,C),依赖集F(A->B,,B->C,A-...

    范式之间的转换一般都是通过拆分属性,即模式分解,将具有部分函数依赖和传递依赖的属性分离出来,来达到一步步优化,一般分为以下两种;

    保持函数依赖分解

    对于关系模式R,有依赖集F,若对R进行分解,分解出来的多个关系模式,保持原来的依赖集不变,则为保持函数依赖的分解。另外,注意要消除掉亢余依赖(如传递依赖)。
    如原关系模式 R(A,B,C),依赖集F(A->B,,B->C,A->C),将其分解为两个关系模式 R1(A,B)和R2(B,C),此时 R1中保持依赖 A->B,R2保持依赖B->C,说明分解后的R1 和R2是保持函数依赖的分解,因为A->C这个函数依赖实际是一个亢余依赖,可以由前两个依赖传递得到,因此不需要管。
    在这里插入图片描述

    如何判断是否保持函数依赖

    1、如果F上的每一个函数依赖都在其分解后的某一个关系上成立,则这个分解是保持依赖的,看函数莓个依赖的左右两边属性是否都在同一个分解的模式中。
    2、如果上述判断失败,并不能断言分解不是保持依赖的,还要使用下面的通用方法来做进一步判断。该方法的表述如下:
    对F上的每一个α→β使用下面的过程
    result:=a ;
    while(result 发生变化)do
    for each 分解后的 Ri
    t=(result∩Ri)+ ∩Ri
    result = result ∪ t

    无损分解

    分解后的关系模式能够还原出原关系模式,就是无损分解,不能还原就是有损。

    例:

    假设关系模式R(U,F).属性集U=(A,B,C),函数依赖集F=(A→B,B→C)。若将其分解为P=(R1(U1,F1),R2(U2.F2),
    其中U1={A,B},U2={A,C},那么关系模式R.R1.R2分别达到了        ;分解          。
    

    先看是否是无损分解

    分解后的R1:函数依赖A→B,符合分解前的依赖函数集中的A→B;
    分解后的R2:函数依赖A→C;
    通过R1,R2的函数依赖可知,A→B 、A→C;所以A→B→C;A→B、B→C复合未分解前的函数依赖集F=(A→B,B→C),是无损分解。

    是否保持函数依赖

    首先,该分解,U1 保持了依赖 A->B,然而B->C 没有保持,因此针对 B->C 需要用第2 点算法来判断:
    result=B,resultn∩U1=B,B+ =BC,BC∩U1=B,result=B∪B=B,result 没变,然后,result 再和 U2
    交是空,结束了,不保持函数依赖。
    注意,这里B+,+的意思是代表由B能够推导出的其他所有属性的集合,这里,B->C,因此B+=BC。

    展开全文
  • 非常好的讲解了模式分解保持函数依赖的意义,来自知网于思江和王小兵老师,资源很好!
  • 模式分解是否保持函数依赖的判断方法以及例子

    千次阅读 多人点赞 2020-04-05 12:16:23
    如果F上的每一个函数依赖都在其分解后的某一个关系上成立,则这个分解保持依赖的(充分条件)。 如果上述判断失败,并不能断言分解不是保持依赖的,因为上面只是充分条件,还要使用下面的通用方法来做进一步判断...

    保持依赖的判断。 

    如果F上的每一个函数依赖都在其分解后的某一个关系上成立,则这个分解是保持依赖的(充分条件)。 

    如果上述判断失败,并不能断言分解不是保持依赖的,因为上面只是充分条件,还要使用下面的通用方法来做进一步判断。 

    过程表述如下: 

    对F上的每一个α→β使用下面的过程:

     

    result:=α; 
    while(result改变)do 
    for each 分解后的Ri 
    t=(result∩Ri)+ ∩Ri 
    result=result∪t

    例1:考虑关系模式R(A,B,C,D)分解{R1(A,B),R2(BC),R3(C,D)},

    函数依赖集F={A→B,B→C,C→D,D→A}

    显然,AB包含于R1,BC包含于R2,CD包含于R3。因此,只需要验证是否有D→A呗分解p所保持。为此,我们使用算法。

    首先,result={D}进入 repeat循环,当i=1时不改变,因为{D}U(({D}∩{A,B})+∩{A,B})仍是{D}。

    同样方法,当i=2时Z不变。然而,i=3时,我们得到

    result={D}U(({D}∩{C,D})+∩{C,D}

    ={D}U({D}+∩{C,D})={D}U({A,B,C,D}∩{C,D})

    ={C,D}

    再次执行 repeat的循环体,当i=2时产生result={B,C,D}而第三遍,当i=1时置result为{A,B,C,D}。此后,T不再改变。这样,result={A,B,C,D}它包含A,因此,D→A被分解所保持。从而是保持函数依赖的分解。

    例2:已知R<U,F>,U={A,B,C,D,E},F={A→C,B→C,C→D,DE→C,CE→A},R的一个分解为R1(AD),R2(AB),R3(BE),R4(CDE),R5(AE),判断这个分解是否具有函数依赖性。

    先看F中每一个函数依赖,R4有C->D,DE->C。A->C,B->C,CE->A。这三个函数依赖分解模式里均未能覆盖。

    开始使用算法进行检测:

    首先对于A->C,result = A,(A)+ = ACD ,T=AD,result=AD,result改变,进入下一个循环:result = AD,(ABD)+ = ABCD ,t=AB,result=ABD。

    result改变:result = ABD, (ABD)+ = ABCDE, t=BE,result=ABDE。

    result改变:result = ABDE,(ABCD)+=ABCDE,t=CDE,result=ABCDE。

    result改变:(从这一步就能看出来,保持了函数依赖了,因为已经包含C了)result = ABCDE,(ABCDE)+=ABCDE,t=AE,result=ABCDE。

    result未改变。退出循环。、由于result=ABCDE,包含了C,所以分解保持函数依赖。
     

    展开全文
  • 给定函数依赖集合F={ A2→(A3,A5); (A1, A3)→A6; (A2,A6)→ A4 },则关于R既保持 依赖又无损连接地分解成第三范式,分解正确 的是 A.p={R1(A2,A3, A5), R2(A1,A3,A6), R3(A2,A4,A6) } B.p={R1(A2,A3, A5), R2(A1...

    是否保持函数依赖

    如果F上的每一个函数依赖都在其分解后的某一个关系上成立,则这个分解是保持依赖的(这是一个充分条件)

    无损连接定理

    关系模式R(U,F)的一个分解,ρ={R1<U1,F1>,R2<U2,F2>}具有无损连接的充分必要条件是:U1∩U2→U1-U2 €F+ 或U1∩U2→U2 -U1€F+

    验证算法
      ρ={R1<U1,F1>,R2<U2,F2>,…,Rk<Uk,Fk>}是关系模式R<U,F>的一个分解,U={A1,A2,…,An},F={FD1,FD2,…,FDp},并设F是一个最小依赖集,记FDi为Xi→Alj,其步骤如下:

    ① 建立一张n列k行的表,每一列对应一个属性,每一行对应分解中的一个关系模式。若属性Aj Ui,则在j列i行上真上aj,否则填上bij;

    ② 对于每一个FDi做如下操作:找到Xi所对应的列中具有相同符号的那些行。考察这些行中li列的元素,若其中有aj,则全部改为aj,否则全部改为bmli,m是这些行的行号最小值。

    如果在某次更改后,有一行成为:a1,a2,…,an,则算法终止。且分解ρ具有无损连接性,否则不具有无损连接性。

    对F中p个FD逐一进行一次这样的处理,称为对F的一次扫描。

    ③ 比较扫描前后,表有无变化,如有变化,则返回第② 步,否则算法终止。如果发生循环,那么前次扫描至少应使该表减少一个符号,表中符号有限,因此,循环必然终止。
    ----------------------------------------------------------------------

    练习题

    1、

    关系模式R(A1, A2, A3, A4, A5,A6),给定函数依赖集合F={ A2→(A3,A5); (A1,A3)→A6; (A2,A6)→ A4 },则关于R既保持依赖又无损连接地分解成第三范式,分解正确的是_____
    A.p={R1(A2,A3, A5), R2(A1,A3,A6), R3(A2,A4,A6) }
    B.p={R1(A2,A3,A5),R2(A1,A3,A6),R3(A2,A4,A6),R4(A1,A2) }
    C.p= {R1(A2,A3.A5), R2(A1,A2,A3,A4,A6)}
    D.p={R1(A1,A2,A3,A5),R2(A2,A4,A6)}

    问题解析:可以求出候选码为(A1,A2),得出函数F的最小函数依赖集为F={ A2→(A3,A5), (A1,
    A3)→A6, (A2,A6)→ A4 },ρ={R1(A2A3A5),R2(A1A3A6),R3(A2A4A6)};经过判断此关系不满足无损分解的条件,因此把候选码A1A2加入关系中,就达到满足了保持了函数依赖和无损连接性的目的

    2、

    给定关系模式R(U, F),其中U={A1, A2,A3,A4,A5,A6},给定函数依赖集合F=A1→(A2,A3); A3→A4; (A2,A3)→(A5,A6);A5→A1 },有一个分解r=R1(A1,A2,A3,A4),
    R2(A2,A3,A5,A6)},问该分解____
    A、既具有无损连接性,又保持函数依赖
    B、不具有无损连接性,但保持函数依赖
    C、具有无损连接性 ,但不保持函数依赖
    D、既不具有无损连接性,又不保持函数依赖

    问题解析:
    分成了两个关系属性时,找出两个关系中的共同属性,即A2,A3因此A2,A3为函数依赖集的候选码。
    ①在函数依赖集F中有(A2,A3)→(A5,A6),因此该分解具有无损连接性。
    ②R1(A1,A2,A3,A4)与A1→(A2,A3); A3→A4相对应而R2(A2,A3,A5,A6)没有与(A2,A3)→(A5,A6);A5→A1 相对应,因此该分解不保持函数依赖。

    3、

    给定关系模式R(U, F), 其中U={A1, A2,
    A3,A4,A5,A6},给定函数依赖集合
    F=A1→(A2,A3); A3→A4; (A2,A3)→(A5,A6);
    A6→A1 },有一个分解r=R1(A1 ,A2,A3,A4),
    R2(A3,A4,A5,A6)},问该分解___
    A、既具有无损连接性,又保持函数依赖
    B、不具有无损连接性,但保持函数依赖
    C、具有无损连接性,但不保持函数依赖
    D、既不具有 无损连接性, 又不保持函数依赖

    问题解析:
    分成了两个关系属性时,找出两个关系中的共同属性,即A3,A4因此A3,A4为函数依赖集的候选码。
    ①在函数依赖集F中没有有(A2,A3)→A 因此该分解不具有无损连接性。
    ②R1(A1,A2,A3,A4)与A1→(A2,A3); A3→A4相对应而R2(A3,A4,A5,A6)没有与(A2,A3)→(A5,A6),A6→A1 相对应,因此该分解不保持函数依赖。

    4、

    对连锁商店的管理,设计了关系模式:商店(商店,商品部,商品,商品部经理),下 列说法正确的是__
    A、不满足第2范式
    B、满足第2范式但不满足第3范式
    C、满足第3范式
    D、其他都不对

    问题解析:
    可以得到函数依赖集:(商店,商品)→商品部,(商店,商品部)→商品部经理,求得候选码为(商店,商品),从依赖集中看出不存在部分函数依赖,但是存在传递依赖,因此满足第2范式但不满足第3范式

    5、

    一般情况,企业会将从一个供应商处一次所进的多种货物办理一次入库,因此设计了关系模式:入库单(单号,日期,库房,供应商,物品,数量,金额),下列说法正确的是___
    A、不满足第2范式
    B、满足第2范式但不满足第3范式
    C、 满足第3范式
    D、其他都不对

    问题解析:可以得到函数依赖集 单号→(日期,库房,供应商),物品→(金额),(单号,物品)→数量,求得候选码为(单号,物品),因为存在部分函数依赖,因此该依赖集只满足1NF即不满足第二范式。

    6、

    设有关系模式W(C,P,S,G,T,R),其中各属性的含义是: C课程,P教师,S学生,G成绩, T时间,R教室,根据定义有如下数据依赖集D={ C→P, (S,C)→G, (T,R)→C, (T,P)-→R,
    (T,S)-→R}。关系模式W的一个候选键是__W的规范化程度最高达到____

    A、(S,C), 1NF
    B、(T,R), 3NF
    C、(T,P), 4NF
    D、(T,S),2NF

    问题解析:容易求得候选键为(T,S),可以看出在依赖集D中不存在部分函数依赖,因此最起码是达到2NF。因为候选键为(T,S),有(S,T)→(S,T,R,C,G)在函数依赖集中却有C→P, (T,R)→C,(T,S)-→R得到(S,T)→C→P,因此该函数依赖集中存在传递依赖不符合3NF的条件。

    7、

    关系模式R(A1, A2, A3,A4,A5,A6),如果A1→(A3,A4); (A2, A4)→A5; (A3,A5)→A6,则关于R的说法正确的是___
    A、即不存在对候选键的部分函数依赖,又不存在对候选键的传递函数依赖
    B、存在对候选键的部分函数依赖,但不存在对候选键的传递函数依赖
    C、不存在对候选键的部分函数依赖,但存在对候选键的传递函数依赖
    D、既存在对候选键的部分函数依赖,又存在对候选键的传递函数依赖

    问题解析:可以求得候选码为(A1,A2),因为A1→(A3,A4),所以存在对候选键的部分函数依赖,因为候选码为(A1,A2),有(A1,A2)→(A1,A2,A3,A4,A5,A6),又因为在依赖集中有(A3,A5)→A6,因此就会有(A1,A2)→(A3,A5)→A6即存在对候选键的传递函数依赖

    8、

    关系模式R(A1,A2, A3, A4, A5, A6),如果A1→(A3, A4);
    (A2,A4)→A5; (A3,A5)→A6,则R的候选键为___
    A、A1
    B、(A1, A2)
    C、(A1, A2, A4)
    D、(A1, A3, A5)

    9、

    在关系模式R(U,F)中,如果X-→Y,存在X
    的真子集X1,使X1-→Y,称函数依赖X-→Y为___
    A、平凡函数依赖
    B、部分函数依赖
    C、完全函数依赖
    D、传递函数依赖.

    展开全文
  • 是否为无损连接 方法一:无损连接定理 关系模式R(U,F)的一个分解,ρ={R1<U1,F1>,R2<U2,F2>}具有无损连接的充分...的一个分解,U={A1,A2,…,An},F={FD1,FD2,…,FDp},并设F是一个最小依赖集,记FDi为X
  • 模式分解的本质是将一个大的模式分解为几个小的模式,在模式分解至少应达到3NF,而且要保证是无损连接性的,分解时尽可能保持函数依赖。事实证明,保持无损连接和保持函数依赖,可以达到3NF,但不一定能达到BCNF。...
  • 保持函数依赖分解指的是对关系分解时,原关系的闭包与分解后关系闭包的并集相等。   从定义来看,可以得到不严格但好理解的—— 保持无损连接的模式分解,每个Ui必须包含作为连接的属性。故无损....
  • 从上面的定义, 保持无损连接的模式分解, 每个Ui必须包含作为连接的属性, 而函数依赖是要把产生关联的属性分到一起. 无损连接的判定 1. 如果分解后的关系模式形如{U1, U2}, 里面只有两个,那很好做,就判断U1交U2->...
  • 数据库范式1NF 2NF 3NF BCNF实例分解 ... 数据库中的无损连接分解和是否保持函数依赖的判定 https://blog.csdn.net/legendaryhaha/article/details/80649234 数据库学习之模式分解 https...
  • 转换成3NF既有无损连接性又保持函数依赖分解

    千次阅读 多人点赞 2019-06-30 21:32:27
    转换为3NF的保持函数依赖分解 步骤: 1、求关系模式R<U,F>的最小依赖集Fm。 2、找出所有不在Fm中出现的属性,这些属性构成R0<U0,F0>。把这些属性从U中去掉,剩余的属性仍记为U。 3、若Fm中存在X→A...
  • 输入:关系模式R的函数依赖集F和分解P={R1,R2,…,R} 输出:P是否保持函数依赖的判定。 方法: (1)for(每个x→y∈F)do (2)begin (3) if(不存在i使得XYR)then / * 检验X→Y是否被分解p所保持 * / (4) begin (5) Z<-X...
  • 1.转换成3NF的保持函数依赖分解

    万次阅读 多人点赞 2017-03-04 15:23:37
    1.转换成3NF的保持函数依赖分解例1:关系模式R,F>,其中U={C,T,H,R,S,G},F={CS→G,C→T,TH→R,HR→C,HS→R},将其分解成3NF并保持函数依赖。 解:根据算法进行求解 (一)计算F的最小函数依赖集 ① 利用分解规则...
  • 无损分解保持依赖

    千次阅读 多人点赞 2020-04-23 14:01:40
    (注:在准备软考过程中,遇到一道判断无损分解保持依赖的试题,于是找到了这篇很通俗的文章,特收藏并学习之。微笑) 大部分是对一个关系模式分解成两...R是具有函数依赖集F的关系模式,(R1 ,R2)是R的一个分解...
  • 无损分解的检验算法:输入:关系模式 R = A1 A2 …An ,函数依赖集合F,分解ρ = (R1,R2 …Rk) 方法:1、构造k行n列的表,如果Aj 属于Ri 就在对应的二维表格处填写aj否则填写bij ; 2、对于任意 β->γ in F ,...
  • 数据库保持函数依赖分解.ppt
  • 数据库的函数依赖、属性集的闭包、覆盖、模式分解、范式、3NF的分解、BCNF的分解
  • 判断模式分解是否保持函数依赖? 判断模式分解是否保持函数依赖? 判断模式分解是否保持函数依赖
  • R的一个分解为R1(AD),R2(AB),R3(BE),R4(CDE),R5(AE),判断这个分解是否具有函数依赖性。 分解出的R1 F1{A—>D} R2 F2{Q} R3 F3{Q},R4(CDE) F4(DE->C,C->D} A->C、B->C、CE->A没有被覆盖。...
  • 转换成3NF的保持函数依赖分解==================================================算法2: ===================================================================例1:关系模式R<U,F>,其中U={...
  • 文章目录范式1NF2NF3NF(通常)BCNF保持函数依赖其中函数依赖集F用最小函数依赖集无损连接性模式分解的算法R转换为3NF既有无损连接性又保持函数依赖性的分解算法 范式 1NF 不能以集合、序列等作为属性。 2NF 非主...
  • 一个是最小依赖函数集,一个是求候选码,一个是求闭包,一个是要把关系模式分解成3NF且保持函数依赖,一个是分解成3NF且保持函数依赖和无损连接。 记录一下我对这几个问题的求法。可能会有哪里有漏洞,希望可以指...
  • 数据库课程的无损分解函数依赖的判断。对学数据库有帮助。
  • 3NF既具有无损连接性又保持函数依赖分解算法,基于SQL Server数据库,若有不足之处,望IT同僚指出、批评。
  • 判断分解的无损连接性和保持函数依赖

    万次阅读 多人点赞 2019-06-29 21:36:41
    关系模式R(U,F)的一个分解,ρ={R1<U1,F1>,R2<U2,F2>}具有无损连接的充分必要条件是: U1∩U2→U1-U2∈F+或U1∩U2→U2-U1∈F+ 方法二:算法 ρ={R1<U1,F1>,R2<U2,F2>,...,Rk<Uk,Fk>...
  • 函数依赖和关系模式分解

    千次阅读 2020-06-23 10:11:40
    文章目录一,第一范式关系数据库设计中易犯的错误数据冗余插入、删除、修改异常模式分解函数依赖(FD)函数依赖的使用函数依赖集的闭包Armstrong 公理计算 F^+^属性集的闭包属性闭包的用途正则覆盖无关属性检测属性...
  • F’ = {Tno->Tname, Tno->Tel, Tno->Department, Bno->Bname, Bid->Bname, Bid->Bno, (Tno,Bid,BorrowDate)->Rdate} = F 所以该分解不丢失函数依赖分解保持函数依赖的特性。 以上,若存在缺陷或错误,亟盼读者不吝...
  • 数据库模式分解----如何判断保持无损连接性和保持函数依赖 书上的算法写的太抽象了!看了半天!简单用人话解释一下! 在之前首先要了解一下属性集的闭包的概念 属性集的闭包 令α为一属性集。我们称在函数依赖集F下...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 84,647
精华内容 33,858
关键字:

保持函数依赖的分解

友情链接: 6.rar