日本語PDF

SQL規格

Oracleでは業界に受け入れられた標準への準拠に努め、SQL標準調査会に積極的に参加しています。業界で認知されている委員会には、ANSI(米国規格協会)、およびIEC(国際電気標準会議)が電気・電子部門を担当しているISO(国際標準化機構)があります。ANSIおよびISO/IECはいずれも、リレーショナル・データベースの標準言語としてSQLを認可しています。新しいSQL規格がこの両機関から同時に発表された場合、その規格の名前は、各機関の規則に従って付けられますが、技術的な詳細は同じです。

関連項目:

SQL規格へのOracle Databaseの規格準拠は、「Oracleと標準SQL」を参照してください。

SQLの特長

SQLは、アプリケーション・プログラマ、データベース管理者、マネージャ、エンド・ユーザーなど、あらゆる分野のユーザーに利益をもたらします。技術的ないい方をすると、SQLはデータ副言語です。SQLの目的は、Oracle Databaseのようなリレーショナル・データベースとのインタフェースを提供することであり、すべてのSQL文はデータベースに対する命令です。この点において、SQLは、CやBASICのような汎用プログラミング言語と異なります。SQLには、次のような特長があります。

  • 個々の単位としてではなく、グループとして一連のデータを処理します。

  • データへの自動的なナビゲーション・アクセス(経路設定)を実行します。

  • 使用される文は、それぞれが複雑、強力で、スタンドアロン型の文です。当初、begin-end、if-then-else、ループ、例外状態処理などのフロー制御文は、SQLおよびSQL標準の一部ではありませんでしたが、現在はISO/IEC 9075-4 - Persistent Stored Modules (SQL/PSM)に存在します。Oracle SQLに対するPL/SQLの拡張は、PSMに似ています。

SQLでは、データを論理的なレベルで処理できます。処理系について考えることは、データの細部を操作する場合のみで済みます。たとえば、表から一連の行を検索するには、行をフィルタ処理するための条件を定義します。この条件を満たすすべての行が1つのステップで検索され、ユーザー、別のSQL文またはアプリケーションに1つの単位として渡されます。行単位で処理する必要がなく、行の物理的な格納方法や検索方法を気にする必要もありません。SQL文を実行すると、Oracle Databaseの問合せオプティマイザが働きます。この機能によって、指定したデータに最も速くアクセスする方法が決定されます。Oracleには、オプティマイザの性能を向上させる方法も用意されています。

SQL文を使用して、次の処理を行うことができます。

  • データの問合せ

  • 表の中の行の挿入、更新、削除

  • オブジェクトの作成、置換、変更および削除

  • データベースおよびそのオブジェクトへのアクセスの制御

  • データベースの整合性と一貫性の保証

SQLでは、前述のすべてのタスクを1つの一貫性のある言語に統一しました。

すべてのリレーショナル・データベースに共通の言語

すべての主なリレーショナル・データベース管理システムは、SQLをサポートしているため、SQLで得た技術的な知識を他のデータベースでも生かすことができます。さらに、SQLで記述されたプログラムは移植性に優れています。わずかな変更のみで他のデータベースに移行できます。