[sql server] 一篇文章總結 關系型數據庫中的key


一篇文章總結 關系型數據庫中的key

https://www.sqlrelease.com/sql-server-tutorial/types-of-keys

Keys are fields in a table which participate in below activities in RDBMS systems:

  1. 表與表中數據之間的依賴關系由key建立
  2. 標識數據的唯一性
  3. 使表的約束有效果, 進而能夠保證數據都是有效的
  4. 有可能會提升數據庫表的查詢效率
key des
Primary key 主鍵是選擇在表中唯一標識每個記錄表的候選鍵。主鍵不允許列空值和整個列保持唯一值。在SQL Server,默認情況下主鍵產生上的堆表聚簇索引(其不具有聚集的索引被稱為堆表的表)。我們也可以通過顯式定義的索引類型定義一個表上的非聚集主鍵。一個表只能有一個主鍵,主鍵可以在SQL Server中使用下面的SQL語句來定義:CRETE TABLE語句(在創建表的時間) - 在這種情況下,系統定義主鍵的名稱; ALTER TABLE語句(使用主鍵約束) - 用戶定義的主鍵的名稱
Unique Key 唯一鍵類似於主鍵,不允許列重復的值。它具有低於在主鍵的比較中的差:它允許在列一個空值。默認情況下,它創建於堆表非聚集索引。
Alternate(secondary) Key 備用鍵是一個候選鍵,當前未被選定為表中的主鍵。
foreign key 在兩個表之間的關系,其中一個表的主鍵被稱為在另一個表的外鍵。外鍵中可以有重復的值,也可以保持空值,如果列定義為接受空值。
Candidate Key 候選鍵是可被選擇作為表中的主鍵的表的鍵。一個表可以有多個候選鍵,其中有一個可被選擇作為主鍵。
Super Key Super鍵是一組在該表中的所有列在功能上依賴列。這是一組列的唯一標識表的每一行。 Super鍵可持有未嚴格要求,以唯一標識每一行一些其他列。主鍵和候選鍵是最小的超鍵,或者你可以說超級鍵的子集。
Composite Key 復合鍵(也稱為化合物鍵或級聯密鑰)是一組標識表的每一行唯一地兩個或更多個列組成。復合鍵的個別列可能不能夠唯一標識記錄。它可以是主鍵或候選鍵也。

讓我們通過一張圖來大致梳理一下各個key的位置和關系:


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM