SQLは、Teradata Databaseへの要求に使用する言語です。つまり、SQLを使用してTeradata Databaseに問合わせを行ないます。
入力されたすべてのSQL要求は、次の手順でSQL構文解析プログラムにより処理されます。
- 構文解析プログラムは、要求キャッシュを参照し、要求が存在するかどうかを調べる。
要求の有無 構文解析プログラムの処理 存在する キャッシュ内で検出されたプラスチック ステップを再使用し、gncApplyに渡す。特権を確認した後、ステップ8に進みます(ステップ4)。 プラスチック ステップは、データベース管理システムに送られる指示子であり、データ値は含んでいません。
存在しない 構文解析ルーチンによる処理を開始する。 - 構文解析ルーチンは、入力された要求の構文を検査する。
エラーの有無 構文解析ルーチンの処理 エラーなし 要求を構文解析ツリーに変換し、意味解釈ルーチンに渡す。 エラーあり エラー メッセージを要求側に返して停止する。 - 意味解析ルーチンが、データ ディクショナリ(またはキャッシュされた情報のコピー)から情報を追加して、データベース、表、ビュー、ストアド プロシージャ、マクロの名前を内部処理用の識別子に変換する。
- セキュリティ モジュールは、データ ディクショナリに登録されている権限を検査する。
権限の状況 セキュリティ モジュールの処理 有効 要求を、最適化ルーチンに渡す。 無効 要求をアボートし、エラー メッセージを渡して停止する。 - 最適化ルーチンが、そのSQL要求を実装する最も効率的な方法を決定する。
- 最適化ルーチンは、要求を走査してロックの設定箇所を決定した後、最適化した構文解析ツリーを生成ルーチンに渡す。
- 生成ルーチンは、最適化された構文解析ツリーをプラスチック ステップに変形し、適切であればステップをキャッシュし、gncApplyに渡す。
- gncApplyは、生成ルーチンで生成されたプラスチック ステップを、パラメータ化されたデータがあればそのデータ内に結合し、コンクリート ステップに変換する。
コンクリート ステップは、AMPに送られる指示子であり、ユーザーやセッションに固有の必要な値、および必要なデータ パーセルを含んでいます。
- gncApplyは、コンクリート ステップをディスパッチャに渡す。