候选键就是比赛场次。
化成3NF就是
R1:
比赛场次(主键) 甲队名 乙队名 场地编号(外键) 比赛时间 裁判编号(外键) 比分
R2:
场地编号(主键) 场地名称 场地位置
R3:
裁判编号(主键) 裁判姓名
先说候选码,候选码就是可以区别一个元组(即表中的一行数据)的属性或属性的集合,比如学生表student(id,name,age,sex,deptno),其中的id是可以唯一标识一个元组的,所以id是可以作为候选码的,既然id都可以做候选码了,那么id和name这两个属性的组合可不可以唯一区别一个元组呢?显然是可以的,此时的id可以成为码,id和name的组合也可以成为码,但是id和name的组合不能称之为候选码,因为即使去掉name属性,剩下的id属性也完全可以唯一标识一个元组,就是说,候选码中的所有属性都是必须的,缺少了任何一个属性,就不能唯一标识一个元组了,给候选码下一个精确的定义就是:可以唯一标识一个元组的最少的属性集合。而码是没有最少属性这个要求的。另外,一个表的候选码可能有多个,从这些个候选码中选择一个做为主码,至于选择哪一个候选码,这个是无所谓的,只要是从候选码中选的就行。
至于主属性,刚才提到了,一个表可以有多个候选码,那么对于某个属性来说,如果这个属性存在于所有的候选码中,它就称之为主属性
说了这么多,有点乱,希望你明白了
候选码:若关系中的一个属性或属性组的值能够唯一地标识一个元组,且他的真子集不能唯一的标识一个元组,则称这个属性或属性组做候选码。
主码:主码一般指主关键字。主关键字是表中的一个或多个字段,它的值用于唯一地标识表中的某一条记录。在两个表的关系中,主关键字用来在一个表中引用来自于另一个表中的特定记录。
全码:All-key关系模型的所有属性组组成该关系模式的候选码,称为全码。即所有属性当作一个码。若关系中只有一个候选码,且这个候选码中包含全部属性,则该候选码为全码。
外码:某个关系的主码相应的属性在另一关系中出现,此时该主码在就是另一关系的外码。
扩展资料:
主码作用:
1、保证实体的完整性;
2、加快数据库的 *** 作速度;
3、在表中添加新记录时,ACCESS会自动检查新记录的主键值,不允许该值与其他记录的主键值重复;
4、ACCESS自动按主键值的顺序显示表中的记录。如果没有定义主键,则按输入记录的顺序显示表中的记录。
参考资料:
百度百科-主码
主码是从候选码中挑出来的一个作为主码,主码和外部码提供了一种表示不同关系之间相互关联的手段。
数据库中码又称数据库主码,是数据库中唯一能标识一个记录值的内部记录标志符。
若关系中的一个属性或属性组的值能够唯一地标识一个元组,且他的真子集不能唯一的标识一个元组,则称这个属性或属性组做候选码。
关系模式R中属性或属性组X并非R的候选码,但X是另一个关系模式的候选码,且X与R的主码对应,则称X是R的外部码,也称外码。
扩展资料:
在两个表的关系中,主码用来在一个表中引用来自于另一个表中的特定记录。主码表定义的一部分。一个表的主键可以由多个主码共同组成,并且主码的列不能包含空值。主码是可选的,并且可在 CREATE TABLE 或 ALTER TABLE 语句中定义。
一个表中只能有一个主键。如果在其他字段上建立主键,则原来的主键就会取消。主键的值不可重复,也不可为空(NULL)。
以上就是关于关于数据库候选码的问题全部的内容,包括:关于数据库候选码的问题、数据库原理中(清大出版社)对候选码的定义“如果一个属性集的值能够唯一标示一个关系……”属性集指什么、什么是候选码、主码、全码、外码等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)