本篇僅為個人理解,嚴謹性有待商榷:在學習候選碼的時候,我發現可以借用一些數學中的思想來理解。候選碼的選擇與線性代數中的極大線性無關組有著異曲同工之妙。
線性代數中極大線性無關組的定義:設S是一個n維向量組,α1,α2,...αr 是S的一個部分組,如果(1) α1,α2,...αr 線性無關;(2) 向量組S中每一個向量均可由此部分組線性表示,那么α1,α2,...αr 稱為向量組S的一個極大線性無關組,或極大無關組。對于候選碼,若關系中的一個屬性或屬性組的值能夠唯一地標識一個元組,且他的真子集不能唯一的標識一個元組,則稱這個屬性或屬性組做候選碼。主鍵是候選碼中的一個,是被數據設計者選中的,就好象極大線性無關組一樣,并不唯一。作為主鍵的的屬性間,不應該存在完全依賴或部分依賴關系。就好象極大線性無關組中的向量線性無關一樣,但是它們的組合卻可以唯一地確定其他非主鍵屬性。新聞熱點
疑難解答