DA-S09|情報Ⅰ 対策問題
生徒番号・氏名・部活動・血液型の4つの項目からなる生徒名簿の表がある。主キーとして最も適切な項目はどれか。
解答・解説を見る
正解: 1
正答
1
この問題のポイント
主キーの選択(一意性の判断) を問う問題です。「重複しない・空欄がない」が判定基準です。
解説
データベースの表では、1行が1件のデータ(ここでは生徒1人)を表します。主キーとは、その1行を他の行と確実に区別(一意に識別)するための項目で、(1)値が重複しない、(2)空欄(値なし)がない、という条件を満たす必要があります。
各項目をこの条件に当てはめて検査します。生徒番号は1人に1つずつ割り振られ、同じ番号の生徒は存在しないので主キーに適します。氏名は同姓同名の生徒が現れた瞬間に区別がつかなくなるため不適。部活動は同じ部に多数の生徒が所属し、血液型は数種類しかないため、どちらも大量の重複が生じて不適です。
「今は同姓同名がいないから氏名でもよい」と考えるのは危険です。主キーには「将来もずっと重複しない保証」が必要で、人為的に振った番号(学籍番号・会員番号・マイナンバーなど)が使われるのはこのためです。世の中のあらゆる「番号」は主キーの発想で作られている、と結び付けて覚えましょう。
共通テストでは、表を見せて「主キーとして適切な列はどれか」を選ばせる形や、複数の表を結び付ける外部キーとの区別を問う形で出題されます。各列について「一意かどうか」を機械的に検査するのが解く手順です。
選択肢の確認
1.○ 1人に1つで重複も空欄もなく、各行を一意に識別できる。
2.× 同姓同名があり得るため、一意性を保証できない。
3.× 同じ部活動の生徒が多数いて、値が重複する。
4.× 血液型は数種類しかなく、大勢が同じ値になる。
ここだけは覚えよう
主キー=重複なし・空欄なしで1行を特定 — だから会員番号のような「番号」が振られる。