1:键的引入:
数据表是二维矩阵式结构的,它的每一行数据代表一条记录,每一条记录又由多种属性/字段组成,“键”就与这些属性/字段有关。
2:主键:在一张数据表中能够唯一确定一条记录的属性/字段。
用一个简单的类比来讲,把全人类的集合抽象成一张表,而每个人都是这个表中的一条记录,每个人有相同的和不同的特征(属性/字段),而我们要识别记住某一个具体的人,他就一定有他独一无二的一个点或者一组点,这个点就是主键。
特性:唯一性、强制性、永久性、最小集合
3:候选键:能够用来唯一确定一条记录的属性/字段就是候选键。所以候选键的数量可以为一个或多个,换句话说,候选键就是具备成为主键的资格,但是目前还不是主键的属性/字段。
一个浅显的类比,假如说我是皇帝,要立一个皇后,在我的后宫有3000佳丽,其中有n个有成为皇后的资格,在我没有确定皇后(主键)之前,n个妃子每个都是候选键,最终被我选中的妃子成为了皇后,也就是主键,剩下的就成为了可选键。
候选键必需是单个键,是最小的键,要与复合键区分开。
4:可选键
候选键中没有被选为主键的属性/字段就被称为可选键
5:复合键
由多个字段/属性组成,能唯一识别一条记录的键,也就是主键,只是是复合型的主键——简称复合键
6:单键——由一个字段/属性组成的主键
7:自然键:自然键也是主键,既可以是单键也可以是复合键
8:外键:指某张数据表中的某个或某部分属性/字段是另外一张表中的主键
外键的目的通常是为了约束当前表。因为每次操作当前表,它都会去查询一下拥有这个外键作为主键的表中的数据,如果数据不对,则无法操作。
9:超键:个人认为与主键类似,只是不强调最小集合这个概念