如何判断无损连接(例题)

目录

  • 1. 定义
  • 2. 例题
  • 3. 补充

1. 定义

  • 无损连接: 如果在关系模式的分解中,能够通过连接已分解的子关系来获得原始关系的信息,而不引入任何数据损失

  • 候选关键字: 候选关键字是能够唯一标识每个元组的属性集。

2. 例题

设关系模式R(U,F),其中R上的属性集U={A, B, C,D, E},R上的函数依赖集F={A→B,DE→B,CB→E,E→A, B→D}。 (??)为关系R的候选关键字。分解(??)是无损连接,并保持函数依赖的

A.p = { R1(AC), R2 (ED), R3 (B)} :
B. p={R1 (AC), R2 (E), R3 (DB) }
C. p={R1(AC), R2 (ED), R3 (AB)}
D.p= {R1 (ABC), R2 (ED), R3 (ACE) }


对于候选关键字,这个比较简单,结果为CE

当分解ρ大于两组的时候,需要列出初始判断表,根据已知条件在初始判断表里修改,最终表里如果有一行全部为a的即为无损连接。

  • A项初始判定表:

如何判断无损连接(例题)_第1张图片

  • B项初始判定表:
    如何判断无损连接(例题)_第2张图片
  • C项初始判定表:
    如何判断无损连接(例题)_第3张图片
  • D项初始判定表:
    如何判断无损连接(例题)_第4张图片

正确答案为D,以D为例子进行分析:

A→B:

分解的关系模式 A B C D E
R1(ABC) a1 a2 a3 b14 b15
R2(ED) b21 b22 b23 a4 a5
R3(ACE) a1 a2 a3 b34 a5

DE→B没变化,CB→E:

分解的关系模式 A B C D E
R1(ABC) a1 a2 a3 b14 a5
R2(ED) b21 b22 b23 a4 a5
R3(ACE) a1 a2 a3 b34 a5

E→A:

分解的关系模式 A B C D E
R1(ABC) a1 a2 a3 b14 a5
R2(ED) a1 b22 b23 a4 a5
R3(ACE) a1 a2 a3 b34 a5

B→D:属性B的第一行和第3行相同,而D属性没有一行为a4,则将其改为统一符号,取最小为吧b14。

分解的关系模式 A B C D E
R1(ABC) a1 a2 a3 b14 a5
R2(ED) a1 b22 b23 a4 a5
R3(ACE) a1 a2 a3 b14 a5

再次检查函数依赖集F,由E→A,A→B, B→D,推出 E→D
所以最后的值为如下:

分解的关系模式 A B C D E
R1(ABC) a1 a2 a3 a4 a5
R2(ED) a1 b22 b23 a4 a5
R3(ACE) a1 a2 a3 a4 a5

3. 补充

对于候选关键字可看这题:

给出关系R(U,F), ∪= {A,B,C,D,E), F={A-→B,D→C,BC→E,AC-→B), 求R的候选关键字为??

如何判断无损连接(例题)_第5张图片

你可能感兴趣的:(软考,无损连接,软考,数据库)