超级密钥与候选密钥
ERDB 中的超级键和候选键有什么区别?
What difference between Super and Candidate key in ERDB?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
ERDB 中的超级键和候选键有什么区别?
What difference between Super and Candidate key in ERDB?
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(5)
超级键是唯一标识行的一组列。候选键是唯一标识行的最小列集。因此本质上超级键是一个候选键,其中包含额外的不必要的列。
A superkey is a set of columns that uniquely identifies a row. A Candidate key would be a MINIMAL set of columns that uniquely identifies a row. So essentially a Superkey is a Candidate key with extra unnecessary columns in it.
候选键是一个最小超级键
candidate key is a minimal superkey
对我来说,超级键通常会给候选键带来歧义
For me, a super key would generally introduce ambiguities over a candidate key
让我们保持简单
SuperKey - 一组唯一定义
行
的键。因此,在所有属性中,即使有一个是 < code>unique 则具有该唯一属性的所有子集都属于superkey
。候选键 - 一个
超级键
,从中无法派生出可以唯一标识行
的进一步子集,或者我们可以简单地说它是最小超级键
。Let's keep it simple
SuperKey - A set of keys that uniquely defines a
row
.So out of all the attributes if even any single one isunique
then all the subsets having that unique attribute falls undersuperkey
.Candidate Key - A
superkey
out of which no further subset can be derived which can identify therows uniquely
, Or we can simply say that it is theminimal superkey
.简而言之:CANDIDATE KEY 是一个最小的 SUPER KEY。
其中 Super key 是唯一标识 RDBMS 中关系(表)中的任何记录(或元组)的列(或属性)的组合。
例如,考虑具有 A、B、C 和 D 列的表中的以下依赖关系
(给出此表只是为了一个简单的示例,因此并未涵盖 R 可能具有的所有依赖关系)。
属性集(行列式)---可以识别---><强>(依赖)
A-----> AD
B-----> ABCD
C-----> CD
AC----->ACD
AB----->ABCD
ABC----->ABCD
BCD----->ABCD
现在,B、AB、ABC、BCD 标识所有列,因此这四人有资格获得超级钥匙。
但是,B⊂AB; B⊂ABC; B⊂BCD 因此 AB、ABC 和 BCD 不符合候选键的资格,因为它们的子集可以识别关系,因此它们不是最小的,因此只有 B 是候选键,而不是其他键。
In nutshell: CANDIDATE KEY is a minimal SUPER KEY.
Where Super key is the combination of columns(or attributes) that uniquely identify any record(or tuple) in a relation(table) in RDBMS.
For instance, consider the following dependencies in a table having columns A, B, C and D
(Giving this table just for a quick example so not covering all dependencies that R could have).
Attribute set (Determinant)---Can Identify--->(Dependent)
A-----> AD
B-----> ABCD
C-----> CD
AC----->ACD
AB----->ABCD
ABC----->ABCD
BCD----->ABCD
Now, B, AB, ABC, BCD identifies all columns so those four qualify for the super key.
But, B⊂AB; B⊂ABC; B⊂BCD hence AB, ABC, and BCD disqualified for CANDIDATE KEY as their subsets could identify the relation, so they aren't minimal and hence only B is the candidate key, not the others.