看了乙個晚上的主鍵跟外來鍵

2021-06-25 07:23:59 字數 601 閱讀 8147

在傳智播客學習了很久了,一直搞不懂主鍵跟外來鍵的關係,看了很多資料,特別是msdn上的,真長,看一會就頭暈了,然後就找資料

最後找到了幾個講解的比較簡單一些的關於主鍵跟外來鍵的定義

msdn上的解釋太長了,沒耐心看完

主鍵的定義:要求主鍵列資料唯一,並且不允許為空! 外來鍵的定義:用於在兩表之間建立關係,需要指定引用主表的那一列!

通俗的說吧 先說說主鍵(primary key)吧:一張表(關係)的乙個列(屬性)或多個列可以作為主鍵,但是前提是讓這個列作主鍵,這個列就能保證該列下的各個行(元組)的值不能相同,比如說你用姓名屬性作主鍵的話,那麼這個主鍵就不一定可以,如果有兩個人是同樣的名字的話,就不能做到該屬性下的各個元組資料的值不同,如果用阿拉伯數字作主鍵就是乙個很好的選擇。 再說說外來鍵(foreign key):一張表(關係)的列(屬性)它同時存在表1和表2中,它不是表1的主鍵,而是表2的主鍵,就可以說他是表1的外來鍵。 那麼什麼是候選鍵(candidate key)呢:能唯一標識表(關係)中行(元組)的列(屬性),則稱該屬性為候選鍵,也稱 候選關鍵字 或 候選碼;由此來看候選鍵可以不只乙個,還看一看得出的就是主鍵同時它也是候選鍵

用這來看比較簡單一些一目了然,感謝傳智播客學習的日子,嘻嘻,又明白了乙個東西

乙個晚上的思考

本來晚上來實驗室打算寫 沒想到因為瀏覽乙個帖子而花費了乙個晚上。源於csdn社群的一篇帖子 帖子標題比較惹眼。樓主是名武大的研究生,方向是gis。從發帖看來,的確對c c 有很深的了解,不過也有片面的一些地方,當然要比我強n倍。他已經簽下了份網易的offer,工作地點 廣州,試用期5k。我一直在想自...

測試以兩個外來鍵為復合主鍵的表,兩個外來鍵空值情況

多表關聯的情況下,刪除主表的一條資料,同時修改與主表關聯的從表對應資料,如 tbl a表,tbl b表,兩表互動表tbl a b。當tbl a中的資料某條資料刪除時,需要先清除tbl a b表中對應的資料才能刪除tbl a中的資料,但有時不想刪除tbl a b的資料,就需把tbl a b中對應的a ...

看了乙個帖子後的感想

大學主要就是打基礎。這是我的基本認識。至於這些基礎知識以後會不會用上,那是另外一回事。可能很多人一輩子也用不上。但是,從事某些工作,做某些應用時,也許會用到某些基礎知識,到時候再補就麻煩了。舉個例子,編譯原理,可能很多人會覺得沒有用。筆者在工作中碰到過乙個需求,寫個問卷調查的程式,要求若第1題答a,...