`
Chance.
  • 浏览: 20768 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

数据库中的超码、候选码、主码

 
阅读更多

码是数据系统中的基本概念。所谓码就是能唯一标识实体的属性,他是整个实体集的性质,而不是单个实体的性质。它包括超码,候选码,主码。  超码是一个或多个属性的集合,这些属性可以让我们在一个实体集中唯一地标识一个实体。如果K是一个超码,那么K的任意超集也是超码,也就是说如果K是超码,那么所有包含K的集合也是超码。  候选码是从超码中选出的,自然地候选码也是一个或多个属性的集合。因为超码的范围太广,很多是我们并不感兴趣即无用处的。所以候选码是最小超码,它们的任意真子集都不能成为超码。例如,如果K是超码,那么所有包含K的集合都不能是候选码;如果K,J都不是超码,那么K和J组成的集合(K,J)有可能是候选码。  是从多个候选码中任意选出一个做为主码,如果候选码只有一个,那么候选码就是主码。虽然说主码的选择是比较随意的,但在实际开发中还是要靠一定的经验,不然开发出来的系统会出现很多问题。一般来说主码都应该选择那此从不或者极少变化的的属性。
超码:一个或多个属性的集合,这些属性的组合可以使我们在一个实体集中唯一的标识一个实体。


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

  虽然超码可以唯一标识一个实体,但是可能大多数超码中含有多余的属性。所以我们需要候选码。


候选码:如果任意超码的真子集不能包括超码,则称其为候选码;超码包括候选码;

  在上例中,只有{学号}、{身份证号}都是候选码;另外,如果性别和姓名可以唯一标识一个学生,则{姓名,性别}也为超码。


主码:被数据库设计者选中的,用来在同一实体集中区分不同实体的候选码;此外,应该选择哪些从不或极少变化的属性;


总结:  所有码都是一个集合。  所有可以用来在实体集中标识唯一实体的集合,都是超码。  如果任意超码的真子集不能包括超码,则称其为候选码。  被数据库设计者选中的,用来在同一实体集中区分不同实体的候选码。  超码包括候选码,候选码包括主码。


分享到:
评论

相关推荐

    数据库系统概论笔记整理——第二章(关系数据库之主码,候选码,关键字,外码,全码,主属性,笛卡尔积,关系的完整性等)

    :red_heart_selector: 关系数据结构及形式化定义 1.笛卡尔积:当做一个表来说,就是一行是一个元组,一列是一个域,是域的基数的相乘 ...8.主码:从候选码选定其中一个为主码 9.主属性:候选码的诸属性称为主属性 10.

    实体联系模型

    找到所关心的 数据,并将其组织起来,使之可以存放到数据库中。 模型:是描述数据的概念集合。按应用的 不同目的分为两类:概念模型、数据模型。 概念模型:也称信息模型,它按用户的观点对数据和信息进行建模,用于...

    数据库系统原理(04735-2018年版)-数据库系统概述笔记.doc

    全码或全键(All- Key)一个关系模式的所有属性集合是这个关系的主码或主键,则称这样的主码或主键为 全码或全键 主属性(Primary Attribute)和非主属性(Nonprimary Attribute)关系中包含在任何一个候选码中的...

    数据库原理复习

    码:表中可以唯一确定一个元组的某个属性(或者属性组),如果这样的码有不止一个,那么大家都叫候选码,我 们从候选码中挑一个出来做老大,它就叫主码。 超码:属性组是码跟非码在组成的码。(因为码可以是一个属性...

    数据库设计及应用.doc

    主码(Primary Key):进行数据库设计时,从一个关系的多个候选码中选定一个作为主码。主码不可为 空。 实体完整性:关系的主码中的属性值不能为空值(若主码为空,则出现不可标识的实体 ,这是不容许的)空值:不...

    自考:数据库系统原理-(考点).doc

    元组、分量、码、超码、候选码、主码、全码、主属性、域、关系模式的定义 元祖:表中的一行即为一个元祖 分量:元祖中的一个属性值,成为分量 码(或键):如果在一个关系中,存在这样的属性(或属性组),使得在该...

    贴片机控制系统的数据库设计.docx

    R若为2NF,则R一定没有部分函数依赖且任一属性M皆满足M出现在一个候选码中,或M部分函数依赖于一个候选码;关系模式R(U,F)中若不存有候选码A、属性组B和非主属性C,CB,使得A B、B C、BA成立,则R 3NF。若某关系...

    【数据库】复习知识点1

    第二章 实体-联系模型 5一、基本概念 51.实体、联系、属性 52.超码、候选码、主码 53.联系的种类、联系的势 54.弱实体、特殊化、概括、聚集 6二、E

    数据库系统概论习题集2007-6-10.doc

    候选码 B.外码 C.超码 D.主码 3.关系模型中,一个码是(C) A. 可以由多个任意属性组成 B. 至多由一个属性组成 C. 由一个或多个属性组成,其值能够惟一标识关系中一个元组 D. 以上都不是 4.现有如下关系:患者...

    MySQL:从四个问题到数据库规范化理论

    文章目录一、前言二、数据模式存在的问题2.1 例子2.2 问题2.3 什么是好的数据模式三、数据库的规范化理论3.1 关系模式3.2 函数依赖3.3 候选码、超码、主码、主属性、非主属性、全码3.4 范式1NF2NF3NFBCNF ...

Global site tag (gtag.js) - Google Analytics