我一直在读一本关于数据库及其相关内容的书。 看完之后我得到了一些我不明白的问题:/。 能帮我理解这两个概念吗?
a)当完成R1和R2中关系R的分解时,可能是它没有任何共同的属性,即使这样也不会丢失信息。这是真的,为什么?
b)如果功能依赖性丢失,则必须存在信息丢失。这是一个什么样的例子?这是真的吗?
希望你能帮助我理解这一点:S
谢谢!
答案 0 :(得分:0)
1)在R = R1 X R2的病理情况下是正确的,如下所示:
R(A,B):
A | B
--------
1 1
2 1
1 2
2 2
R1(A)
1
2
R2(B)
1
2
然后,如果你加入R1
和R2
,你将获得R
(但正如我所说,这是非常病态的,因为像R
这样的一般关系没有感觉,分解的关系有共同的属性。)
2)是假的。例如,假设关系Emp(Employee, Department, Address)
具有依赖关系{Employee → Department, Department → Address}
。如果您在R1(Employee, Department)
和R2(Employee, Address)
中对其进行分解,则依赖项Department → Address
会丢失,但分解不会无损(因为属性的交集是Employee
,这是一个R1
的密钥,这是非无损分解的充分必要条件。)