考虑具有不同列的关系表,您将调用唯一且非空值,超级键或候选键的集合?候选键或超级键
候选键或超级键
回答
这将解释这一差别在它们之间,从而将帮助您确定这是否是一个候选键或超键:
一个Super键是一套或多列的一个唯一标识表中的行。
候选键是从超级键集中选择的,我们在选择候选键时唯一要注意的是:它不应该有任何多余的属性。这就是他们被称为最小超级按键的原因。
在Employee
表有三列:Emp_Code,Emp_Number,Emp_Name
超级键:
以下组的所有都能够唯一标识的职员表的行。
{Emp_Code}
{Emp_Number}
{Emp_Code, Emp_Number}
{Emp_Code, Emp_Name}
{Emp_Code, Emp_Number, Emp_Name}
{Emp_Number, Emp_Name}
候选关键字:
正如我上文所述,他们没有多余的属性最小超键。
{Emp_Code}
{Emp_Number}
作为摘要:
甲超密钥是一组列的唯一标识row.Whereas一个候选键将是最小的一组列的唯一标识的行。所以基本上Superkey是一个候选键与其中不必要的列。
希望这是有益:)
CK是超级键。所以一个超级按键不一定比CK有更多的coluns。 – philipxy
我希望这将有助于你
一个超密钥在数据库组织的关系模型定义为一组,它拥有一个关系变量的属性在分配给该变量的所有关系中,没有两个不同的元组(行)具有相同的属性值。超级键可以被定义为关系模式的一组属性,模式的所有属性在功能上都依赖于该属性。
所有属性的集合是一个微不足道的超级键,因为在关系代数中不允许重复行。
如果属性集合K是关系R的超级键,那么在任何时候都是这样的情况,即R对K的投影与R本身具有相同的基数。
superkey是一个表中的一组属性,其值可以用来唯一标识一个元组。候选关键字是识别元组所必需的最小属性集合;这也被称为最小超级键。给定由属性employeeID,name,job和departmentID组成的雇员模式,我们可以将employeeID与此表的任何或所有其他属性组合使用,以唯一标识表中的元组。此架构中的超级用户示例为{employeeID,Name},{employeeID,Name,job}和{employeeID,Name,job,departmentID}。最后一个例子被称为平凡的超级键,因为它使用这个表的所有属性来标识元组。
在真实的数据库中,我们不需要所有这些属性的值来标识元组。根据我们的示例,我们只需要set {employeeID}。这是一个最小的超级键,也就是说,可以用来识别单个元组的最小的一组属性。 employeeID是候选键。
- 1. 所有候选键都是超级键,而所有超级键都不是候选键。为什么?
- 2. 主键也是超级键和候选键吗?
- 3. 如何从一组超级键中找到所有可能的候选键?
- 4. 外键非候选键和删除级联
- 5. 不包含与引用匹配的主键或候选键
- 6. SQL错误:“引用表中没有主键或候选键......”
- 7. 候选键和主键是什么?
- 8. 对主键使用现有的候选键或新的组合键
- 9. 指定候选键Grails的?
- 10. 候选键约束12.1
- 11. 候选关键字/缩小
- 12. 如何找到候选键?
- 13. 改变候选键2005
- 14. 关于超级关键字?
- 15. 主键,唯一键和候选键之间的区别
- 16. 超级密钥与候选密钥
- 17. 引用表中没有与引用列相匹配的主键或候选键
- 18. 不能创建外键“有被引用表中没有主或候选键”
- 19. 查找关系的所有候选键
- 20. 候选键有什么意义?
- 21. 候选关键字的子集
- 22. 这是一个候选关键?
- 23. 如何找到一个候选键
- 24. 数据库 - 候选键和FD
- 25. 错误有在引用表上没有主或候选键
- 26. SQL错误 - 有没有主或候选键在引用表
- 27. 有在引用表上没有主或候选键
- 28. 有在参照表中没有主或候选键 '标签'
- 29. 线程和超级关键字
- 30. Java - 使用“超级”关键字
检查[这里](https://stackoverflow.com/questions/8337309/superkey-candidate-key-primary-key),**希望这有助于:)** – Ahmad
那么,什么是定义的条款?搜索你的问题的结果是什么? – philipxy
[Superkey,候选键和主键]可能重复(https://stackoverflow.com/questions/8337309/superkey-candidate-key-primary-key) – philipxy