超码(superkey)绝对算得上计算机术语中翻译以后看起来更复杂的一个典型。

超码和码其实没有任何关系它本质上是一组属性的集合。这一组集合可以唯一的标识出一个元组,就是说不同元组的超码中的属性是不全相同的。

表中的一行就是一个元组,一列就是一个属性

比如在上图的关系中,ID这一个属性就足够区分所有的元组,所以ID这个属性就是一个超码

因为教师可能出现重名的情况,所以name不一定能区分元组,所以name就不是超码。

候选码就是最小超码子集,有点像极小连通子图。当一个超码删除掉任何一个属性之后都不是超码了,我们就把这个超码称为候选码。如{ID}和{name,dept_name}都是候选码。但是{ID,name}就不是候选码,虽然可以唯一区分元组,但是ID这个属性自己就是超码,所以{ID,name}不是候选码。

主码就是数据库设计者选定的、用来主要区分元组的候选码。一般选择那些从不或极少变化的属性,并且把它们列在其他属性的前面。如上表中的ID属性。

三者关系如下:

数据库-超码、候选码、主码相关推荐

  1. 数据库—属性 码 候选码 主码 外码 主属性 非主属性

    问题产生:在学习第6章关系数据理论时,由于之前关于码的各种概念不熟悉,导致不理解. 资料来源:数据库系统概论–王珊 概念及举例 (1):基础定义 实体:客观存在的物体 属性:一个实体的某个特征 码:能 ...

  2. 彻底搞懂数据库中的超码,候选码,主码,主属性,非主属性,全码的区别

    超码:某一个能够唯一标识一条记录的属性或属性集 候选码:某一个属性组的值能够唯一的标识一个元组,而其子集不能,则称该属性组为候选码,候选码是一类特殊的超码,包含候选码的属性组一定是超码 主码:若一个关 ...

  3. 超码 候选码 主码

    例如:学生是一个实体,则学生的集合是一个实体集,而超码是用来在学生的集合中区分不同的学生.假设学生(实体)具有多个属性:学号,身份证号,姓名,性别.因为通过学号可以找到唯一一个学生,所以{学号}是一个 ...

  4. 函数依赖 候选码 主码 第三范式 BCNF 多值依赖

    关系数据库理论 课本第六章 关系数据库理论 一.函数依赖: 1.完全函数依赖 通过AB能得出C,但是AB单独得不出C,那么说C完全依赖于AB. 2.部分函数依赖 通过AB能得出C,通过A也能得出C,通 ...

  5. 数据库列级定义主码(键)与表级定义主码(键)

    1.对单属性构成的码有两种说明方法,一种是定义为列级约束条件,另一种是定义为表级约束条件,如 1.1单属性列级定义主键 CREATE TABLE Student( Sno CHAR(9) PRIMAR ...

  6. 【数据库】码,超码,候选码与主码,外码

    码的作用 用于区分不同元组.也就是不同行,此表中则为区分不同学生. 超码 超码 是一个或多个属性的集合,这些属性的组合可以使我们在一个关系中唯一地标识一个元组: e.g. 在上表中,{学号} 可唯一标 ...

  7. 数据库中码、超码、主码、候选码

    码 码是一个或多个属性的集合. 超码 是一个或多个属性的集合,超码中的这些属性可以让我们在一个实体集中唯一地标识一个实体. 候选码 候选码是极小的超码集,也就是它的任意真子集都不是超码,而他本身是超码 ...

  8. mysql 中外码和主码_数据库原理与应用(6)——关系的候选码、主码和外码、关系完整性、关系代数、元组关系的演算、域关系演算...

    一.关系的候选码 候选码(Candidate Key):能唯一标识关系中元组的一个属性或属性集 性质:唯一性,最小性 二.关系的主码和外码 主码(Primary Key):从多个候选码中选择一个作为查 ...

  9. 数据库原理和应用(6)—— 候选码、主码和外码,关系的完整性、关系代数、关系的演算

    一.候选码.主码和外码 1. 候选码(Candidate Key) 定义:能唯一标识关系中元组的一个属性或属性集,称为候选码. 性质:具有唯一性和最小性. 2. 关系的主码和外码 主码 定义:从多个候 ...

  10. 超码、候选码、主码、主属性、非主属性

    数据库相关基础概念 超码 候选码 主码 主属性 非主属性 超码 定义:一个或多个属性的集合,这些属性的组合可以使我们在一个实体集中唯一的标识一个实体. 例如:学生是一个实体,则学生的集合是一个实体集, ...

最新文章

  1. javascript控制validator
  2. python的薪资待遇-Python的就业薪资具体多少?发展前景到底如何?
  3. python3.6.5安装教程-[教程]Centos下使用Yum安装python3.6.5
  4. CentOS7安装Zabbix
  5. 介绍一款facebook信息收集工具FBI
  6. 联想小新电脑dns服务器未响应,Lenovo Quick Fix 联想智能解决工具
  7. React开发(272):try...catch..捕获
  8. java 动态加载jni_JNI静态注册与动态注册详解
  9. YouTube 架构揭秘与学习
  10. 基于fo-dicom 的 Worklist CStore 我的学习实现路线
  11. instagram怎么用_用PHP和Instagram API征服Instagram
  12. 多媒体处理常用软件:图像、文本、音频、视频、动画、微课
  13. ORB_SLAM安装以及运行实例
  14. 美联储加息75个基点释放什么信号?对我们有什么影响
  15. Android音频播放器
  16. LiveMedia视频平台是如何实现基于网页的语音对讲
  17. python基础教程:face++与python实现人脸识别签到(考勤)功能
  18. Qt+OpenCV摄像头读取保存回放视频
  19. 最后教一次:完美解决电脑上的流氓软件
  20. HDU 5976 Detachment(数学+结论)

热门文章

  1. 软件库Library之静态库\动态库和静态加载\动态加载
  2. html怎么导入excel文件夹,怎么将文件夹文件名都导入到excel表格
  3. 打工的脑子和做生意的不一样
  4. Android VideoView 播放视频
  5. 深度推荐模型 - DeepFM
  6. Vert.x技术点总结
  7. Nginx安装fair模块
  8. AndroidBug5497Workaround 修改
  9. JsTree 最详细教程及完整实例
  10. 网络爬虫-今日头条_signature参数逆向(第一弹)