資料庫基礎
在員工表格(員工編號, 電子郵件, 姓名, 部門)中,員工編號與電子郵件每位員工都不同,且不會是NULL。姓名與部門可能與其他員工相同。列出此表格所有候選鍵的是下列何者?
- A只有員工編號
- B員工編號,以及電子郵件(各自單獨即為候選鍵)
- C員工編號,以及員工編號與姓名的組合
查看答案與解析
正確答案:B. 員工編號,以及電子郵件(各自單獨即為候選鍵)
候選鍵是能唯一識別資料列、而且只要去掉其中任一欄位就無法唯一識別的最小欄位組合。在這個表格中,員工編號與電子郵件各自單獨就能唯一識別員工,因此兩者都是候選鍵。從候選鍵中選一個作為主鍵(此處選員工編號較自然),未被選上的電子郵件稱為替代鍵。為替代鍵加上UNIQUE與NOT NULL限制,就能防止重複。員工編號與姓名的組合雖然也能唯一識別資料列,但去掉姓名後仍保持唯一,並非最小,因此不是候選鍵。像這樣能唯一識別、但不一定最小的欄位組合稱為超鍵。
- A. 主鍵只選一個,但候選鍵包括電子郵件在內共有兩個。
- B. 正確。兩者都能單獨唯一識別資料列且為最小,因此都是候選鍵。
- C. 員工編號與姓名的組合去掉姓名後仍唯一,並非最小,因此不是候選鍵。