首页 > 试题广场 >

候选码中的属性可以有( )

[单选题]
候选码中的属性可以有(   )
  • 0个
  • 1个
  • 1个或多个
  • 多个
先说候选码,候选码就是可以区别一个元组(即表中的一行数据)的属性或属性的集合,比如学生表student(id,name,age,sex,deptno),其中的id是可以唯一标识一个元组的,所以id是可以作为候选码的,既然id都可以做候选码了,那么id和name这两个属性的组合可不可以唯一区别一个元组呢?显然是可以的,此时的id可以成为码,id和name的组合也可以成为码,但是id和name的组合不能称之为候选码,因为即使去掉name属性,剩下的id属性也完全可以唯一标识一个元组,就是说,候选码中的所有属性都是必须的,缺少了任何一个属性,就不能唯一标识一个元组了,给候选码下一个精确的定义就是:可以唯一标识一个元组的最少的属性集合。而码是没有最少属性这个要求的。另外,一个表的候选码可能有多个,从这些个候选码中选择一个做为主码,至于选择哪一个候选码,这个是无所谓的,只要是从候选码中选的就行。

至于主属性,刚才提到了,一个表可以有多个候选码,那么对于某个属性来说,如果这个属性存在于所有的候选码中,它就称之为主属性
发表于 2018-02-23 14:46:59 回复(5)
更多回答
主键是唯一的,而且不为空,但是候选码中的属性可以有一个也可以有多个。候选码不是主键!
编辑于 2021-05-02 11:01:21 回复(0)
候选码可以有一个或多个属性
编辑于 2024-02-23 20:56:40 回复(0)
候选码:区别一个元组(即表中的一行数据)的属性或属性的集合,比如学生表student(id, name, age, sex, deptno),其中的id是可以唯一标识的一个元组,所以id是可以作为候选码的,既然id都可以做候选码了,那么id和name这两个属性的组合可不可以唯一区别一个元组呢?显然是可以的,此时的id可以称为码,id和name组合也可以称为码,但是id和named的组合不能称为候选码,因为即使去掉name属性,剩下的id属性也完全可以唯一标识一个元组,就是说,候选码的所有属性都是必须的,缺少了任何一个属性,就不能唯一标识一个元组了,给候选码下一个精确的定义就是:可以唯一标识一个元组的最少的属性集合。而码是没有最少属性这个要求的,就不能唯一标识一个元组了,给候选码下一个精确的定义就是:可以唯一标识一个元组的最少的属性集合。而码是没有最少属性这个要求的。另外,一个表的候选码可以有多个,从这些个候选码中选一个做主码,至于选择哪一个候选码都是无所谓的,只要是从候选码中选的就可以。
至于主属性,刚才提到了,一个表可以有多个候选码,那么对于某个属性来说,如果这个属性存在于所有的候选码中它就称之为主属性。
发表于 2022-05-02 15:07:20 回复(0)