[toc]
候选码是能够唯一标识关系中某一个元组的一个属性或属性集,也叫候选键 如:
候选码需要满足:
主码是从候选键中选着一个作为查询、插入、删除元组操作的操作变量,也叫主键、主码、关系键、关键字 简单来说就是从候选码中选出的一个最具代表性的
关系R1,R2,其中属性集X是R1的非主码属性,但X是R2的主码,则称X是R1的外码(也叫外键、外部关系键),R1为参照关系,R2为被参照关系
注意一个地方,外码 只是 不是主码,不代表外码不能是主属性,通过下面的例子来对候选码、主码、外码进行说明:
如上三个关系表,分别为 学生(学号,姓名,性别,专业,年龄) 课程(课程号,课程名,学分) 选课(学号,课程号,成绩) 黄色标记的是主码,可以看见的是,选课关系中主码由学号和课程号两个属性组成 而单个学号或者课程号是无法做到唯一标识的 因此学号或课程号不能单独作为主码 而学号和课程号分别是学生和课程的主码,则选课关系中,学号和课程号都是外码,并且学号和课程号是选课关系中的主属性
为了维护关系数据库中数据与现实的一致性(完整性),需要对数据操作进行一定的约束。
有如下三类
关系的码对于后面创建数据库很重要,尤其是外码这一块很容易出错 在寻找主码时通常选择最具代表性的