its affiliates 6 SELECT ename, dname, job, empno, hiredate, loc FROM emp, dept WHERE emp.deptno = dept.deptno ORDER BY ename 出⼒ 対応関係の定義 ⼊⼒ 論理データ構造 インターフェース
its affiliates 7 SELECT ename, dname, job, empno, hiredate, loc FROM emp, dept WHERE emp.deptno = dept.deptno ORDER BY ename 何を取り出すかの定義であって、どうやって 導出するかのアルゴリズムは記述されていない 出⼒ 対応関係の定義 ⼊⼒ 論理データ構造 インターフェース
構⽂チェック セマンティクス・チェック 共有プール・チェック オプティマイザ ⾏ソースの⽣成 SQLの実⾏ データベースに関する情報を 提供する読取り専⽤の表の集合 SQL⽂ ハードパース ソフトパース 解析 共有プール ライブラリ・キャッシュ 共有SQL領域 SGA 構⽂チェック SQL⽂の構⽂上の妥当性のチェック。 SELECT * FORM employees; ORA-00923: FROM keyword not found where expected セマンティクス・チェック SQL⽂内のオブジェクトおよび列が存在するかどうかなど、⽂の意味が 有効かどうかを判断。 SELECT * FROM employee; ORA-00942: table or view does not exist 共有プール・チェック 共有SQL領域を検索して、既存の解析済のSQL⽂に同じハッシュ値 があるかどうかを確認。 • ある場合: ソフト解析(ソフトパース) • ない場合: ハード解析(ハードパース) ⾏ソースの⽣成 オプティマイザから最適なSQL実⾏計画を受け取り、SQLエンジンで 実⾏される反復実⾏計画を作成。 反復実⾏計画は⾏セットをどのオブジェクトからどのように取得するかと いう⾏ソースをツリー状に構成したもの。 ・・・ C1 C2 C3 SELECT * FORM employees; ORA-00923: FROM keyword not found where expected SELECT * FROM employee; ORA-00942: table or view does not exist