MySQL 超键 候选键 主键

本文详细解析了关系数据库中的关键概念,包括超键如何唯一标识元组,候选键的定义及其与超键的关系,主键的选择和其作为元组标识的角色,以及外键的概念及其与主键的对应。通过实例分析,帮助读者掌握这些数据库术语在实际应用中的运用。
摘要由CSDN通过智能技术生成

集合关系:

 

超键(super key): 在关系中能唯一标识元组的属性集称为关系模式的超键

候选键(candidate key): 不含有多余属性的超键称为候选键。也就是在候选键中,若再删除属性,就不是键了!

主键(primary key): 用户选作元组标识的一个候选键程序主键

外键(foreign key):如果关系模式R中属性K是其它模式的主键,那么k在模式R中称为外键。

举例

比如有如下数据:

| 学号         | 姓名      | 性别 | 年龄 | 系别     | 专业

|20020612  | 李辉     | 男     |20     |计算机    |软件开发
|20060613  | 张明     | 男     |18     |计算机    |软件开发 
|20060614  | 王小玉   | 女     |19     |物理      |力学
|20060615  | 李淑华   | 女     |17     |生物      |动物学
|20060616  | 赵静     | 男     |21     |化学      |食品化学
|20060617  | 赵静     | 女     |20     |生物      |植物学

超键
在关系中能唯一标识元组的属性集称为关系模式的超键。
于是我们从例子中可以发现 学号是标识学生实体的唯一标识。那么该元组的超键就为学号。

除此之外我们还可以把它跟其他属性组合起来,比如:
(学号性别)
(学号年龄)

这样也是超键.

候选键
不含多余属性的超键为候选键。

根据例子可知,学号是一个可以唯一标识元组的唯一标识,因此学号是一个候选键,实际上,候选键是超键的子集,比如 (学号,年龄)是超键,但是它不是候选键。因为它还有了额外的属性。

主键
用户选择的候选键作为该元组的唯一标识,那么它就为主键。

简单的说,例子中的元组的候选键为学号,但是我们选定他作为该元组的唯一标识,那么学号就为主键。

外键

外键是相对于主键的,比如在学生记录里,主键为学号,在成绩单表中也有学号字段,因此学号为成绩单表的外键,为学生表的主键。

总结
主键为候选键的子集,候选键为超键的子集,而外键的确定是相对于主键的

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值