简述关系模式中主码与外码的关系。

发布网友 发布时间:2022-03-29 00:09

我来回答

2个回答

懂视网 时间:2022-03-29 04:30

主码和外码的关系是:保持数据一致性,完整性,主要目的是控制存储在外键表中的数据。使两张表形成关联,外键只能引用外表中的列的值或使用空值。区别为:主码不一定是只有一个属性,主码可以由一个或者多个属性组成。主码是候选码之一;如果一个关系中的一个属性(该属性不能是候选码)是另外一个关系中的主码则这个属性为外码。外码的值要么为空,要么要为其对应的主码中的一个值。

       码是数据系统中的基本概念。所谓码就是能唯一标识实体的属性 ,他是整个实体集的性质,而不是单个实体的性质。它包括超码,候选码,主码。如果K是一一个超码,那么K的任意超集也是超码,也就是说如果K是超码,那么所有包含K的集合也是超码。所以候选码是最小超码,它们的任意真子集都不能成为超码。如果K是超码,那么所有包含K的集合都不能是候选码从多个候选码中任意选出一个做为主码,如果候选码只有一一个 ,那么候选码就是主码。

热心网友 时间:2022-03-29 01:38

主码和外码是用来实现参照完整性的,外码的数据项需参照主码的数据项来操作。具体实现是在创建数据库时为表间创立关系。如:
三个关系:
学生信息表(学号、姓名、性别、出生年月、籍贯、所属学院)
//学号
是主键(主码
课程表(课程号,课程名称,学分)
//课程号
是主键(主码
成绩表(学号,课程号,成绩)
//学号
是外码;课程号
是外码
“成绩表”(从表)的学号参照“学生信息表”(主表)的学号来录入。1、也就是主表里面没有的学号,从表里面不能有,外码参照主码录入;2、级联操作,即当删除、修改某个主表里面的学号时,从表里面的那个学号会相应的自动删除、修改。外码参照主码操作。
课程号的参照关系同理。
声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。
E-MAIL:11247931@qq.com