資料庫基礎

選課表格(學號, 課程編號, 成績)記錄哪位學生修了哪門課、成績如何。一位學生會修多門課,一門課也有多位學生修。若同一學生不會重複登記同一門課,此表格適當的主鍵是下列何者?

  1. A學號
  2. B課程編號
  3. C學號與課程編號的組合
查看答案與解析

正確答案:C. 學號與課程編號的組合

由於一位學生會修多門課,只用學號會出現多筆相同值的資料列,無法唯一識別。同樣地,一門課有多位學生修,只用課程編號也不唯一。把學號與課程編號組合起來,依據同一學生不會重複登記同一門課的條件,就能唯一決定一筆資料列。像這樣由多個欄位組合而成的主鍵稱為複合鍵,在SQL中以 PRIMARY KEY (學號, 課程編號) 的方式列出欄位來指定。選課表格的學號與課程編號,也分別是參照學生表格與課程表格主鍵的外鍵,這個表格表示了學生與課程之間的多對多關係。

  • A. 一位學生會修多門課,只用學號會重複。
  • B. 一門課有多位學生修,只用課程編號會重複。
  • C. 正確。組合兩個欄位就成為能唯一決定一筆資料列的複合鍵。
練習這個領域 前往領域頁面

相關計算工具

資料庫基礎的其他題目

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