在网上看了好多关于这四个的阐述,我感觉都没有太理解,我自己去找了视频看了一下,感觉用这个比喻好理解点。
超键:(可以唯一标识一个元组的某一属性或属性组)
我们可以想象为皇帝的众多皇子来争夺皇位,而超键就标识各个皇子,可以是皇子的姓名这一个属性就标识了,也可以是(属性1)皇子的父亲和(属性2)母亲一起来标识该皇子。
候选键:与超键不同的是要去冗余。
接上面的例子,在各个皇子中,要找到一个真正可以唯一标识一个皇子的且没有冗余的属性或属性组,我们就要去掉(属性1)皇子的父亲这个冗余项。因为所有的皇子的父亲都是皇上,这一个项加上不会起到任何标识作用。
主键:就是候选键中任选一个
接上,候选键就是各位皇帝候选人——皇子,皇子可以有很多很多,但是最终成为皇帝的,只能有一个。
主属性:构成候选键的各个属性