数据库(笔记)——候选码、主码、外码以及关系的完整性

数据库(笔记)——候选码、主码、外码以及关系的完整性关系的码与关系的完整性关系的码 1 候选码 2 主码 3 外码关系的完整性总结关系的码 1 候选码候选码是能够唯一标识关系中某一个元组的一个属性或属性集 也叫候选键如 学生关系中 学号可以唯一标识学

大家好,欢迎来到IT知识分享网。

关系的码

1. 候选码

  • 学生关系中,学号可以唯一标识学生,班级+姓名也可以唯一标识一个学生,学号和(班级,姓名)都是候选码

候选码需要满足:

  1. 唯一性:唯一标识一个元组(注意不是说候选码只有一个)
  2. 最小性:构成候选码的属性个数最少,比如前面的(班级,姓名),再添加一个学号或其他属性就多此一举了

2. 主码

  • 主属性:包含在任何一个候选码的各个属性称为主属性(也就是说,之前的(班级,姓名)中,班级和姓名都是主属性)
  • 非主属性:不包含在任何候选码中的属性

3. 外码

关系R1,R2,其中属性集X是R1的非主码属性,但X是R2的主码,则称X是R1的外码(也叫外键、外部关系键),R1为参照关系,R2为被参照关系

  • 外码的取值是由被参照的关系的主码的域决定的,也就是外码的域来自“那个”主码的域(R1的外码和R2的主码必须在同一个域上)

选课表

关系的完整性

为了维护关系数据库中数据与现实的一致性(完整性),需要对数据操作进行一定的约束。

有如下三类

  1. 实体完整性:主码的值不能为空或部分为空
  2. 参照完整性:外码来自被参照关系的主码,且可以为空,但作为被参考的关系的主码不能为空(外码可以为空时,外码通常是非主属性)
  3. 用户自定义完整性:针对某一具体关系数据的约束条件,比如规定取值范围

总结

  • 假设姓名没有重复,姓名学号都可以作为主码,这个时候还是选择学号方便,第一这样比较通性,第二,在构建选课关系用学号更便捷

之后有时间会添加一个寻找关系码的题目

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/112020.html

(0)
上一篇 2026-01-21 10:26
下一篇 2026-01-21 10:45

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信