AUシステム監査技術者試験 午前Ⅱ
平成22年度春期 システム監査技術者 午前Ⅱ 問21
問題文と選択肢を読んで答えを考えてから、下の「正解と解説を見る」で確認しましょう。
問題

選択肢
- ア射影と選択
- イ射影と和
- ウ選択
- エ選択と和
解き方のヒントを見る
結合演算を考えるための視点
関係データベースの結合を検討するときは、対象となる表どうしの対応関係と、結合後に残る情報の範囲を整理し、処理の目的と結果の整合性を落ち着いて確認しましょう。全体の意味を先に捉えることが大切です。
この問題で問われていること
一つの観点として、各表のどの情報同士を対応付ける操作なのかに注目し、結合の前後で必要な情報がどのように扱われるかを問題文と照らし合わせて確認してください。表の役割にも目を向けましょう。
視点
表の役割と対応関係を分けて捉え、結合によって確認したい情報が何か、結果に含まれる情報の範囲が目的に合っているかを整理します。
確認ポイント
- 対応付けの基準となる情報が、各表でどのような役割を持つか確認する
- 結合後に扱われる情報の範囲を、処理の目的と照らして確認する
- 表どうしの関係を整理した結果が、問題文の説明と矛盾しないか確認する
正解と解説を見る
正解
ア
解説
表Xと表Yを学部コードで結合すると、学生情報に学部名が対応付けられる。その後、学部コードBの行だけを残し、結果Zに必要な学部名・学生番号・氏名の列を取り出す。
理由
表Xの学部コードと表Yの学部コードを対応させると、学生番号・氏名・学部コード・学部名を含む結合結果になる。結果Zは学部名が情報学部である行だけを残し、学部コードを表示せず、三つの属性だけを示している。
比較
したがって、行を条件で絞る選択と、必要な列だけを取り出す射影の両方が必要です。和は二つの関係の行をまとめる演算であり、結合後の属性対応や結果Zの列削減を実現する操作ではありません。
選択肢ア(正解)
これは正解だよ。表Xと表Yを学部コードで結合した結果から、学部コードBに該当する学生だけを選択し、学部名・学生番号・氏名の列を射影することで、実行結果Zの2行3列の構成になる。
選択肢イ
これは不正解だよ。和は、同じ構造をもつ二つの関係の行をまとめる演算であり、結合済みの表から学部コードBの行を絞り込んだり、学部名・学生番号・氏名だけに列を限定したりする処理にはならない。
選択肢ウ
これは不正解だよ。選択によって学部コードBの学生だけを残す条件は表現できるが、選択だけでは結合後に存在する学部コードなどの不要な列を除けない。結果Zの列構成にするための射影が不足している。
選択肢エ
これは不正解だよ。選択で対象行を絞ることはできるが、和は結合結果の列を必要な三つに限定する演算ではない。さらに、和は同じ構造の関係をまとめるための操作であり、この結果の作成に対応しない。
学習のポイント
結合後の行条件と列構成を、選択と射影の役割に分けて確認する。
出典:独立行政法人 情報処理推進機構(IPA)平成22年度春期 システム監査技術者試験 午前Ⅱ 問21(公式資料:問題冊子(PDF) / 解答例)
関連する過去問一覧
IPA Advancedは非公式の学習サイトです。解説にはAIによる補助生成を含む場合があります。公式の問題冊子・解答例・採点講評を優先し、誤りは確認後に訂正します。運営・編集方針