3

我对数据库管理系统中的键感到困惑。因为有很多部分问题……但这是一个很好的综合问题。这就是我在这里发帖的原因。SUPER KEY,KEY,PRIMARY KEY,Alternate KEY,CANDIDATE KEY,MINIMAL KEY之间的混淆这就是我对它的理解。

SUPER KEY:可以唯一标识一个元组的属性或属性集。

候选键:所有超级键的集合..

键:来自一组候选键的单个键,它是最小的(有最少的属性)

主键:候选键集中的最小键。

备用键:除主键外的所有候选键的集合

外键。: 我很清楚很难为它提及所有的东西..

但我对超级键、键、候选键、主键、备用键..(如果剩余,添加任何键)所有定义都很好?这些键的 ER 模型定义与关系模型中的定义不同吗?

你能用例子给出你的答案吗?一个有这些所有键的表。!!谢谢...!!

4

1 回答 1

3

超级键是任何属性集,其值对于关系中所有允许的元组集始终保证是唯一的。

候选键(=最小超键)是每个超键中唯一的最小属性集。因此,从候选键中删除任何一个属性都会使其不唯一(不再是超级键)。

主键就是任何候选键。主键和任何其他候选键之间没有区别。

备用键是未指定为主键的任何候选键。

外键根本不是键(名字有点可惜)。外键只是关系的一组属性,它们受参照完整性约束,其中同一组属性也是另一个关系中的候选键。

一个例子?假设您有婚姻关系,具有夫妻属性(为简单起见,我只考虑一夫一妻制的男女婚姻)

Marriages {Husband, Wife}

婚姻关系具有三个超级键:{Husband, Wife}{Husband}{Wife}一个人一次只能有一个配偶,因此这两个属性都必须是唯一的)。

{Husband}并且{Wife}是候选键。

现在考虑这两者中的哪一个,{Husband}或者{Wife},可能是主键,哪个是备用键?答案是这无关紧要:无论您选择称其为“主”键,这种关系的形式、功能和预期含义都完全相同。主键和备用键是等价的概念,关系模型不区分它们。

实体关系建模确实倾向于区分主键和其他键,并且通常为每个实体提供一个键优先于其他键,有时会排除或损害其他同等重要的键。这是 ER 建模的一个方面,通常会并且确实会导致数据库设计和数据管理中的错误。

于 2013-09-27T13:26:52.773 回答