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就可以唯一標識乙個學生的資訊。另乙個表 學生選課表 學號,課程號...