DDBMS中的初级水平分片-简单谓词的完整性

5
简单谓词的一个重要方面是它们的完整性;另一个方面是它们的最小化。如果一组简单谓词Pr:对于根据Pr2定义的任何分项片段中的任何元组,每个应用程序访问的概率相等,则称其为完整的。
例子:考虑在Example 3.8中给出的关系PROJ的分片。如果唯一访问PROJ的应用程序想要根据位置访问元组,则该集合是完整的,因为每个片段PROJi(Example 3.8)中的每个元组被访问的概率相同。但是,如果有第二个应用程序仅访问那些预算小于或等于$200,000的项目元组,则Pr不完整。由于这个第二个应用程序,每个PROJi中的一些元组具有更高的被访问概率。为使谓词集合完整,我们需要添加(BUDGET <= 200000,BUDGET> 200000)到Pr中。

Pr = {LOC=“Montreal”, LOC=“New York”, LOC=“Paris”, BUDGET <= 200000, BUDGET > 200000}"

翻译:Pr = {位置=“蒙特利尔”,位置=“纽约”,位置=“巴黎”,预算≤200000,预算> 200000}

我上传了图3.3和示例3.8:

图3.3

示例3.8

现在我不明白如何知道Pr是否完整

那么,“每个应用程序平等访问属于任何最小项片段的任何元组”的等概率访问是什么意思?

有没有计算每个应用程序访问任何元组的等概率的示例?

1个回答

4
我看到分布式数据库系统原理一书中的例子有些不太清晰。等概率仅意味着应用程序没有WHERE条件,因此没有单独的片段。因此,如果有一个应用程序使用条件WHERE budget >= 200 000来提取元组,则必须将(BUDGET <= 200000, BUDGET > 200000)添加到谓词集中。
如果在网络上搜索Minterm片段,您会发现大多数是学术讲义,其中大部分都与书中的示例相同。在实际世界中,查询可能会使用更广泛的条件,并且如果要使谓词集完整,则会导致1001个片段(我挑战任何人提供需要使谓词集完整的实际世界的例子)。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接