在傳智播客學習了很久了,一直搞不懂主鍵跟外鍵的關係,看了很多資料,特別是msdn上的,真長,看一會就頭暈了,然後就找資料
最後找到了幾個講解的比較簡單一些的關於主鍵跟外鍵的定義
http://msdn.microsoft.com/zh-cn/library/ms179610.aspx msdn上的解釋太長了,沒耐心看完
主鍵的定義:要求主鍵列數據唯一,並且不允許爲空! 外鍵的定義:用於在兩表之間建立關係,需要指定引用主表的那一列!
通俗的說吧 先說說主鍵(primary
key)吧:一張表(關係)的一個列(屬性)或多個列可以作爲主鍵,但是前提是讓這個列作主鍵,這個列就能保證該列下的各個行(元組)的值不能相同,比如說你用姓名屬性作主鍵的話,那麼這個主鍵就不一定可以,如果有兩個人是同樣的名字的話,就不能做到該屬性下的各個元組數據的值不同,如果用阿拉伯數字作主鍵就是一個很好的選擇。 再說說外鍵(foreign key):一張表(關係)的列(屬性)它同時存在表1和表2中,它不是表1的主鍵,而是表2的主鍵,就可以說他是表1的外鍵。 那麼什麼是候選鍵(Candidate Key)呢:能唯一標識表(關係)中行(元組)的列(屬性),則稱該屬性爲候選鍵,也稱
候選關鍵字 或 候選碼;由此來看候選鍵可以不只一個,還看一看得出的就是主鍵同時它也是候選鍵
用這來看比較簡單一些一目瞭然,感謝傳智播客學習的日子,嘻嘻,又明白了一個東西