参照完整性
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
外键的约束
外键说明了两张表之间的联系。一张表 的外键由一个列或者多个列所组成,并且 它(们)是另外一张表的主键或者UNIQUE 它(们)是另外一张表的主键或者UNIQUE 约束列。例如,成绩表中的学号是该表的 外键,因为成绩表中学号的取值要参照学 生基本表中学号取值,同样成绩表中课程 号要参照课程表中的课程号。 举例说明:
学生基本表
成绩表
学号 X101 X102 X103 X104
学号 没有 学号 为 X104 的数 据
删除操作百度文库功!
学生基本表 学号 X101 X102 X103 X104
删除操作失败!
成绩表
学号 存在学 号为 X104的 X104的 数据
正确删除次序是首先删除或修改成绩表中学 号为X104的所有数据行,然后再到学生基 号为X104的所有数据行,然后再到学生基 本表中删除学号X104的数据行。 本表中删除学号X104的数据行。
在成绩表中[学号] 例:在成绩表中[学号]列上建立外键的作用
当往成绩表中插入数据时,[学号] 当往成绩表中插入数据时,[学号]列的取值要来自 学生基本表中学号值,也就是说,成绩表学号取 值要参照学生基本表中学号值。如下图:(插入 限制) 学号 X101 X102 X103 X104 学号
当在成绩表中插入数据行时,在插入之前 一定要到学生基本表中查看一下,查看所 插入的学号是否为学生基本表中已经存在 的学号值。这非常符合现实生活,一个学 校的学生必然要属于这个学校的注册生, 才有资格选课学习且拥有成绩表。 当要删除学生基本表中数据时,首先要 检查成绩表中没有要删除的学号对应的数 据行,则可以删除学生基本表中数据行。 如果在成绩表中还有要删除的学号对应的 数据行,则需要明确判定如何操作,一般 是不允许删除。如下图所示:(删除限制)
参照完整性
外键的约束
参照完整性
是一个在两张表上的约束条件,要求在一 张表中某些列的取值要受到另一张表中某 些列值的限制,换句话讲,一张表中列的 取值要参照另一张表中的列值。参照完整 性是通过外键实现的。如果成绩表中含有 与学生基本表的主键(学号)相对应的列, 则称这个学号是成绩表的外键。参照完整 性的意义在于成绩表中学号取值只能是在 学生表中学号的取值范围。