本篇仅为个人理解,严谨性有待商榷:在学习候选码的时候,我发现可以借用一些数学中的思想来理解。候选码的选择与线性代数中的极大线性无关组有着异曲同工之妙。
线性代数中极大线性无关组的定义:设S是一个n维向量组,α1,α2,...αr 是S的一个部分组,如果(1) α1,α2,...αr 线性无关;(2) 向量组S中每一个向量均可由此部分组线性表示,那么α1,α2,...αr 称为向量组S的一个极大线性无关组,或极大无关组。对于候选码,若关系中的一个属性或属性组的值能够唯一地标识一个元组,且他的真子集不能唯一的标识一个元组,则称这个属性或属性组做候选码。主键是候选码中的一个,是被数据设计者选中的,就好象极大线性无关组一样,并不唯一。作为主键的的属性间,不应该存在完全依赖或部分依赖关系。就好象极大线性无关组中的向量线性无关一样,但是它们的组合却可以唯一地确定其他非主键属性。新闻热点
疑难解答