【數據庫】模式分解判斷例題

模式分解判斷

設關係模式R(ABCD)R(ABCD)FFRR上成立的FDFD集,F={AB,BC,AD,DC},ρ={AB,AC,BD}F=\{A\to B,B\to C,A\to D,D\to C\},\rho =\{AB,AC,BD\}是R的一個分解。

  1. 相對於FFρ\rho是否無損分解?爲什麼?

  2. 試求FFρ\rho的每個模式上的投影。

  3. ρ\rho保持FF嗎?爲什麼?

  1. 用測試過程可以知道,ρ相對於F是損失分解。

  2. πAB(F)=A>BπAC(F)=A>CπBD(F)=ϕ\pi_{AB}(F)={A->B},\pi_{AC}(F)={A->C},\pi_{BD}(F)=\phi

  3. 顯然,分解不保持FD集F,丟失了BCB\to CADA\to DDCD\to C這3個FDFD

解析

  1. 由chase過程(算法6.2),構建初始表格
AA BB CC DD
ABAB a1a1 a2a2 b13b13 b14b14
ACAC a1a1 b22b22 a3a3 b24b24
BDBD b31b31 a2a2 b33b33 a4a4
  1. ABA\to B
AA BB CC DD
ABAB a1\color{blue}a1 a2\color{blue}a2 b13b13 b14b14
ACAC a1\color{blue}a1 a2\color{red}a2 a3a3 b24b24
BDBD b31b31 a2a2 b33b33 a4a4
  1. BCB\to C
AA BB CC DD
ABAB a1a1 a2\color{blue}a2 a3\color{red}a3 b14b14
ACAC a1a1 a2\color{blue}a2 a3\color{blue}a3 b24b24
BDBD b31b31 a2\color{blue}a2 a3\color{red}a3 a4a4
  1. ADA\to D
AA BB CC DD
ABAB a1\color{blue}a1 a2a2 a3a3 b14\color{blue}b14
ACAC a1\color{blue}a1 a2a2 a3a3 b14\color{red}b14
BDBD b31b31 a2a2 a3a3 a4a4
  1. DCD\to C
AA BB CC DD
ABAB a1a1 a2a2 a3\color{blue}a3 b14\color{blue}b14
ACAC a1a1 a2a2 a3\color{blue}a3 b14\color{blue}b14
BDBD b31b31 a2a2 a3a3 a4a4

該題四個步驟如上所示,最後表格顯示,沒有哪一行是全aa的,所以,RRFF的有損分解。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章