DBデータベーススペシャリスト試験 午前Ⅱ
平成25年度春期 データベーススペシャリスト 午前Ⅱ 問8
問題文と選択肢を読んで答えを考えてから、下の「正解と解説を見る」で確認しましょう。
問題
選択肢
- アCOBOL,Cなどの親言語内では使用できない。
- イ埋込み型SQLにおいて使用し,会話型SQLでは使用できない。
- ウカーソルは検索用にだけ使用可能で,更新用には使用できない。
- エ検索処理の結果集合が単一行となる場合の機能で,複数行の結果集合は処理できない。
解き方のヒントを見る
現在行と更新対象を見分ける視点
カーソル操作と行の更新を考えるときは、処理が参照している現在位置と、更新対象として指定された範囲を分けて捉え、両者の対応関係を確認することが重要です。用語の役割を混同しないよう整理しましょう。
この問題で問われていること
確認の中心は、カーソルが示す位置そのものと、更新処理が対象として扱う行の関係です。各記述の主語と対象を読み分け、位置の移動・参照・変更という役割がどこで語られているかを整理してください。
視点
カーソルに関する説明では、現在位置を示す概念と、処理によって影響を受ける対象を切り分けて考えます。記述中の用語がどの役割を担うかに注目しましょう。
確認ポイント
- カーソルが示す位置と、処理対象として述べられる行を区別できているか確認する
- 各記述について、参照・移動・変更のどの観点を説明しているか整理する
- 対象の指定範囲や処理の順序が、記述ごとにどう表現されているか見比べる
正解と解説を見る
正解
イ
解説
カーソルは、埋込み型SQLで複数行の検索結果を1行ずつ取り出して処理するために用いられる機能です。したがって、適切な説明はイです。
理由
カーソルは、SQLの検索結果が複数行になる場合に、結果集合を1行ずつ順番に取り出してホストプログラムで処理するための仕組みです。埋込み型SQLでは、このような行単位の処理にカーソルを使用する。
比較
カーソルは複数行の結果を扱うだけでなく、定義された操作によって更新に利用できる場合もある。また、単一行の結果だけを対象とする機能ではないため、各選択肢の断定表現を確認する必要がある。
選択肢ア
これは不正解だよ。カーソルはCOBOLやCなどのホスト言語と組み合わせる埋込み型SQLで使用される。したがって、「親言語内では使用できない」という説明は、カーソルを利用する場面そのものを否定しており、公式設問の内容と一致しない。
選択肢イ(正解)
これは正解だよ。カーソルは、COBOLやCなどのプログラムにSQLを埋め込む埋込み型SQLで、複数行の検索結果を順に処理するために使用する。一方、会話型SQLではこのようなホストプログラム内の行単位処理を行わないため、この説明が適切である。
選択肢ウ
これは不正解だよ。カーソルは検索結果を順に取り出す用途だけに限定されず、カーソルを使って対象行を更新する処理にも利用できる。したがって、「更新用には使用できない」と一律に述べている点が誤りであり、カーソルの機能を狭く捉えている。
選択肢エ
これは不正解だよ。カーソルは検索結果が単一行の場合だけに使う機能ではなく、複数行からなる結果集合を順番に処理するために用いられる。したがって、「複数行の結果集合は処理できない」という後半の記述が、カーソルの代表的な用途と反している。
学習のポイント
埋込み型SQLにおけるカーソルの用途と、他のSQL操作との違いを理解する。
出典:独立行政法人 情報処理推進機構(IPA)平成25年度春期 データベーススペシャリスト試験 午前Ⅱ 問8(公式資料:問題冊子(PDF) / 解答例)
関連する過去問一覧
IPA Advancedは非公式の学習サイトです。解説にはAIによる補助生成を含む場合があります。公式の問題冊子・解答例・採点講評を優先し、誤りは確認後に訂正します。運営・編集方針