zoukankan      html  css  js  c++  java
  • 数据库规范化:模式分解是否具有无损连接

    什么是模式分解?

    在这里插入图片描述

    无损连接分解的测试算法

    在这里插入图片描述

    例子

    1

    举例1:已知R<U,F>,U={A,B,C},F={A→B},如下的两个分解:

    ① ρ1={AB,BC}

    ② ρ2={AB,AC}

    判断这两个分解是否具有无损连接性。

    ①因为AB∩BC=B,AB-BC=A,BC-AB=C

    所以B→A ¢F+,B→C ¢ F+

    故ρ1是有损连接。

    ② 因为AB∩AC=A,AB-AC=B,AC-AB=C

    所以A→B €F+,A→C ¢F+

    故ρ2是无损连接。

    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),判断这个分解是否具有无损连接性。

    ① 构造一个初始的二维表,若“属性”属于“模式”中的属性,则填aj,否则填bij
    在这里插入图片描述

    ② 根据A→C,对上表进行处理,由于属性列A上第1、2、5行相同均为a1,所以将属性列C上的b13、b23、b53改为同一个符号b13(取行号最小值)。

    在这里插入图片描述

    ③ 根据B→C,对上表进行处理,由于属性列B上第2、3行相同均为a2,所以将属性列C上的b13、b33改为同一个符号b13(取行号最小值)。
    在这里插入图片描述

    ④ 根据C→D,对上表进行处理,由于属性列C上第1、2、3、5行相同均为b13,所以将属性列D上的值均改为同一个符号a4。
    在这里插入图片描述

    ⑤ 根据DE→C,对上表进行处理,由于属性列DE上第3、4、5行相同均为a4a5,所以将属性列C上的值均改为同一个符号a3。

    在这里插入图片描述
    ⑥ 根据CE→A,对上表进行处理,由于属性列CE上第3、4、5行相同均为a3a5,所以将属性列A上的值均改为同一个符号a1。

    在这里插入图片描述

    ⑦ 通过上述的修改,使第三行成为a1a2a3a4a5,则算法终止。且分解具有无损连接性。

  • 相关阅读:
    Java集合类初始容量、加载因子、扩容增量
    并发之原子性、可见性、有序性
    多线程面试题
    MySQL引擎及选择
    SHA和MD5的Salt
    基于SSM的单点登陆05
    基于SSM的单点登陆04
    基于SSM的单点登陆03
    基于SSM的单点登陆02
    基于SSM的单点登陆01
  • 原文地址:https://www.cnblogs.com/hzcya1995/p/13308062.html
Copyright © 2011-2022 走看看