平成27年度 春期 基本情報技術者試験 午前 問30
テクノロジ/データベース図は,DBMSが受け付けたクエリを実行するまでの処理の流れを表している。①~③に入る処理の組合せとして,適切なものはどれか。 クエリ → ① → ② → ③ → 実行
出典:平成27年度 春期 基本情報技術者試験 午前 問30
- ア①コード生成,②構文解析,③最適化
- イ①コード生成,②最適化,③構文解析
- ウ①構文解析,②コード生成,③最適化
- エ①構文解析,②最適化,③コード生成
正解:エ
解説
DBMSがクエリを実行するまでの一般的な流れは,まずSQL文の文法的な誤りをチェックする構文解析を行い,次にどのような手順で処理すれば効率がよいかを検討する最適化(実行計画の作成)を行い,最後にその実行計画に基づいて実際に実行可能な内部コード(アクセス手順)を生成するコード生成という順序になります。
選択肢ごとの解説
- ア誤り。コード生成は実行計画が確定した後の最後の工程であり,最初に行う処理ではありません。
- イ誤り。コード生成を最初に行うことはできません。実行計画(最適化の結果)が決まる前にコードを生成することはできないためです。
- ウ誤り。構文解析の後に行うのはコード生成ではなく,効率のよい実行手順を決める最適化です。
- エ正しい。クエリはまず構文解析され,次に効率のよい実行計画を決める最適化が行われ,最後にその計画に基づいたコード生成が行われて実行されます。