加盟尺寸估算

问题描述 投票:-1回答:1
  • 关系

    • w(A,B):nw =1000,V(w,A)=20,V(w,B)=60。
    • x(B,C):nx=2000,V(x,B)=50,V(x,C)=100。
    • y(C,F,D):ny=3000,V(y,C)=50,V(y,D)=50。
    • z(D,E):nz=4000,V(z,D)=40,V(w,E)=100。
  • 所用符号

    • w,x,y,z是关系
    • nw,nx,ny,nz是各自关系中的元组数。
    • V(relation,attribute)=关系中的不同属性。
  • 使用的方法

    1.) (|r ⨝ s|) = nr * (ns/V(A,s))
    
  • 估计结果的规模

    1.)w ⨝ x ⨝ y ⨝ z。

  • w ⨝ x = nw * (nxV(B,x)) = 1000 * (200050)=40000。

  • w ⨝ x ⨝ y = 40000 * (300050) = 2400000。
  • w ⨝ x ⨝ y ◃So_25B9" z = 2400000 * (400040) = 240000000。

    2.)σC=20(y) ⨝ z。

  • σC=20(y)=300050=60。

  • σC=20(y) ⨝ z = 60 * (4000100) = 6000。

我做的对不对,如果我做的不对,谁能给我纠正一下?

先谢谢你。

tuples size natural-join
1个回答
0
投票

(不算是答案,但太长了,不好评论。)

我猜测 "V(relation,attribute)=关系中的不同属性 "的意思是指在关系中的数 鲜明 价值观 对于属性 attribute 与...有关 relation. 这其实帮助不大,因为它并没有告诉我们,在(比如说)的属性值中是否有多少是被计算的。V(w,B) 等于 价值观 的人 V(x,B). 所以,为了开始解决这个问题

1.)w ⨝ x...。

之间的共同属性 w, xB. 我们得到的信息是有60种不同的 B 值在 wV(w,B)和50个不同的 B 值在 x 即: V(x,B).

  • 两种关系之间可能没有共同的值,所以加入它们的卡性为零;所以1.)的总体结果的卡性为零。
  • 或所有50个值在 V(x,B) 的60个值中可能有共同点。V(w,B)所以加入的基数至少是50。在这种情况下,我们只能说10个来自于 V(w,B) 不能出现,所以最大的cardinality是(1000 - 10)乘以在 x.
  • 那么实际的基数只是为了加入 w, x 可以是介于两者之间的任何东西。

同样的不确定性适用于加入 y, z. 那么你的 "使用的方法"。(|r ⨝ s|) = nr * (ns/V(A,s)) 必须包括一大堆的假设。我不会去猜测这些假设, 但他们可能是一些关于分布的传播的东西 A, B 值内 w和传播。B 之间的数值。w, x.

你的教材中是否包含任何这样的假设解释的符号?

同样考虑问题

2.)σC=20(y) ⨝ z。

我们得到了 V(y,C) = 50; 这并不能告诉我们这50个不同的值中是否有任何一个是 C=20;如果有一个是,给定的并没有告诉我们是否所有的50个。V(y,D) 的元组会出现不同的值,并带有 C=20,也许只有一个人这样做。

所以 σC=20(y) 是在零和(3000 - 49)之间的任何地方,在我们加入之前,同样是在 z. 我看不出你的 "使用的方法 "能告诉我们任何关于单值限制所产生的基数的信息。σC=20 -- 除非我又做了一堆假设,猜测了一些关于你可能被告知的限制的 "深层背景"。

在一般情况下,对于实际表格中的实际数值,让数值均匀分布是非常不现实的。通常商业数据既表现出相同值在很多行中重复的聚类,也表现出很多可能的值根本没有出现的稀疏性。如果你是连接关系,通常在现实的商业数据中,会有 FOREIGN KEY 同名属性的约束,这意味着(比如)所有50个 V(w,B) 价值观 REFER TO 60个数值中的50个 V(x,B).

这整个问题给人的感觉就像一个抽象的、没有实际用途的学术练习。

哦,多说一句。自然连接 是一个换算运算。w ⨝ x == x ⨝ w;和联想 (w ⨝ x) ⨝ y == w ⨝ (x ⨝ y),这就是为什么Q 1.可以写出 w ⨝ x ⨝ y ⨝ z没有括号,没有歧义。所用方法 "公式不是换算式,此外,如果你把它扩展到适用于 4 个关系的连接,你会得到不同的结果,这取决于你如何对表达式进行分组(括号)。

© www.soinside.com 2019 - 2024. All rights reserved.