无损连接分解是将关系 R 分解为关系 R1、R2,这样如果我们执行两个较小关系的自然连接,它将返回原始关系。这可以有效地从数据库中删除冗余,同时保留原始数据。
换句话说,通过无损分解,使用连接从分解的表 R1 和 R2 重建关系 R 变得可行。
在无损分解中,我们选择共同元素,选择共同元素的标准是共同元素必须是关系 R1、R2 或两者之一中的候选键或超键。
将关系 R 分解为 R1 和 R2 是无损连接分解,如果以下函数依赖中的至少一个在 F+ 中(函数依赖的闭包)
R1 ∩ R2 → R1
OR
R1 ∩ R2 → R2
问题 1:
令 R (A, B, C, D) 是具有以下功能依赖关系的关系模式:
A → B, B → C,
C → D and D → B.
The decomposition of R into
(A, B), (B, C), (B, D)
(A)给出无损连接,并且是依赖保留
(B)提供无损连接,但不是依赖保留
(C)不提供无损连接,但保留依赖关系
(D)不提供无损连接并且不是依赖保留
请参阅此解决方案。
问题2
R(A,B,C,D) 是一个关系。下列哪项没有无损连接、保留依赖的 BCNF 分解?
(A) A->B, B->CD
(B) A->B、B->C、C->D
(C) AB->C, C->AD
(D) A -> BCD
请参阅此解决方案。
以下是去年 GATE 问题的测验
https://www.geeksforgeeks.org/dbms-gq/database-design-normal-forms-gq/