什么是主码?如何判断?
主码即主关键词,是表中的一个或多个字段,它的值用于唯一地标识表中的某一条记录。在两个表的关系中,主关键字用来在一个表中引用来自于另一个表中的特定记录。
主关键字是一种唯一关键字,表定义的一部分。一个表的主键可以由多个关键字共同组成,并且主关键字的列不能包含空值。主关键字是可选的,并且可在 CREATE TABLE 或 ALTER TABLE 语句中定义。
主码的例子:
签约(演员名,制片公司,电影名)
外码:设有两个关系R和S,X是R的属性或属性组,并且X不是R的码,但X是S的码(或与S的码意义相同),则称X是R的外部码(Foreign Key),简称外码或外键。
如:职工(职工号,姓名,性别,职称,部门号)
部门(部门号,部门名,电话,负责人)
其中职工关系中的“部门号”就是职工关系的一个外码。
在此需要注意,在定义中说X不是R的码,并不是说X不是R的主属性,X不是码,但可以是码的组成属性,或者是任一候选码中的一个主属性。
扩展资料:
主码的作用:
1、保证实体的完整性;
2、加快数据库的操作速度;
3、在表中添加新记录时,ACCESS会自动检查新记录的主键值,不允许该值与其他记录的主键值重复;
4、ACCESS自动按主键值的顺序显示表中的记录。如果没有定义主键,则按输入记录的顺序显示表中的记录。
参考资料来源:百度百科-主码
推荐于2017-11-29
例如,学生关系S(SNO,SNAME,AGE,SEX)
其中学号SNO是主码,它能惟一标识S中的一行,即每行中SNO上的值确定后,这行中其他属性上的值就确定下来了。所以主码实现关系定义中“表中任意两行(元组)不能相同”的约束。另外,主码实现关系完整性规则,即实体完整性约束(要求主码上的值不能取空值)和参照完整性约束(要求外码值必须是另一个表的主码的有效值或者是一个空值,即通过主码和外码实现表与表之间的联系)。所以,关系S中任一行上的SNO属性上的值不允许为空值。