平成30年 春期 基本情報技術者 午後 問03
問03 4問選択
小学生を対象とした,ある子供会の名簿を管理する関係データベースに関する次の
記述を読んで,設問1〜4に答えよ。
D 子供会は,小学校に入学するときに入会を受け付け,小学校を卒業したら退会する。
D 子供会では,会員名簿を管理するためのデータベースを構築して,会の運営に活用している。
このたび,児童のイベントへの参加実績を記録するために,活動表とイベント表を追加した。
データベースの表構成とデータ格納例を図1に示す。下線付きの項目は,主キーを表す。

図1 データベースの表構成とデータ格納例
設問1 |
6年生を対象に実施するイベントの案内を配布するために,6年生の保護者の氏名と
住所を抽出する。ここで,同一の保護者は重複して抽出しない。また,
同じ住所に氏名が同じ保護者は,複数人いないものとする。正しい SQL 文を,
解答群の中から選べ。
|
解答群
ア SELECT DISTINCT 保護者表.保護者氏名, 保護者表.住所
FROM 保護者表
WHERE 保護者表.保護者番号 NOT IN
(SELECT 児童表.保護者番号 FROM 児童表 WHERE 児童表.学年 = 6)
イ SELECT DISTINCT 保護者表.保護者氏名, 保護者表.住所
FROM 保護者表, 児童表
WHERE 児童表.学年 = 6
GROUP BY 保護者表.保護者氏名, 保護者表.住所
ウ SELECT DISTINCT 保護者表.保護者氏名, 保護者表.住所
FROM 保護者表, 児童表
WHERE 保護者表.保護者番号 = 児童表.保護者番号 AND 児童表.学年 = 6
エ SELECT 保護者表.保護者氏名, 保護者表.住所
FROM 保護者表, 児童表
WHERE 保護者表.保護者番号 = 児童表.保護者番号
GROUP BY 保護者表.保護者氏名, 保護者表.住所 HAVING 児童表.学年 = 6
ウ
基本情報技術者試験
設問2 |
イベント番号が 18001 のイベントに参加した児童のうち,1年生である児童の保護者の
保護者番号と氏名を抽出する。ここで,同一の保護者は重複して抽出しない。
次の SQL 文の に入れる正しい答えを,解答群の中から選べ。
|
SELECT DISTINCT 保護者表.保護者番号, 保護者表.保護者氏名
a
a に関する解答群
ア FROM 児童表, 保護者表, イベント表
WHERE 児童表.学年 = 1 AND
イベント表.イベント番号 = 18ØØ1
イ FROM 児童表, 保護者表, イベント表
WHERE 児童表.保護者番号 = 保護者表.保護者番号 AND
児童表.学年 = 1 AND
イベント表.イベント番号 = 18ØØ1
ウ FROM 児童表, 活動表, 保護者表
WHERE 児童表.児童番号 = 活動表.児童番号 AND
児童表.保護者番号 = 保護者表.保護者番号 AND
活動表.イベント番号 = 18ØØ1
GROUP BY 児童表.児童氏名 HAVING 児童表.学年 = 1
エ FROM 児童表, 活動表, 保護者表
WHERE 児童表.児童番号 = 活動表.児童番号 AND
児童表.保護者番号 = 保護者表.保護者番号 AND
児童表.学年 = 1 AND
活動表.イベント番号 = 18ØØ1
エ
基本情報技術者試験
設問3 |
イベント名と,そのイベントに参加した児童の数を表示する。
次の SQL 文の に入れる正しい答えを,
解答群の中から選べ。ここで,イベント名は全て異なるものとする。
|
SELECT イベント表.イベント名, b
FROM 活動表, イベント表
WHERE 活動表.イベント番号 = イベント表.イベント番号
GROUP BY イベント表.イベント名
b に関する解答群
ア AVG(活動表.イベント番号)
イ COUNT(*)
ウ MAX(活動表.イベント番号)
エ SUM(活動表.イベント番号)
イ
基本情報技術者試験
設問4 |
年度の切替えのために,次に示す手順で表を更新する。(1),(2) は入会前の
準備のために3月 31 日に実行し,(3)〜(7) は6年生が退会した4月1日に実行する。
次の SQL 文の に入れる正しい答えを,解答群の中から選べ。
|
〔手順〕
(1) 新入会児童の保護者のうち,未登録の保護者を登録する。
(2) 新入会児童を登録する。このとき,学年の値は 0 とする。
(3) 活動表のレコードを全て削除する。
(4) 児童表の全ての児童に対して,学年の値に 1 を加える。
(5) 児童表から,学年の値が 7 の児童を削除する。
(6) 次の SQL 文を実行して,保護者表から,在籍する児童がいなくなった保護者を削除する。
DELETE FROM 保護者表
WHERE c
(7) イベント表のレコードを全て削除してから,新年度の計画に合わせてイベントを登録する。
c に関する解答群
ア 保護者表.保護者番号 = NULL
イ 保護者表.保護者番号 IN
(SELECT 児童表.保護者番号 FROM 児童表 WHERE 児童表.学年 = 7)
ウ 保護者表.保護者番号 IN
(SELECT 児童表.保護者番号 FROM 児童表)
エ 保護者表.保護者番号 NOT IN
(SELECT 児童表.保護者番号 FROM 児童表)
エ
[←前の問題]
[次の問題→]
[問題一覧表]
[分野別]
[基本情報技術者試験TOP
]
©2004-2024 情報処理試験.jp
|
|
|