DA-B18情報Ⅰ 対策問題

データの活用データ分析特訓 (第4問対策)

主キーの設計として適切なものはどれか。図書貸出表 (【ア】, 生徒番号, 本の番号, 貸出日) を作り、同じ生徒が同じ本を別の日に借りることもある。

解答・解説を見る

正解: 1

正答

1

この問題のポイント

主キーの設計(1行を必ず一意にする) を問う問題です。

解説

主キーとは、表の中の1行(1件のデータ)を必ず特定できる項目のことです。主キーには「同じ値が2行に現れない(一意である)」「空欄にならない」という条件が必要です。

この表で主キーを選ぶ手順は、候補ごとに「同じ値の行が2つ以上できる場面はないか」と反例を探すことです。

  1. 生徒番号: 同じ生徒が何冊も借りれば、同じ番号の行が複数できる → 重複するので不可。
  2. 本の番号: 同じ本が何度も貸し出されれば重複する → 不可。
  3. 氏名: 同姓同名があり得る上、そもそもこの表の項目にない → 不可。
  4. さらに問題文の「同じ生徒が同じ本を別の日に借りる」から、生徒番号と本の番号の組み合わせでも重複し得る。

そこで、貸出1件ごとに新しい番号を振る連番「貸出番号」を追加すれば、どの行も必ず区別できます。レシート番号・注文番号・予約番号など、実社会のシステムが必ず連番を発行するのは、この主キー設計の必要からです。

共通テストでは「この表の主キーとして適切なものはどれか」という形で、重複し得る項目をわざと候補に並べてきます。「その項目で同じ値の行が2つできる場面はないか」と反例を1つ挙げられれば、その候補は消せます。

選択肢の確認

1.○ 貸出ごとに振る連番は必ず一意で、主キーの条件を満たす。
2.× 同じ生徒が複数回借りると生徒番号が重複する。
3.× 同じ本が複数回貸し出されると本の番号が重複する。
4.× 氏名は同姓同名で重複し得る上、この表の項目にもない。

ここだけは覚えよう

主キー=1行を一意に特定、重複と空欄は禁止 — 迷ったら貸出番号のような連番を追加する。

関連問題

DA-B17DA-B19