什么是候选码、主码、全码、外码?

关系数据库中的码:候选码、主码、全码与外码 在关系数据库理论中,“码”是标识元组唯一性、建立数据关联的核心概念,包括候选码、主码、全码、外码等类型,它们共同构成数据整性与一致性的基础。 候选码 候选码是能唯一标识关系中每个元组的最小属性集。其核心特征为“最小性”移除任一属性后不再具有唯一标识能力与“唯一性”任意两个不同元组的候选码值必不同。例如,学生关系中,“学号”可作为候选码;若“身份证号”也满足唯一标识性,则“身份证号”同样是候选码——一个关系可存在多个候选码。 主码 主码是从多个候选码中选定的一个用于唯一标识元组的属性组,一个关系仅能有一个主码。主码需兼顾稳定性与易用性,例如学生关系通常选“学号”而非“身份证号”作为主码,因其更简短且适合日常操作。主码的值不允许为NULL,且需通过约束确保唯一性。 全码 当关系中所有属性组合在一起才能唯一标识元组时,该属性组称为全码。这通常发生在关系中单个或部分属性可独立标识元组的场景。例如,“授课”关系教师ID,课程ID,班级ID中,需通过教师、课程、班级三者组合才能确定唯一的授课记录,此时全码即为教师ID,课程ID,班级ID。 外码 外码是一个关系中的属性集,其取值需参照另一个关系的主码,用于建立关系间的逻辑联系,维护参照整性。例如,“选课”关系中的“学生ID”需参照“学生”关系的主码“学号”,“课程ID”需参照“课程”关系的主码“课程号”——此时“学生ID”和“课程ID”均为“选课”关系的外码。外码值允许为NULL表示联系暂未确定,但非NULL时必须与被参照主码的值一致。

通过候选码、主码、全码、外码的协同作用,关系数据库得以实现数据的高效标识、关联与整性控制。

延伸阅读:

    暂无相关