KM-19|情報Ⅰ 対策問題
令和7年度追試 第1問 問3 Sさんの学校では、放課後に部活動団体が施設を利用する場合は、施設を事前に予約することになっている。予約は1か月ごとに行い、一日単位で予約できる。同一日において一つの施設は一つの部活動団体が占有する。 Sさんはこの予約をコンピュータで管理しようと考えた。表2は、予約の度に予約の可否を確認し、予約可能であれば表の末尾に新しい行を追加して、予約の日付、施設名、部活動団体名を記入していく形式である。各行は<日付>・<施設>・<部活動団体>の三つのマスからなり、空白のマスはない。 予約を取り消す権限をもつ教員が、7月3日の武道場に入っている予約(柔道部の予約。表2の抜粋部分には表示されていない行にある)を取り消して誰も予約していない状態にしたい場合、表2を使うとどうすればよいか。最も適当なものを選べ。

解答・解説を見る
正解: 2
正答
2
問題の整理
この表は「1行 = 1件の予約」で、各行に<日付><施設><部活動団体>の3つが必ず入っています(空白マスなし)。データベースの表と同じ構造です。「予約の取り消し」を正しく行うには、2つのことを考えます。
- どの行か: 目的の1行だけに絞り込める検索条件は何か
- 何を消すか: マスの一部か、行全体か
解き方
手順1: 行を特定する条件を作る。
「7月3日の武道場の予約」を探したいのですが——同じ7月3日には体育館やグラウンドの予約もあり得るので、日付だけでは絞れません。武道場は他の日にも予約されるので、施設だけでも絞れません。「日付が7月3日」かつ「施設が武道場」の2条件をかけ合わせて、はじめて行が1つに決まります。
手順2: 行ごと削除する。
この形式では1行が1件の予約を表すので、「誰も予約していない状態にする」=その予約のレコードをなくすこと。部活動団体のマスだけ消すと「日付と施設だけの不完全な行」が残ってしまい、「空白のマスはない」というルールにも反します。行そのものを削除するのが正解です。
なお、団体名「柔道部」で探す方法は、柔道部が他の日や他の施設も予約していると複数の行が該当してしまうため、特定の方法として不適切です。この「条件で絞って(検索)、行単位で消す(削除)」は、データベース操作の基本の考え方です。
選択肢の確認
1.× 日付だけでは同じ日の他施設の予約と区別できない。
2.○ 2条件で1行に特定し、行ごと削除する。
3.× 団体名では複数行が該当しうるうえ、マスだけ消すと不完全な行が残る。
4.× 日付のマスを消しても予約のデータ自体は残ってしまう。
ここだけは覚えよう
1行=1件のデータは「条件で特定して、行ごと削除」 — 絞り込みには行を一意にする条件の組合せが必要。