Mysql資料庫主鍵與外來鍵理解

2021-10-12 01:47:47 字數 1000 閱讀 4297

mysql資料庫主鍵外來鍵的理解

1:什麼是主鍵

在一張表中,用來唯一標識一條記錄的字段集,叫做主關鍵字或者關鍵碼,簡稱主鍵

2:什麼是外來鍵

一張表的非主屬性是另乙個表的主屬性就是這個表的外來鍵

一張表的非主屬性是另乙個表的主屬性就是這個表的外來鍵。這裡有兩個分別為: 學生表(學號, 姓名, 性別,專業編號),專業資訊表(專業編號,專業名稱,專業備註資訊)。學生表中主鍵是學號,專業資訊表中主鍵是專業編號。學生表中的非主屬性專業編號恰好是專業資訊表中的主鍵。我們就稱這個專業編號是學生表的外來鍵。像這樣,乙個表的非主屬性是另乙個表的主屬性,該非主屬性就是外來鍵。

3: 什麼是父表和子表

有兩張表a表和b表,表a中的乙個欄位id是外來鍵,表b中的乙個欄位id是主鍵,那麼稱b為父表,a為子表。

設定表的外來鍵的作用在於建立與父表的聯絡

就是說乙個表中外鍵欄位(相當於這裡的a表)是另乙個表中(相當於這裡的b表)的主鍵。 還是上面的兩個表來舉例理解:學生表(學號, 姓名, 性別,專業編號),專業資訊表(專業編號,專業名稱,專業備註資訊)。這裡學生表是子表,專業資訊表是父表。比如在專業資訊表中某個專業編號的id為'1001',刪除這個id後,則學生表中的專業編號id為'1001'的記錄也隨著刪除,這樣做的目的在於保證表的完整性。

資料庫的三種約束

1.實體完整性約束指的是主鍵不能為空,如果主鍵為空了還怎麼唯一標識一條記錄。

2.參照完整性約束,即外來鍵的約束,某一外來鍵的值必須在它引用的主鍵欄位中存在。如,學生表中專業編號屬性的值,必須都存於專業資訊表中的專業編號屬性中。想一想也就明白了,乙個學生(大學生)怎麼可能屬於乙個不存在的專業。

3.使用者自定義完整性約束,指的是一些使用者自己設定的約束,例如字段是否可以為空,字段值的取值範圍(如:人的性別只能取男、女)。

資料庫 主鍵與外來鍵

主鍵的特點 非空 唯一 被引用 外來鍵 操作主鍵的四種種方法 1 建立表時指定主鍵 create table 表名 列名 型別 primary key 2 在後面新增 create table 表名 列名 型別,primary key 列名 3 在表建立後新增主鍵 alter table 表名 ad...

資料庫中主鍵與外來鍵的理解

資料庫中主鍵與外來鍵的理解 在關係型資料庫中,資料結構有邏輯結構和物理結構。物理結構指儲存在物理介質上的資料檔案的結構。邏輯結構即關係,也就是一張張的二維表。表中的一列即為乙個字段 屬性 代表的是實體的乙個屬性。表中的一行即為一條記錄。如 學生表中 學號,姓名,年齡,性別 在該表中有4個字段,代表學...

資料庫 主鍵 外來鍵

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