DBMS鍵


  • 鍵在關聯式資料庫中發揮的重要作用。
  • 它用於唯一標識表中的記錄或資料行。 它還用於建立和識別表之間的關係。

例如:在學生表中,ID用作鍵,因為它對每個學生都是唯一的。 在PERSON表中,passport_numberlicense_number,SSN是鍵,因為它們對每個人都是唯一的。

鍵型別:

1. 主鍵(Primary key)

它是第一個用於唯一標識實體的一個且僅一個範例的鍵。 正如在PERSON表中看到的那樣,實體可以包含多個鍵。 從這些列表中最合適的鍵成為主鍵。
EMPLOYEE表中,ID可以是主鍵,因為它對每個員工都是唯一的。 在EMPLOYEE表中,甚至可以選擇License_NumberPassport_Number組合作為主鍵,因為它們也是唯一的。
對於每個實體,主鍵的選擇基於需求和開發人員。

2. 候選鍵(Candidate key)

候選鍵是可以唯一地標識元組的屬性或屬性集。
除主鍵之外的其餘屬性被視為候選鍵。候選鍵與主鍵一樣強。
例如:在EMPLOYEE表中,id最適合主鍵。 其餘屬性(如SSNPassport_NumberLicense_Number等)被視為候選鍵。

3. 超級鍵(Super Key)

超級鍵是一組可以唯一標識元組的屬性。 超級鍵是候選鍵的超集。
例如:在上面的EMPLOYEE表中,對於(EMPLOEE_IDEMPLOYEE_NAME),兩個員工的名稱可以相同,但他們的EMPLYEE_ID不能相同。 因此,這種組合也可以成為鍵。
超級鍵是EMPLOYEE-ID,(EMPLOYEE_IDEMPLOYEE-NAME)等。

4. 外來鍵(Foreign key)

外來鍵是表的列,用於指向另一個表的主鍵。
在公司中,每個員工都在特定的部門工作,員工和部門是兩個不同的實體。 因此無法將該部門的資訊儲存在employee表中。這就要通過一個表的主鍵連結這兩個表的原因。
例如,將DEPARTMENT表的主鍵Department_Id新增為EMPLOYEE表中的作為一個屬性。
現在在EMPLOYEE表中,Department_Id是外來鍵,兩個表都是相關的。