關係型數據庫和主鍵外鍵

SQL server的基礎學習3

一、什麼是關係

定義:表與表之間的聯繫
實現方法:通過設置不同形式的外鍵來體現表和表的不同關係

一對一

既可以把表A的主鍵充當表B的外鍵,也可以把表B的主鍵充當表A的外鍵(一個人只有一把鑰匙,一把鑰匙只給一個人)

一對多

一對多:把表A的主鍵充當表B的外鍵(一個部門有多個員工,一個員工只能在一個部門)
在多的一方添加外鍵(在員工表中添加外鍵即:員工表爲外鍵表,部門表是主鍵表)
在這裏插入圖片描述
在這裏插入圖片描述


多對多

多對多:必須通過單獨的一張表來實現(一個老師多個學生,一個學生多個老師)班級一張表,老師一張表,班級和老師的關係一張表
在這裏插入圖片描述
在這裏插入圖片描述 在這裏插入圖片描述

二、主鍵和外鍵

主鍵

定義:能夠唯一標示一個事物的一個字段或者多個字段的組合
附註:
1、含有主鍵的叫做主鍵表,主鍵通常都是整數,不建議用字符串當主鍵(如果主鍵是用於集羣式服務,纔可以考慮用字符串當主鍵)
2、主鍵的值通常都不允許修改,除非本記錄被刪除
3、主鍵不要定義成id,而要定義成表面_id
4、要用代理主鍵,不要用業務主鍵(任何一張表都不建議使用有業務含義的字段充當主鍵,我們通常都是在表中單獨添加一個整型的編號充當主鍵字段)




外鍵

定義:如果一個表中的若干個字段是來自另外若干個表的主鍵或唯一鍵,則這若干個字段就是外鍵
附註:
1、外鍵通常都是來自另外表的主鍵而不是唯一鍵,因爲唯一鍵可能爲null
2、外鍵不一定是來自另外的表,也可能來自表的主鍵(員工表中上層管理人員也是員工中的數據)
3、含有外鍵的表叫外鍵表,外鍵字段來自的呢一張表叫做主鍵表
問題:先刪除主鍵表還是外鍵表?
答:先刪除外鍵表
如果先刪除主鍵表會報錯,因爲這會導致外鍵表中的數據引用失敗






發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章