模式分解——無損連接分解


練習1:已知R<U,F>,U={A, B, C, D, E},F={AB->C, C->D, D->E},R的一個分解為R1(A, B, C),R2(C, D),R3(D, E),判斷是否為無損分解

1. 構造表(根據分解的R進行構造,和F無關)

  A B C D E
ABC          
CD          
DE          

2. 初始化,根據表中行號中的元素,填上對應的ai

  A B C D E
ABC a1 a2 a3    
CD     a3 a4  
DE       a4 a5

對空白部分補上bij

  A B C D E
ABC a1 a2 a3 b14 b15
CD b21 b22 a3 a4 b25
DE b31 b32 b33 a4 a5

3. 由AB->C,找AB列(注意不是A、B列),發現每一行(元組)中AB組合沒有相同的,跳過

 由C->D,找C列,發現1、2行相同,因此將D列的1、2行改為a4

  A B C D E
ABC a1 a2 a3 a4 b15
CD b21 b22 a3 a4 b25
DE b31 b32 b33 a4 a5

 由D->E,找到D列,發現1、2、3行全部相同,因此將E列的1、2、3行都改為a5

  A B C D E
ABC a1 a2 a3 a4 a5
CD b21 b22 a3 a4 a5
DE b31 b32 b33 a4 a5

4. 全部處理完了,發現第一行出現a1、a2、a3、a4、a5,因此本次分解為無損連接分解

 

 


 

2022.3.21更新

如果對於X->Y,對於相同的X,所有的Y都不相同,則取行號最小的Y覆蓋所有的Y(本例題沒有體現)

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM