PL/pgSQLとはPostgreSQL向けにデータベース言語SQLを拡張して開発されたプログラミング言語です。名称が似ていることからも分かるようにPL/SQLに強い影響を受けた言語としても知れられおります。この記事ではPL/pgSQLについて理解をするために構造、種類、特徴などの基礎知識を簡単に解説していきます。
PL/pgSQLとはPostgreSQLにおいて使用するために『PostgreSQL Global Development Group』によってデータベース言語SQLを拡張して開発されたプログラミング言語です。正式名称は「Procedural Language/PostgreSQL Structured Query Language」となっておりPL/pgSQLと略して呼ばれることが一般的です。PL/pgSQLは「SQLよりも複雑な処理を実現」「簡単に扱える」という目的の元に設計されました。
SQLとはリレーショナルデータベースの管理・操作をするため最も普及されているデータベース言語です。主な用途としてデータベース管理システム(DBMS)へデータの検索、追加、削除、更新などの指示のために使用されます。1970年代にIBM社の開発によって誕生した『Structured English Query Language(SEQUEL)』が元になっております。そのことから広く知れ渡っている呼び名は『シーケル』です。またSQLは国際標準化機構(ISO)で規格化をされております。そのためMySQL、Oracle、PostgreSQLなど様々なデータベース管理システムにおいてもSQLにて対応することが可能です。またSQLの代表的な拡張プログラム言語としてPL/SQLやT-SQLなどが挙げられます。
SQLの歴史や特徴について解説された記事はこちら>>
データベースとは様々な情報を整理し効率よく使用するために格納するデータの集合体のことです。データベースには様々なデータを効率よく管理するための機能が用意されております。また大量のデータを高速に処理することも可能です。用途は様々で顧客管理や在庫管理などの複数のデータを取り扱うことが必要とされる業務に使用されます。主なデータベースの種類としてOracleDBやMySQLなどが挙げられます。
データベースの種類や特徴を解説している記事はこちら>>
PostgreSQLとはオープンソースのリレーショナルデータベースシステム(RDBMS)です。1989年の誕生以降(当時の名称はPostgres)30年以上に渡って活発的に開発されてきております。人気を集めている要因として「高い信頼性」「機能の堅牢性」「パフォーマンスが高い」などが挙げられます。また多数の関数や機能を取り揃えていることからバランスの良いデータベースとして多くの方に支持されております。
PL/pgSQLの読み方『ピーエルピージーエスキューエル』です。PL/pgSQLの名前の由来は正式名称である「Procedural Language/PostgreSQL Structured Query Language」からも読み取れるようにPostgreSQLでサポートされる手続き言語です。名称が近いPL/SQLから強い影響を受けた言語としても知れられおります。
PL/pgSQLの特徴を見ていきましょう。
PL/pgSQLには複雑な処理、計算の実行に強いという特徴があります。PL/pgSQLを利用することで、複雑な処理、計算の実行の問い合わせをデータベースサーバ内部でひとまとめにすることができます。
PL/pgSQLは移植性に優れているという特徴があります。OracleのPL/SQLと似たような言語であるため記述されたプログラムは特定のハードウェアやプラットフォームに依存しません。任意のオペレーティング・システムおよびプラットフォームで実行可能です。
PL/pgSQLには制限されたリソースにのみアクセス可能という特徴があります。
PL/pgSQLの構造を見ていきましょう。
CREATEFUNCTIONでは新しい関数を定義します。
declarations(宣言)では変数、定数、その他のコード要素の宣言文(宣言後のコード要素はそのブロック内で使用可能)を記述します。
bigin(実行)ではブロックの実行時に実行される文(SQLによるデータ操作や、手続き処理など)を記述します。
END;でブロックの終了を宣言します。
PL/pgSQL以外のSQL独自拡張品について見ていきましょう。
PL/SQLとはOracle Databaseにおいて使用するためにOracle社によってデータベース言語SQLを拡張して作成されたプログラミング言語です。SQLが非手続型であるのに対し、PL/SQLは手続き型を採用しております。それからも分かるようにPL/SQLという名称は「Procedural Language(手続き型言語)」が由来しております。
PL/SQLで作成されたプログラムを『PL/SQLブロック』と呼び、宣言部・実行部・例外処理部の3つの部で構成されます。特徴として「SQLとの親和性が高い」「移植性に優れている」「パフォーマンスが高い」ことが挙げられます。
T-SQLとはMicrosoft SQL Serverにおいて使用するためにMicrosoft社とSybase社によって共同開発されたデータベース言語SQLを拡張して作成されたプログラミング言語です。正式名称はTransact-SQLとなっておりT-SQLという略して呼ばれることが多いです。特徴として原型のSQLを強化するために制御フロー言語、局所変数、グローバル変数などの機能が追加されております。
PL/pgSQLを理解するために構造、種類、特徴などの基礎知識を簡単に解説させて頂きました。PL/pgSQLを一言で表すと『PostgreSQL向けにSQLを拡張開発したデータベース言語』です。PL/pgSQLの特徴として「複雑な処理、計算の実行」「移植性に優れている」「制限されたリソースにのみアクセス可能」などが挙げられます。PL/pgSQLについてこの記事で記載されている最低限の内容は理解しておくようにしましょう。