超码、候选码、主码 与 外码

超码superkey:

形式:一个或多个属性的集合
作用:在一个关系中唯一地标识一个元组。
特点:

  1. 可能包含无关属性
  2. 超码的任意超集也是超码。(通俗讲,就是同一个关系r上,如果某个属性集合S包含超码K,即K是S的子集,那么S也是 r 的超码)
  3. 一张表(一个关系)一定有超码,因为至少所有属性的组合一定是超码,能唯一确定一个元组
  4. 不唯一
候选码candidate key:

形式:一个或多个属性的集合
作用:在一个关系中唯一地标识一个元组。
特点:

  1. 是超码的一个子集
  2. 任意真子集都不可能是超码,候选码就是最小的超码
  3. 没有无关属性
  4. 不唯一
主码primary key:

形式:一个或多个属性的集合
作用:在一个关系中唯一地标识一个元组。
特点:

  1. 是候选码之一
  2. 唯一或没有
  3. 由数据库设计者指定,不指定的话表就没有主码
外码 foreign key :
  • 什么时候有外码?
    关系 r1 的属性中包含关系 r2的主码 ,设这个属性为 k

  • 哪个是外码
    k 就是 r1 的外码

  • r1 、 r2 与外码的关系?

r1 是 k 依赖的参照关系(referencing relation)
r2 是 k 的被参照关系(referenced relation)



  • 什么是参照完整性约束 referential integrity constraint?
    参照完整性约束:在参照关系中,任意元组在特定关系上的取值必然等于被参照关系中某个元素在特性关系上的取值

    解释:
    r1 在 k 属性上的取值是r2 在 k 属性(属性名称可能不一样)上取值的子集。
    如果把 r1 中某个元组的 k 属性的取值看做一个变量x,r2中k属性的取值的集合设为s,
    那么s 就是变量 x 的值域。

  • 52
    点赞
  • 141
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值