超键(super key): 在关系中能惟一标识元组的属性集称为关系模式的超键开发
候选键(candidate key): 不含有多余属性的超键称为候选键。也就是在候选键中,若再删除属性,就不是键了!软件
主键(primary key): 用户选做元组标识的一个候选键程序主键date
外键(foreign key):若是关系模式R中属性K是其它模式的主键,那么k在模式R中称为外键。程序
好比有以下数据:im
| 学号 | 姓名 | 性别 | 年龄 | 系别 | 专业
|:---:|:---:|:---:|:---:|:---:|:---:
|20020612 |李辉 |男 |20 |计算机 |软件开发
|20060613| 张明| 男 |18 |计算机 |软件开发
|20060614| 王小玉| 女 |19 |物理 |力学
|20060615| 李淑华| 女 |17 |生物 |动物学
|20060616| 赵静| 男 |21 |化学 |食品化学
|20060617| 赵静| 女 |20 |生物 |植物学总结
1. 超键
在关系中能惟一标识元组的属性集称为关系模式的超键。数据
因而咱们从例子中能够发现 学号是标识学生实体的惟一标识。那么该元组的超键就为学号。计算机
除此以外咱们还能够把它跟其余属性组合起来,好比:di
(`学号`,`性别`)
(`学号`,`年龄`)
这样也是超键.
2. 候选键
不含多余属性的超键为候选键。
根据例子可知,学号是一个能够惟一标识元组的惟一标识,所以学号是一个候选键,实际上,候选键是超键的子集,好比 (学号,年龄)是超键,可是它不是候选键。由于它还有了额外的属性。
3. 主键
用户选择的候选键做为该元组的惟一标识,那么它就为主键。
简单的说,例子中的元组的候选键为学号,可是咱们选定他做为该元组的惟一标识,那么学号就为主键。
4. 外键
外键是相对于主键的,好比在学生记录里,主键为学号,在成绩单表中也有学号字段,所以学号为成绩单表的外键,为学生表的主键。
主键为候选键的子集,候选键为超键的子集,而外键的肯定是相对于主键的。