![]()
平成27年 春期 基本情報技術者 午後 問03
問03 4問選択自治会員の情報を管理する関係データベースの設計及び運用に関する次の記述を読んで, 設問1〜4に答えよ。 X 地区の自治会では,世帯数の増加と,個人情報管理の厳格化を背景に,手書きの帳票で 管理していた自治会員の情報を電子化することにした。この自治会には,236 世帯, 667 人が登録されていて,各世帯は1〜8班のいずれかに所属している。 従来は図1に示すとおり,世帯ごとに,世帯主氏名,住所,電話番号,登録日,所属する班, 同居者氏名,続柄,性別,生年月日などの情報を管理していた。
![]() 図1 世帯情報を管理していた帳票と記入例 図1の帳票を基に,図2に示す表構成をもつ関係データベースを作成した。 下線付きの項目は,主キーを表す。
![]() 図2 表構成とデータ格納例 〔表の説明〕 (1) 世帯表の世帯番号には,各世帯に一意に割り当てた番号が格納されている。 (2) 世帯表の世帯主番号には,世帯主の会員番号が格納されている。 (3) 会員表の会員番号には,各会員に一意に割り当てた番号が格納されている。 (4) 会員表の世帯番号には,会員が属する世帯の世帯番号が格納されている。
設問1 図2の表構成を完成するまでの設計について,
次の記述中の
図1の帳票は非正規形なので,まず, 解答群 エ 第3正規化に基づいて オ 排他制御のために
設問2 地区の福祉委員会から,1940 年よりも前に生まれた会員が含まれる世帯の 世帯番号について,情報提供を求められた。該当する世帯番号を抽出する正しい SQL 文を解答群の中から選べ。 なお,同じ世帯番号は一つだけ抽出する。 解答群 イ SELECT 世帯番号 FROM 会員表 WHERE 会員表.生年月日 >= 19391231
ウ SELECT 世帯番号 FROM 会員表 WHERE 会員表.生年月日 < 194ØØ1Ø1
エ SELECT 世帯番号 FROM 会員表 WHERE 会員表.生年月日 <= 19391231 設問3 班ごとの会員数に偏りがあるとの意見が挙がったので,班の再編を 検討することになった。現在の状況を確認するために,班ごとの世帯数と会員数を集計する。 次の SQL 文の ![]() ![]() FROM 世帯表,会員表 WHERE 世帯表.世帯番号 = 会員表.世帯番号 GROUP BY 世帯表.班 イ COUNT(*),MAX(会員表.会員番号) ウ COUNT(DISTINCT 世帯表.世帯番号),COUNT(*) エ COUNT(世帯表.世帯番号),MAX(会員表.会員番号)
設問4 地区の子供会役員から,子供会に所属する子供の情報を照会できるようにして ほしいとの要望が挙がったので,図3に示すビューを作成することにした。子供会には, 生年月日が 20030402 〜 20090401 の会員が所属する。次の SQL 文の ![]()
![]() 解答群 WHERE 会員表.生年月日 IN(2ØØ3Ø4Ø2,2ØØ9Ø4Ø1))
イ 会員表.会員番号 = 世帯表.世帯主番号 AND
ウ 会員表.世帯番号 = ANY(SELECT会員表.世帯番号 FROM 会員表
エ 会員表.世帯番号 = 世帯表.世帯番号 AND
[←前の問題] [次の問題→] [問題一覧表] [分野別] [基本情報技術者試験TOP ]
©2004-2024 情報処理試験.jp
|
プライバシーポリシー・著作権・リンク
|
お問合わせ
|