精华内容
下载资源
问答
  • 数据库中 码、候选码主码 的区别

    万次阅读 多人点赞 2019-07-03 09:59:42
    主码 候选码 码 PS:元组理解为一张表的某一行,属性理解为一张表的某一列,属性名就是列的名字(字段)。 码是可以确定一个元组的所有信息的属性名或属性名组,...主码就是主键的意思,主码是任意一个候选码,...

    主码  \subseteq  候选码 \subseteq  码

    ps:元组理解为一张表的某一行,属性理解为一张表的某一列,属性名就是列的名字(字段)。

    1(码):码是可以确定一个元组的所有信息的属性名或属性名组。

    例如在 { a, b, c, d } 中,

    假设知道 a 的值就能确定  a, b, c, d  的值,

    假设知道 c, d 的值就可以确定  a, b, c, d  的值,

    那么 { a } 就是码,{ c, d } 就是码。

    并且 { a, b }, { a, c }, { a, b, c }, { a, b, c, d } 等也都是码,因为它们也可以确定一个元组的所有值,即使很多余。

    2(候选码):候选码的真子集中不存在码,候选码可以有多个。

    就上面的例子而言,{ a } 是候选码,{ c, d } 是候选码,因为它们的真子集中不存在码。

    而诸如 { a, b } 并不是候选码,因为它的真子集中含有 { a }, 且 { a } 是码。

    3(主码):主码就是主键的意思,主码是任意一个候选码

    还是上面的例子,主码是候选码 { a }, { c, d } 中的其中一个。

    既可以是 { a }, 也可以是 { c, d }。 

    展开全文
  • 首先说明 键字=码字,所以 主键=主码=主关键字,候选键=候选码=候选关键字... 所谓关系键,指的是一个表中的一个(或一组)属性,用来标识该表的每一行或与另一个表产生联系。 话不多说,上图:  相信这个图...

    一、讲解

           首先说明 键字=码字,所以 主键=主码=主关键字,候选键=候选码=候选关键字...

    所谓关系键,指的是一个表中的一个(或一组)属性,用来标识该表的每一行与另一个表产生联系

    话不多说,上图:

      相信这个图已经画得很清晰了,下面逐一解释:

      1、码=超键:能够唯一标识一条记录的属性或属性集。

      • 标识性:一个数据表的所有记录都具有不同的超键
      • 非空性:不能为空
      • 有些时候也把码称作“键”

      2、候选键=候选码:能够唯一标识一条记录的最小属性集

      • 标识性:一个数据表的所有记录都具有不同的候选键
      • 最小性:任一候选键的任何真子集都不能唯一标识一个记录(比如在成绩表中(学号,课程号)是一个候选键,单独的学号,课程号都不能决定一条记录)
      • 非空性:不能为空
      • 候选键是没有多余属性的超键
      • 举例:学生ID是候选码,那么含有候选码的都是码。
      • 少部分地方也有叫超级码的,但是见得不多

      3、主键=主码某个能够唯一标识一条记录的最小属性集(是从候选码里人为挑选的一条)

      • 唯一性:一个数据表只能有一个主键
      • 标识性:一个数据表的所有记录都具有不同的主键取值
      • 非空性:不能为空
      • 人为的选取某个候选码为主码

    4、主属性  包含在任一候选码中的属性称主属性。简单来说,主属性是候选码所有属性的并集

          非主属性  不包含在候选码中的属性称为非主属性。 非主属性是相对于主属性来定义的。

    5外键(foreign key):子数据表中出现的父数据表的主键,称为子数据表的外键。

    6、全码:当所有的属性共同构成一个候选码时,这时该候选码为全码。(教师,课程,学生)假如一个教师可以讲授多门课程,某门课程可以有多个教师讲授,学生可以听不同教师讲授的不同课程,那么,要区分关系中的每一个元组,这个关系模式R的候选码应为全部属性构成 (教师、课程、学生),即主码。

    7、代理键:当不适合用任何一个候选键作为主键时(如数据太长等),添加一个没有实际意义的键作为主键,这个键就是代理键。(如常用的序号1、2、3)

    8、自然键:自然生活中唯一能够标识一条记录的键(如身份证)

    二、例子

    下面举例说明

    课本上的定义过于笼统,下面我用一张学生成绩信息表给大家详细的说一下:

    学生成绩信息表中有(学号、姓名、性别、年龄、系别、专业等)

    超键/码:

      由于学号能确定一个学生,因此学生表中含有学号的任意组合都为此表的超键。如:(学号)、(学号,姓名)、(学号,性别)等

     若我们假设学生的姓名唯一,没有重名的现象。

          学号唯一,所以是一个超键
          姓名唯一,所以是一个超键
         (姓名,性别)唯一,所以是一个超键
         (姓名,年龄)唯一,所以是一个超键
         (姓名,性别,年龄)唯一,所以是一个超键

    候选键:

       学号唯一,而且没有多余属性,所以是一个候选键

       姓名唯一,而且没有多余属性,所以是一个候选键

      (姓名,性别)唯一,但是单独姓名一个属性就能确定这个人是谁,所以性别这个属性就是多余属性,所以(姓名,性别)不是候选键
      (姓名,年龄),(姓名,性别,年龄)同上,也不是候选键

    主键:

      主键就是候选键里面的一个,是人为规定的,例如学生表中,我们通常会让“学号”做主键,学号能唯一标识这一个元组。

    外键:

       外键就很简单了,假如我们还有一个教师表,每个教师都有自己的编号,假设老师编号在教师表中是主键,在学生表中它就是外键

    三、练习

    做一道练习题巩固一下(假设名字可能有重复):

    参考答案:

    1.答案:

    (1)候选关键字2个:(学号),(身份证号)
    (2)主关键字:(学号)
    (3)主属性2个:学号,身份证号
    (4)非主属性2个:姓名,系别
    2. 答案:

    (1)候选关键字1个:(学号,课程号)
    (2)主关键字:(学号,课程号)
    (3)主属性2个:学号,课程号
    (4)非主属性1个:成绩
    (5)外部关键字:学号(引用学生信息表中的学号),课程号(引用课程信息表中的课程号)
    3.答案:

    (1)候选关键字1个:(课程号)
    (2)主关键字:(课程号)
    (3)主属性1个:课程号
    (4)非主属性2个:课程名,学分 

    如有疑问请在评论区留言,如有帮助麻烦右上角点个赞~~蟹蟹(*^▽^*)

    展开全文
  • 主码:如果候选码只有一个,那么这个就是候选码就是主码。如果候选码是多个,那就任意选择一个候选码作为主码。 注:主码一定是候选码,但是候选码不一定是主码。 外码:设F是基本关系R的一个或一组属性,但不是关系...

    候选码:如果一个关系中,若某一个属性组的值能唯一标识一个元组,而该属性组的子集不能,则称该属性组为候选码。

    主码:如果候选码只有一个,那么这个就是候选码就是主码。如果候选码是多个,那就任意选择一个候选码作为主码。

    注:主码一定是候选码,但是候选码不一定是主码。

    外码:设F是基本关系R的一个或一组属性,但不是关系R的码。如果F与基本关系S的主码相对应,则称F是R的外码,此处的相对应就是 两者有相同的域,即下图中,若学生中的专业号与专业中的主码“专业号”相对应,则称专业号为 学生关系 的外码。

    学生(学号,姓名,性别,专业号,年龄)****主码为学号
    专业(专业号,专业名)*****主码为专业号
    

    主属性:候选码的所有属性称为主属性。
    非主属性:不包含在候选码中的属性。

    展开全文
  • 2.主码的定义:如果一个关系有多个候选码,则选定其中一个为主码; 3.主属性定义:候选码的诸属性称为主属性; 4.非主属性定义:不包含在任何候选码中的属性称为非主属性; 5.实体完整性规则:如果属性(一个或者一...

    一:相关定义及举例

    定义

    在《数据库系统概论》(第五版)——王珊、萨师煊编著中:
    1.候选码的定义:如果关系中的某一属性组的值能唯一地标识一个元组,则称该属性组为候选码;
    2.主码的定义:如果一个关系有多个候选码,则选定其中一个为主码;
    3.主属性定义:候选码的诸属性称为主属性;
    4.非主属性定义:不包含在任何候选码中的属性称为非主属性;
    5.实体完整性规则:如果属性(一个或者一组属性)A是基本关系R的主属性,则A不能取空值。

    例子

    根据上面的定义,如果有下表:
    工号 | 姓名 | 住址 | 年龄 | 职位

    假设工号、姓名和职位都可以唯一标识一个实体,说明都是候选码,那三者也应该都是主属性,三者根据实体完整性规则不可以取空值,余下是非主属性(还是说选定了工号作为主码以后,工号是主属性,其余是非主属性,工号不可以取空值)

    码的定义是什么?

    以下定义出自热心网友:
    1.是数据系统中的基本概念。所谓码就是能唯一标识实体的属性,他是整个实体集的性质,而不是单个实体的性质。它包括超码,候选码,主码。  
    2.超码是一个或多个属性的集合,这些属性可以让我们在一个实体集中唯一地标识一个实体。如果K是一个超码,那么K的任意超集也是超码,也就是说如果K是超码,那么所有包含K的集合也是超码。  
    3.候选码是从超码中选出的,自然地候选码也是一个或多个属性的集合。因为超码的范围太广,很多是我们并不感兴趣即无用处的。所以候选码是最小超码,它们的任意真子集都不能成为超码。例如,如果K是超码,那么所有包含K的集合都不能是候选码;如果K,J都不是超码,那么K和J组成的集合(K,J)有可能是候选码。
    4.按照上面码的定义看看外码的定义如下:
    设F是基本关系R的一个或者一组属性,但不是关系R的码。K(s)是基本关系S的主码。如果F与K(s)相对对应,则称F是R的外码。
    综上:F是非主属性组,必定可以取空值,但是课本例子包括课后题都说F可以是主属性,当为主属性时,为了保持实体完整性,不可以取空值。

    二、举例

    (在《数据库系统概论》(第五版)——王珊、萨师煊编著中P179页student表为例)

    1.列举任意一个例6.1中Student模式上的函数依赖、无依赖关系的属性
    Sdept依赖于sno,sdept与grade无依赖关系。

    2.分别列举例6.1中Student模式上存在的一个平凡函数依赖和非平凡函数依赖
    x->y,但x里面不含有y,则x->y称为非平凡依赖函数,例如知道学号不一定知道课程成绩(sno->sdept), 平凡依赖反之(sno->sno),平凡依赖是一定成立的。

    3.分别列举例6.1中Student模式上存在的一个完全函数依赖和部分函数依赖
    P181中间
    (sno,cno)->grade 完全依赖
    (sno,cno)->sdept 部分依赖,因为sno->sdept

    4.分别列举例6.1中Student模式上存在的传递依赖。
    Sno->sdept,sdept->mname 所以sno->mname(P181)

    5.找出例6.1中Student模式上的候选码、主码、超码、外码、主属性、非主属性
    候选码:如果关系中的某一属性组的值能唯一地标识一个元组,则称该属性组为候选码(sno,cno)一起
    主码:如果一个关系有多个候选码,则选定其中一个为主码(sno,cno)一起
    超码:是一个或多个属性的集合,超码中的这些属性可以让我们在一个实体集中唯一地标识一个实体(sno,cno)一起
    外码:cno,sno(相对于普通学生表,和课程表)
    主属性定义:候选码的诸属性称为主属性;
    非主属性定义:不包含在任何候选码中的属性称为非主属性

    展开全文
  • 主码:若一个关系有多个候选码,则选定其中一个为主码。 主属性:候选码的诸属性称为主属性。 非主属性或非码属性:不包含在任何候选码中的属性。 范围 超码≥候选码主码 注意 关系模式中的候选码可以有一个或多个...
  • 候选码 主码 主属性 非主属性 外码

    万次阅读 2018-03-06 20:58:57
    则称该属性组为候选码 在最简单的情况下,候选码只包含一个属性姓名性别年龄张明男18李华女19在上边的表格中,姓名、性别和年龄均可做为候选码,我们需要从中选出一个作为主码主码:用于标识由多个码中选出的作为...
  • 主码:有多个候选码时,从中选出一个作为这个关系的主码 外码:假设有两个关系R1和R2,R2中的一个或者一组属性不是R2的主码,而是R2的主码,则把这组属性称为R2的外码,并且把R2叫做参照关系,把R1叫做被参照关系。 ...
  • 数据库中什么是候选码主码,主属性和非主属性

    千次阅读 热门讨论 2021-05-07 19:45:30
    定义:若一个关系有多个候选码,则选定其中一个为主码。 主属性 定义:候选码的诸属性成为主属性。 非主属性 定义:不包含在任何候选码中的属性称为非主属性。 下面就拿一个例子说明: 例如:一个表中有属性...
  • 若一个关系有多个候选码,则选定其中一个为主码. 全码 在最简单的情况下,候选码只包含一个属性。在最极端的情况下,关系模式的所有属性是这个关系模式的候选码,称为全码 外码 关系属性R中属性或属性组X并非R的...
  • 候选码主码、主属性、非主属性

    千次阅读 2019-07-28 12:58:46
    当有多个的时候,任意选一个作为主码(也可以简称 码,也就是通俗我们讲的primary key)。 非常像“复合主键”这个概念,因为有些表的主键是多个属性构成的,没人规定主键只能由一个属性构成啊,只是我们大多数见到...
  • 候选码主码、外码、全码、超码

    千次阅读 2020-11-29 19:30:45
    从多个候选键中选择一个作为查询、插入或者删除元组的操作变量,被选用的候选码称为主码。 每个关系必定有且仅有一个主码,选定后主码不能重复 主属性 包含在主码中的各个属性称为主属性。 非主属性 不包含在任何...
  • 数据库的码,候选码主码关系 首先,需要了解相关的名称概念。 字段,属性:每一个记录所具有的性质,属性 表头:就是表中所有属性(或字段)的组合 码:指能够唯一标识一个元组的属性组(是属性组,包含多个一个...
  • 超码、候选码主码 与 外码

    万次阅读 多人点赞 2019-04-06 19:35:59
    超码superkey: 形式:一个或多个属性的集合 作用:在一个关系中唯一地标识一个元组。 特点: ...可能包含无关属性 ...(通俗讲,就是同一个关系r上,如果某个属性...候选码candidate key: 形式:一个或多个属性的集...
  • 码 就拿这个图片来说,无论是通过<宿舍,床位>,还是通过<江湖称号>,都能确定这个人。... 里的每个真子集都无法确定这个人,那么我们称这样的码为 候选码 但是比如 <系,专业,班级.
  • Code Meaning 码 一个或多个属性的集合 ...一个或多个属性的集合,超码中的这些属性可以在一个实体集唯一标识一个实体 ...候选码 极小的超码,任意真子集都不是超码,本身属于...数据库中码、超码、主码候选码_...
  • 超码 候选码 主码

    2019-07-10 17:13:24
    主码:某个能够唯一标识一条记录的最小属性集合(从候选码里人为的挑选一条) 举例:用户表中,用户的id,身份证都能唯一的标识用户记录。 超码:任意包含的这两者,或者其中之一的一个属性集都可以唯一标识用户...
  • 关系的候选码主码、外码 候选码 定义:能惟一标识关系中元组的一个属性或属性集,称为候选码(Candidate Key) “学生关系”中的学号能惟一标识每一个学生 “选课关系”中,只有属性的组合“学号+课程号”才能惟一...
  • 若关系中的某一属性或属性组的值能唯一的标识一个元组,而其任何、子集都不能再...简单的说,候选码(超级码)就是可以被选为主码的属性或属性组。当一个关系有N个属性或属性组可以唯一标识时,则说明该关系有N个候...
  • 2、主码主码指主关键字。主关键字(primary key)是表中的一个或多个字段,它的值用于唯一地标识表中的某一条记录。在两个表的关系中,主关键字用来在一个表中引用来自于另一个表中的特定记录。主关键字是一种唯一...
  • 它包括超码,候选码主码。 超码是一个或多个属性的集合,这些属性可以让我们在一个实体集中唯一地标识一个实体。如果K是一个超码,那么K的任意超集也是超码,也就是说如果K是超码,那么所有包含K的集合也是超码。...
  • 数据库:码 属性 候选码 主码的关系 定义 码 唯一标识实体的属性集称为码。例如学号是学生实体的码 属性 ...码是唯一确定一条记录的属性或属性集合,因此码其实也就是候选码的简称。 但是码一...
  • 码-主码-候选码辨析

    2019-09-28 11:15:20
    主码:若一个关系有多个候选码,择选其中一个为主码候选码中的所有属性都是必须的,即只有这些属性在一起时才能确定下一个元组,而码却没有最少属性的要求。 例如在学生表S中有如下关系: S(sid,name,dept) ...
  • 数据库中超码、候选码主码的区别

    千次阅读 多人点赞 2015-09-21 10:24:07
    它包括超码,候选码主码。 超码是一个或多个属性的集合,这些属性可以让我们在一个实体集中唯一地标识一个实体。如果K是一个超码,那么K的任意超集也是超码,也就是说如果K是超码,那么所有包含K的集合也是超码。...
  • 候选码主属性非主属性

    千次阅读 2019-02-20 09:55:08
    候选码:能唯一标识一个元组并且任何真子集都不能标识一个元祖的属性组 属性:候选码并集的属性 非属性:不在任何候选码中的属性
  • 数据库-候选码-主码-超码-范式

    千次阅读 2019-03-20 17:03:24
    一、超码、候选码主码 1.超码:一个或多个属性的集合,这些属性的组合可以使我们在一个实体集中唯一的标识一个实体。”学号“是超码,”学号“+”姓名“也是超码。 2.候选码:若关系中的某一属性或属性组的值能...
  • 某个候选码,即:若候选码有多个,则选择其中一个候选码(一个候选码可能有多个属性)作为主码。 主属性: 定义: 包含在任何一个候选码中的属性是主属性。 非主属性: 定义: 不包含在任何候选码中的属性是非...
  • 例如:学生关系(学号,身份证号,姓名,院系,专业,性别 ,生日),有两个候选码:【学号】和【身份证号】,我们可以选择学号为主码,也可以选择身份证号为主码(当然,一般还是选择学号为主码)。 属性:上例中:...
  • 首先说明 键字=码字,所以 主键=主码=主关键字,候选键=候选码=候选关键字… 所谓关系键,指的是一个表中的一个(或一组)属性,用来标识该表的每一行或与另一个表产生联系。 话不多说,上图:  相信这个图已经画...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 19,560
精华内容 7,824
关键字:

候选码就是主码