資料庫基礎

在員工表格(員工編號, 電子郵件, 姓名, 部門)中,員工編號與電子郵件每位員工都不同,且不會是NULL。姓名與部門可能與其他員工相同。列出此表格所有候選鍵的是下列何者?

  1. A只有員工編號
  2. B員工編號,以及電子郵件(各自單獨即為候選鍵)
  3. C員工編號,以及員工編號與姓名的組合
查看答案與解析

正確答案:B. 員工編號,以及電子郵件(各自單獨即為候選鍵)

候選鍵是能唯一識別資料列、而且只要去掉其中任一欄位就無法唯一識別的最小欄位組合。在這個表格中,員工編號與電子郵件各自單獨就能唯一識別員工,因此兩者都是候選鍵。從候選鍵中選一個作為主鍵(此處選員工編號較自然),未被選上的電子郵件稱為替代鍵。為替代鍵加上UNIQUE與NOT NULL限制,就能防止重複。員工編號與姓名的組合雖然也能唯一識別資料列,但去掉姓名後仍保持唯一,並非最小,因此不是候選鍵。像這樣能唯一識別、但不一定最小的欄位組合稱為超鍵。

  • A. 主鍵只選一個,但候選鍵包括電子郵件在內共有兩個。
  • B. 正確。兩者都能單獨唯一識別資料列且為最小,因此都是候選鍵。
  • C. 員工編號與姓名的組合去掉姓名後仍唯一,並非最小,因此不是候選鍵。
練習這個領域 前往領域頁面

相關計算工具

資料庫基礎的其他題目

  1. 選課表格(學號, 課程編號, 成績)記錄哪位學生修了哪門課、成績如何。一位學生會修多門課,一門課也有多位學生修。若同一學生不會重複登記同一門課,此表格適當的主鍵是下列何者?
  2. 客戶表格(客戶編號, 姓名)的主鍵是客戶編號,訂單表格(訂單編號, 客戶編號)的客戶編號被定義為參照客戶表格客戶編號的外鍵。客戶表格中只有客戶編號為'C1'與'C2'的資料列。在此狀態下執行 INSERT INTO 訂單 VALUES ('O9', 'C5') 的結果,下列何者正確?
  3. SQL敘述可分為資料定義語言(DDL)、資料操作語言(DML)與資料控制語言(DCL)。屬於DDL的是下列何者?
  4. 商品表格中有(商品名稱, 價格)為(筆, 120)、(筆記本, 250)、(橡皮擦, 80)、(資料夾, 300)、(尺, 150)的5筆資料列。依序列出 SELECT 商品名稱 FROM 商品 WHERE 價格 >= 150 ORDER BY 價格 DESC 所傳回之資料列的是下列何者?
  5. 員工表格的部門欄位中,由上而下依序為 業務、研發、業務、總務、研發、業務(共6筆)。SELECT DISTINCT 部門 FROM 員工 的結果有幾筆資料列?