【发布时间】:2014-08-08 10:37:09
【问题描述】:
对于这个问题,我发现答案是 (c)。但我可以举一个例子来证明(c)是不正确的。答案是什么?
令 r 是模式 R = (A, B, C, D) 的关系实例。我们定义r1 = ‘select A,B,C from r'和r2 = ‘select A, D from r'。设s = r1 * r2,其中 * 表示自然连接。鉴于 r 分解为 r1 和 r2 是有损的,下列哪一项是正确的?
(a) s 是 r 的子集
(b) r U s = r
(c) r 是 s 的子集
(d) r * s = s
如果答案是 (c) ,请考虑以下示例,将 r 有损分解为 r1 和 r2。
表 r
A B C D
1 10 100 1000
2 20 200 1000
3 20 200 1001
表 r1
A B C
1 10 100 2 20 200
表 r2
A D
2 1000
3 1001
表s(r1和r2的自然连接)
A B C D
2 20 200 1000
答案不是 (c) 。但我也可以给你一个例子,(c)可以是一个答案。 答案应该是什么?
【问题讨论】:
-
如果你能举一个 c 是对的例子,你为什么不把它贴出来?
-
了解“分解”和“有损”的定义。
标签: database join relational-database database-schema natural-join