關係型資料庫和主鍵外來鍵

2021-10-13 09:43:15 字數 1108 閱讀 5750

二、主鍵和外來鍵

定義:表與表之間的聯絡

實現方法:通過設定不同形式的外來鍵來體現表和表的不同關係

既可以把錶a的主鍵充當表b的外來鍵,也可以把錶b的主鍵充當表a的外來鍵(乙個人只有一把鑰匙,一把鑰匙只給乙個人)

一對多:把錶a的主鍵充當表b的外來鍵(乙個部門有多個員工,乙個員工只能在乙個部門)

在多的一方新增外來鍵(在員工表中新增外來鍵即:員工表為外來鍵表,部門表是主鍵表)

多對多:必須通過單獨的一張表來實現(乙個老師多個學生,乙個學生多個老師)班級一張表,老師一張表,班級和老師的關係一張表

定義:能夠唯一標示乙個事物的乙個字段或者多個欄位的組合

附註:1、含有主鍵的叫做主鍵表,主鍵通常都是整數,不建議用字串當主鍵(如果主鍵是用於集群式服務,才可以考慮用字串當主鍵)

2、主鍵的值通常都不允許修改,除非本記錄被刪除

3、主鍵不要定義成id,而要定義成表面_id

4、要用**主鍵,不要用業務主鍵(任何一張表都不建議使用有業務含義的字段充當主鍵,我們通常都是在表中單獨新增乙個整型的編號充當主鍵字段)

定義:如果乙個表中的若干個欄位是來自另外若干個表的主鍵或唯一鍵,則這若干個字段就是外來鍵

附註:1、外來鍵通常都是來自另外表的主鍵而不是唯一鍵,因為唯一鍵可能為null

2、外來鍵不一定是來自另外的表,也可能來自表的主鍵(員工表中上層管理人員也是員工中的資料)

3、含有外來鍵的表叫外來鍵表,外來鍵字段來自的呢一張表叫做主鍵表

問題:先刪除主鍵表還是外來鍵表?

答:先刪除外來鍵表

如果先刪除主鍵表會報錯,因為這會導致外來鍵表中的資料引用失敗

關係型資料庫 超鍵 候選鍵 主鍵 外來鍵的區別

1 2 3 4 5 6 7 8 學號 姓名 性別 年齡 系別 專業 20020612 李輝 男 20 計算機 軟體開發 20060613 張明 男 18 計算機 軟體開發 20060614 王小玉 女 19 物理 力學 20060615 李淑華 女 17 生物 動物學 20060616 趙靜 男 2...

資料庫 主鍵 外來鍵

1 什麼是主鍵 在一張表中,用來唯一標識一條記錄的字段集,叫做主關鍵字或者主關鍵碼,簡稱主鍵 或主碼 這裡說 欄位集 是因為主鍵可能用乙個字段或者多個欄位來表示。舉例來看 學生表 學號,姓名,性別,專業編號 這裡學號是主鍵,乙個學號id就可以唯一標識乙個學生的資訊。另乙個表 學生選課表 學號,課程號...

資料庫外來鍵主鍵

如果乙個欄位被設定為主鍵,那他一定是唯一的,並且是非空的。如果設定為整型,那麼可以新增為自動遞增的功能 外來鍵,應用於主從表。可以保證當前新增的字段在一定範圍內選擇。比如我有兩張表,乙個表是班級表,乙個表是學生表,我需要知道學生在哪乙個班級以及他的位置,我當然可以在班級表中寫好幾個列,但是顯得臃腫,...