スゴ技

平成23年度 秋 基本情報技術者試験 【問2】

Blog:IT・情報処理BLOG |

ソフトⅡコース担当 ブログのおにーさまこと高橋です。

昨日は、情報処理技術者試験でした。受験した人、手ごたえはどうですか?
特別試験に続き、基本情報技術者試験の解説を掲載したいと思います。

それでは、「平成23年度秋期基本情報技術者試験午後問2」です。問題はIPAのサイトにありますので、持ってない人はそちらを参照してください。

データベースの設計に関する基本的な問題です。

設問1
変更前に次のようなデータが格納されていたとします。(内線、入社年月日、住所、自宅電話、年齢は省略します)

部表

部コード 部名
D 総務部
E 営業部
F 開発部

従業員表

従業員番号 氏名 部コード
2005012 情報太郎 D
2005013 基本二郎 D
2005014 応用三郎 D
2005015 技術四郎 D
2005016 入門五郎 E

A案では次のように格納されることになります。
部門表

部コード 部名
D001 総務部人事課
D002 総務部経理課
E001 営業部海外課
E002 営業部国内課
F001 開発部企画課
F002 開発部開発課

従業員表

従業員番号 氏名 部コード
2005012 情報太郎 D001
2005013 基本二郎 D002
2005014 応用三郎 D002
2005015 技術四郎 D001
2005016 入門五郎 E001

B案では次のように格納されることになります。
部表

部コード 部名
D001 総務部
D002 営業部
D003 開発部

課表

課コード 課名 部コード
S001 人事課 D
S002 経理課 D
T001 海外課 E
T002 国内課 E
U001 企画課 F
U002 開発課 F

従業員表

従業員番号 氏名 部コード
2005012 情報太郎 S001
2005013 基本二郎 S002
2005014 応用三郎 S002
2005015 技術四郎 S001
2005016 入門五郎 T001

A案では、部名「開発部」を「開発企画部」に変更が生じた時に、部門表の2行「開発部企画課」を「開発企画部企画課」に、「開発部開発課」を「開発企画部
開発課」に変更する必要があります。部名(aの解答エ)1つの変更に対し複数の変更、つまり「重複更新」(bの解答エ)が発生します。
「総務部」に属する従業員の氏名の一覧(cの解答ア)を表示することを考えます。「総務部」の属する課は「総務部人事課」と「総務部経理課」があります。
SQL文を作成すると

  • SELECT 氏名 FROM 従業員表 , 部門表
    WHERE 従業員表.部コード = 部門表.部コード
    AND 部名 LIKE ‘総務部%’;

となります。LIKEを用いて前方一致の条件にします。副問合せを用いると次のようなSQL文も考えられます。

  • SELECT 氏名 FROM 従業員表
    WHERE 部コード IN (SELECT 部コード FROM 部門表 WEHRE 部名 LIKE
    ‘総務部%’);

設問2
解答群のウ、エをみると、従業員表の年齢と副問合せの結果のいずれかとが等しい(=
ANY)という条件になっています。副問合せの抽出列はCOUNT関数で、行数が求まります。年齢と行数といった異質なものを比較することはまずありませ
ん。従って、ウとエは除外されます。「GROUP BY」を用いてグループ化した場合、SELECT句に書くことのできるのは、GROUP
BYで指定した項目かグループ関数です。問題のSQL文をみると

  • SELECT 課表.課コード , 課表.課名 , AVG(従業員表.年齢) FROM 課表 ,
    従業員表 (以下省略)

です。 AVG(従業員表.年齢)はグループ関数なので問題ありません。課表.課コードと課表.課名がGROUP
BY句で指定されている必要があります。また、FROM句で2つの表が指定されているので、この2つの表を結合するための条件が必要です。解答はアになり
ます。イはGROUP BYで課表.課コードではなく、課表.部コードを指定しているので間違いです。

設問3
CREATE VIEWのASの後ろは副問合せ、つまりSELECTになります。この点からアとイは除外されます。ビューを作成する目的は、必要最小限の
情報のみを公開すること、すなわち従業員番号、氏名、課コード、内線のみを公開することにあります。ウのように「*」を用いると、全項目が公開されてしま
います。必要な項目のみを抽出しているエが正解になります。

設問4
設問2と同じ理由でウとエは除外されます。FROM句において2つの表を指定しているので、結合条件が必要です。イは結合条件がありません。アが正解で
す。

2011年(平成23年度)秋期の解説

Date:

神戸電子の
IT・情報処理学科
についてもっと知りたい!

Webアプリケーション等のシステム管理、設計、開発が行える総合的なITエンジニアを育成する学科です。

学科紹介を見る (神戸電子サイト)

学科紹介イメージ
Info神戸電子からのお知らせ

Tagタグ

Teamライターチーム紹介

神戸電子オフィシャルSNS

オープンキャンパスなどの
誰でも参加OKの楽しいイベント
やブログの最新記事などお届けします!

ページの上へ移動