查找以关系形式呈现身份的列集

时间:2012-08-22 12:38:53

标签: database-design identity relational-algebra

让我们在关系中调用 identity set 这样的属性子集,这些属性表示此关系中行的标识,同时,当从此标识集中排除任何属性时,生成的集合属性不是标识集,即在我们的主题区域中不能同时存在两个具有属于特定标识集的所有属性的匹配值的行,但如果它们具有至少一个属性的不同值,则它们可以存在。

例如,假设与属性A,B,C,D和身份集{A,B}

的关系
A       B       C       D
--------------------------
1       2       3       4
1       3       2       4
2       2       4       6
1       3       4       6 

在这种关系中,第二和第四行在标识集{A,B}中具有相同的值(1,3),因此它们是互斥的,并且在我们的主题区域中不允许这种关系。

是否存在一些以任意关系查找所有“身份集”的形式化技术?

2 个答案:

答案 0 :(得分:1)

根据我以前的评论,要做的就是谷歌“找到所有候选键”。

这是其中一篇文章。

http://csc.lsu.edu/~jianhua/fd_slide2_09.pdf

答案 1 :(得分:0)

感谢Walter Mitty,我发现我的“身份设置”实际上称为候选键。现在我可以谷歌我的问题了。