Wikipedia
の引用で茶を濁す構え。
大事そうなところは太字にしといた。
DDL
データ定義言語(データていぎげんご、英: Data Definition Language, DDL)は、コンピュータ利用者あるいはアプリケーションソフトウェアが、コンピュータのデータを定義するコンピュータ言語もしくはコンピュータ言語要素である。
(snip)
SQLのデータ定義言語の文は関係データベースの構造を定義する。 SQLにより定義される関係データベースの構造は、組(行) 、属性(列) 、関係(表、テーブル) 、索引(インデクス) 、ファイル位置などデータベース固有の特性を含む。
データベースの構造についてはちょっとわかりにくい説明だが、なんてことはなくて、テーブル定義(create table
とかalter table
など)やインデックス定義(create index
やalter index
等)のこと。
それ以外にはデータベーストリガーとか、とにかくデータベースの構造定義に関わるものすべてって認識しておけばOK。
DML
データ操作言語(データそうさげんご、英: Data Manipulation Language, DML)は、データベース利用者あるいはアプリケーションソフトウェアが、コンピュータのデータベースに対してデータの検索・新規登録・削除・更新を行うための、データベース言語もしくはデータベース言語要素である。
言い換えれば、select
, insert
, delete
, update
文等のこと。
ほかに特定のデータベース方言として存在するmerge
文もDML
ストアドプロシージャ
ストアドプロシージャ (stored procedure) は、データベースに対する一連の処理をまとめた手続きにして、関係データベース管理システム (RDBMS) に保存(永続化)したもの。
多くのケースでは、DML
と専用構文を駆使して一連の処理としてまとめたもの。
稀によく、ストアドプロシージャ内でのデータの退避先として、create tabl e(create temporary table)
等のDDL
で表定義を組み込んだりする。
ストアドプロシージャの文法(専用構文)は、データベースよってまちまち
そのなかで、Oracle
用の専用構文がPL/SQL
ほかのデータベースでは違う名称を名付けてたり(PostgreSQL
ならPL/pgSQL
等)もしくは、単にストアドプロシージャと言ったり。