鍵
- 鍵在關係資料庫中發揮的重要作用。
- 它用於唯一標識表中的記錄或數據行。 它還用於建立和識別表之間的關係。
例如:在學生表中,ID用作鍵,因為它對每個學生都是唯一的。 在PERSON表中,passport_number
,license_number
,SSN是鍵,因為它們對每個人都是唯一的。
鍵類型:
1. 主鍵(Primary key)
它是第一個用於唯一標識實體的一個且僅一個實例的鍵。 正如在PERSON
表中看到的那樣,實體可以包含多個鍵。 從這些列表中最合適的鍵成為主鍵。
在EMPLOYEE
表中,ID
可以是主鍵,因為它對每個員工都是唯一的。 在EMPLOYEE
表中,甚至可以選擇License_Number
和Passport_Number
組合作為主鍵,因為它們也是唯一的。
對於每個實體,主鍵的選擇基於需求和開發人員。
2. 候選鍵(Candidate key)
候選鍵是可以唯一地標識元組的屬性或屬性集。
除主鍵之外的其餘屬性被視為候選鍵。候選鍵與主鍵一樣強。
例如:在EMPLOYEE
表中,id
最適合主鍵。 其餘屬性(如SSN
,Passport_Number
和License_Number
等)被視為候選鍵。
3. 超級鍵(Super Key)
超級鍵是一組可以唯一標識元組的屬性。 超級鍵是候選鍵的超集。
例如:在上面的EMPLOYEE
表中,對於(EMPLOEE_ID
,EMPLOYEE_NAME
),兩個員工的名稱可以相同,但他們的EMPLYEE_ID
不能相同。 因此,這種組合也可以成為鍵。
超級鍵是EMPLOYEE-ID
,(EMPLOYEE_ID
,EMPLOYEE-NAME
)等。
4. 外鍵(Foreign key)
外鍵是表的列,用於指向另一個表的主鍵。
在公司中,每個員工都在特定的部門工作,員工和部門是兩個不同的實體。 因此無法將該部門的資訊存儲在employee
表中。這就要通過一個表的主鍵鏈接這兩個表的原因。
例如,將DEPARTMENT
表的主鍵Department_Id
添加為EMPLOYEE
表中的作為一個屬性。
現在在EMPLOYEE
表中,Department_Id
是外鍵,兩個表都是相關的。