有关概念的解释,书中有虽有详细的定义, 但由于其正规性, 往往晦涩难懂,对初学者造成很大的困扰,其实含义不见得有多复杂。
先来看一下定义:
候选键(candidate key):不含有多余属性的超键称为候选键
主键(primary key):用户选作元组标识的一个候选键程序主键
超键(super key):在关系中能唯一标识元组的属性集称为关系模式的超键
外键(foreign key):如果关系模式R1中的某属性集不是R1的主键,而是另一个关系R2的主键则该属性集是关系模式R1的外键。
举例:
候选键:
候选键就是能唯一确定表中信息的键, 如学生的学号、身份证号等等。 所有候选键都有当主键的资格,与超键不同的是,候选键只能是单一属性, 不能是多个属性的组合。
主键:
主键就是从候选键里面挑一个最有代表性的,是人为规定的,一般来讲,学生表中,“学号”通常为主键,教师表中,“教师编号”通常为主键。
超键:
有定义可知, 超键是一个组合, 并且这个组合中一定要包括候选键,组合中的属性可以是一个,也可以是多个。如:(学号)、(学号,姓名)、(身份证号,性别)等。
外键:
别的表的主键,放到这个表中, 就叫外键。主要是用来描述两个表的关系。