外來鍵 超鍵 候選鍵

2022-08-19 15:57:09 字數 554 閱讀 6041

外來鍵:指向另一張表的主鍵

foreign key(外來鍵字段) references 表(主鍵)

子表(外來鍵所在)外來鍵不能指向不匹配的父表主鍵

父表主鍵不能隨意更改,預設為嚴格模式,不能刪除或更新記錄,級聯模式,父表更新記錄子表也更新,置空模式,父表更新記錄子表關聯資料置空

外來鍵的兩端必須型別相同,至少存在一對相同的資料,表中外鍵名不能重複,儲存引擎必須是innodb

不推薦使用外來鍵,原因在於外來鍵會對刪除和更新操作造成限制,導致開發和測試困難,而且會造成效能浪費、併發問題,不加外來鍵資料遷移分庫分表會更方便,從本質上講,使用外來鍵完全在應用程式上實現邏輯,無需借助資料庫,否則會造成資料庫效能下降,畢竟資料庫的主要工作是儲存和快速查詢

超鍵:如果有一學生表(學號,姓名,性別,身份證號),那麼含有學號或身份證號的任何字段組合都是超鍵,比如(學號)、(學號,姓名)、(身份證號、性別),這樣的組合可以唯一標識一條記錄。(但是學號和身份證號不一定是復合主鍵,它們中的乙個可能會被定義成主鍵)

候選鍵:超鍵中的最小集,如果去掉任意乙個欄位就不再是超鍵了,那麼這個超鍵就是候選鍵,如(學號)、(身份證號)

超鍵 候選鍵 主鍵 外來鍵

超鍵 super key 在關係中能唯一標識元組的屬性集稱為關係模式的超鍵 候選鍵 candidate key 不含有多餘屬性的超鍵稱為候選鍵 主鍵 primary key 關係模式中使用者正在使用的候選鍵稱主鍵,主鍵是人為規定的 外來鍵 foreign key 如果關係模式r1中的某屬性集不是r1...

超鍵 候選鍵 主鍵 外來鍵

超鍵 在關係中能唯一標識元組的屬性集稱為關係模式的超鍵。乙個屬性可以為作為乙個超鍵,多個屬性組合在一起也可以作為乙個超鍵。超鍵包含候選鍵和主鍵。候選鍵 是最小超鍵,即沒有冗餘元素的超鍵。主鍵 資料庫表中對儲存資料物件予以唯一和完整標識的資料列或屬性的組合。乙個資料列只能有乙個主鍵,且主鍵的取值不能缺...

Mysql 主鍵 超鍵 候選鍵 外來鍵

超鍵 super key 在關係中能唯一標識元組的屬性集稱為關係模式的超鍵 候選鍵 candidate key 不含有多餘屬性的超鍵稱為候選鍵。也就是在候選鍵中,若再刪除屬性,就不是鍵了!主鍵 primary key 使用者選作元組標識的乙個候選鍵程式主鍵 外來鍵 foreign key 如果關係模...