ヘッダーをスキップ
Oracle® Database 2日で開発者ガイド
12c リリース1 (12.1)
B71350-02
  目次へ移動
目次
索引へ移動
索引

前
 
次
 

1 概要

この章の内容は、次のとおりです。

Oracle Database開発者について

Oracle Database開発者は、Oracleテクノロジ・スタックを使用するアプリケーションのデータベース・コンポーネントの作成またはメンテナンスを担当します。Oracle Database開発者は、アプリケーションを開発するか、または既存のアプリケーションを転用し、Oracle Database環境で実行します。


参照:

Oracle Database開発者の職務の詳細は、『Oracle Database概要』を参照してください。

このマニュアルについて

このガイドはアプリケーション開発者を対象とするOracle Databaseのドキュメント・セットの一部です。このガイドには、次のような役割があります。

  • Oracle Databaseでの開発の基本概念について説明します。

  • チュートリアルと例を使用して、SQLおよびPL/SQLの基本機能の使用方法を示します。

  • 説明事項の詳細についての参照情報を提供します。

  • 単純なOracle Databaseアプリケーションの開発およびデプロイ方法を示します。

第1章「概要」では、このマニュアルの対象読者およびこのマニュアルの構成の概要を示します。また、Oracle Databaseの重要な概念、およびこのマニュアルのチュートリアルと例の中で使用するサンプル・スキーマについて説明します。

第2章「Oracle Databaseの接続および検索」では、Oracle Databaseの接続方法、スキーマ・オブジェクトおよびOracle Databaseの表のプロパティとデータの表示方法および問合せを使用してOracle Databaseの表からデータを取得する方法について説明します。

第3章「DML文とトランザクションについて」では、データ操作言語(DML)文とトランザクションについて説明します。DML文は、Oracle Databaseの表データを追加、変更および削除します。トランザクションは、1つ以上のSQL文が並んだものであり、Oracle Databaseは、それを1つの単位として扱うので、すべての文が実行されるか何も実行されないことになります。

第4章「スキーマ・オブジェクトの作成および管理」では、スキーマ・オブジェクトを作成、変更および削除するデータ定義言語(DDL)文について説明します。

第5章「ストアド・サブプログラムとパッケージの開発」では、多くの異なるデータベース・アプリケーションでビルディング・ブロックとして使用できるストアド・サブプログラムとパッケージについて紹介します。

第6章「トリガーの使用」では、指定されたイベントに対応して自動的に実行するストアドPL/SQLユニットであるトリガーについて紹介します。

第7章「グローバル環境での作業」では、グローバリゼーション・サポート(各国語サポート(NLS)・パラメータおよびSQLとPL/SQLのUnicode関連機能)について説明します。

第8章「有効なアプリケーションの作成」では、スケーラブルなアプリケーションの作成方法および推奨されるプログラミングおよびセキュリティ・プラクティスの利用方法を説明しています。

第9章「簡易的なOracle Databaseアプリケーションの開発」では、簡易的なOracle Databaseアプリケーションの開発方法について説明します。

第10章「Oracle Databaseアプリケーションのデプロイ」では、第9章で開発したOracle Databaseアプリケーションを例として使用し、他のユーザーが実行できる1つ以上の環境にそれをインストールする方法について説明します。

Oracle Databaseについて

Oracle Databaseは、関連情報をスキーマと呼ばれる論理構造にグループ化します。この論理構造はスキーマ・オブジェクトと呼ばれます。ユーザー名とパスワードを使用してデータベースに接続する際に、ユーザーはスキーマを指定して、自分がその所有者であることを示します。Oracle Database では、ユーザー名とユーザーが接続するスキーマ名は同じです。

この項の内容は次のとおりです。

スキーマ・オブジェクトについて

Oracle Databaseのすべてのオブジェクトは、1つのスキーマのみに属し、そのスキーマを使用した一意の名前が付けられています。

スキーマは、次のようなオブジェクトを持つことができます。

  • 表は、Oracle Databaseのデータ記憶領域の基本単位です。表は、ユーザーがアクセス可能なすべてのデータを保持します。各表には、それぞれのデータのレコードを表すが含まれています。行は、レコードのフィールドを表すで構成されています。詳細は、「表の作成および管理」を参照してください。

  • 索引

    索引はオプションのオブジェクトであり、これを使用すると、表からデータを取得するパフォーマンスが改善されます。索引は、表の1つ以上の列に作成され、データベース内で自動的にメンテナンスされます。詳細は、「索引の管理」を参照してください。

  • ビュー

    複数の表の情報を組み合せて一元的に表示するビューを作成できます。ビューは、表と他のビューの両方の情報に依存する可能性があります。詳細は、「ビューの作成および管理」を参照してください。

  • 順序

    表のすべてのレコードが一意である必要がある場合、順序を使用することによって、各レコードのIDを表す数値列に対する一意の整数番号のシリアル・リストを生成できます。詳細は、「順序の作成および管理」を参照してください。

  • シノニム

    シノニムは、スキーマ・オブジェクトの別名です。これは、オブジェクトの所有者をわからなくしたり、SQL文を単純化するなど、セキュリティや利便性の向上に使用されます。詳細は、「シノニムの作成および管理」を参照してください。

  • ストアド・サブプログラム

    ストアド・サブプログラム(または、スキーマ・レベル・サブプログラム)は、データベースに格納されたプロシージャやファンクションです。これらは、データベースにアクセスするクライアント・アプリケーションから起動されます。詳細は、「ストアド・サブプログラムおよびパッケージの開発」を参照してください。

    トリガーは、特定の表またはビューで指定したイベントが発生した際にデータベースによって自動的に実行されるストアド・サブプログラムです。トリガーは、特定のデータへのアクセスを制限し、ロギングを実行できます。詳細は、「トリガーの使用」を参照してください。

  • パッケージ

    パッケージは、ユニットとして継続的に使用するためにデータベースに格納された明示カーソルおよび変数とともに、それらを使用する関連サブプログラムをグループ化したものです。ストアド・サブプログラムと同じように、パッケージ・サブプログラムは、データベースにアクセスするクライアント・アプリケーションから起動されます。詳細は、「ストアド・サブプログラムおよびパッケージの開発」を参照してください。

通常、アプリケーションが使用するオブジェクトは、どれも同じスキーマに属しています。


参照:

スキーマ・オブジェクトの詳細は、『Oracle Database概要』を参照してください。

Oracle Databaseへのアクセスについて

Oracle Databaseには、SQL*PlusやSQL Developerなどのクライアント・プログラムを介してのみアクセスできます。Oracle Database に対するクライアント・プログラム・インタフェースは、構造化問合せ言語(SQL)です。Oracleには、Procedural Language/SQL(PL/SQL)というSQLに対する拡張機能が用意されています。

この項の内容は次のとおりです。

SQL*Plusについて

SQL*Plusは、対話型のバッチ問合せツールです。Oracle Databaseをインストールすると、一緒にインストールされます。このツールには、データベースへの接続時にクライアントとして機能する、コマンドライン・ユーザー・インタフェースがあります。

SQL*Plusは独自のコマンドと環境を持っています。SQL*Plusの環境では、SQL*Plusコマンド、SQL文、PL/SQL文およびオペレーティング・システムのコマンドを入力して実行し、次のような作業を行えます。

  • 問合せ結果の整形、計算実行、格納および印刷

  • 表およびオブジェクト定義の検証

  • バッチ・スクリプトの開発および実行

  • データベース管理の実行

SQL*Plusを使用して、対話的なレポート生成、バッチ処理としてのレポート生成、およびテキスト・ファイル、スクリーンまたはインターネットでの閲覧用のHTMLファイルへの結果の出力が可能です。HTML出力機能を使用するとレポートを動的に生成できます。

SQL DeveloperでSQL*Plusを使用できます。詳細は、『Oracle SQL Developerユーザーズ・ガイド』を参照してください。


参照:


SQL Developerについて

SQL Developer(sequel developerと発音する)は、SQL*Plusのグラフィック・バージョンで、Javaで記述されており、Oracle Databaseのデフォルトのインストールや無料ダウンロードで入手可能です。

SQL Developerのユーザー・インタフェースには、「接続」フレーム、ツール(メニュー付き)およびワークシートが含まれています。ワークシートから、SQL文、PL/SQL文およびSQL*Plusコマンドを入力して実行できます。ワークシート、または「接続」フレームとツールを使用すると、表の作成などの作業が可能です。

任意のSQL Developerアイコンの名称と対応するキーボード操作を確認するには、カーソルをアイコンの上に移動します。


注意:

SQL Developerには通常、同じ作業を実行するための方法が複数用意されています。このドキュメントでは、SQL Developerで対応可能なすべての方法が説明されているわけではありません。


参照:


構造化問合せ言語(SQL)について

構造化問合せ言語(SQL)(sequelと発音する)は、セット・ベースの高度なコンピュータ言語であり、Oracle Databaseのデータにアクセスする際に、すべてのプログラムおよびユーザーによって使用されます。

SQLは宣言型、または非手続き型の言語です。つまり、SQLは方法ではなく、何をするかについて記述します。結果を取得する方法ではなく、必要な結果セットを指定します(たとえば現在の従業員の名前)。


参照:

  • SQLの概要は、『Oracle Database概要』を参照してください。

  • SQLの詳細は、『Oracle Database SQL言語リファレンス』を参照してください。


Procedural Language/SQL(PL/SQL)について

Procedural Language/SQL (PL/SQL)は、Oracle Databaseが独自にSQLに行った拡張です。条件付き制御やループのような手続き型の要素を追加することで、宣言型プログラム制御と命令型プログラム制御のギャップが埋められています。

PL/SQLでは、定数と変数、プロシージャとファンクション、型とその型の変数、およびトリガーを宣言できます。例外も処理できます(ランタイム・エラー)。また、Oracle Databaseプログラム・インタフェースを使用するアプリケーションで再利用することを目的としてデータベースに格納できるPL/SQLユニット(プロシージャ、ファンクション、パッケージ、型およびトリガー)を作成できます。

PL/SQLソース・プログラムの基本単位は、関連する宣言および文をグループ化したブロックです。ブロックは、オプションの宣言部分、必須の実行可能部分およびオプションの例外処理部分を持っています。


参照:

  • PL/SQLの概要は、『Oracle Database概要』を参照してください。

  • PL/SQLの詳細は、『Oracle Database PL/SQL言語リファレンス』を参照してください。


他のクライアント・プログラム、言語および開発ツールについて

アプリケーションの開発に使用されるその他のデータベース・アクセス・クライアント、言語およびツールとして、次のようなものがあります。


注意:

前述のリストの一部の製品はOracle Databaseに付属していないため、別個にダウンロードする必要があります。


参照:

  • Oracle Database開発者用のツールの詳細は、『Oracle Database概要』を参照してください。

  • プログラミング環境の選択の詳細は、『Oracle Database開発ガイド』を参照してください。


Oracle Application Express

Oracle Application Expressは、プログラミングの経験が浅い開発者でも、短期間で確実かつスケーラブルなWebアプリケーションを開発および配置できるツールです。埋め込まれているApplication Builderによって、表やストアド・プロシージャなどのスキーマ・オブジェクトを使用する完全なアプリケーションまたはHTMLインタフェースが、タブ、ボタン、ハイパーテキスト・リンクを介してリンクされたページの集まりに組み立てられます。


参照:

Oracle Application Expressの詳細は、『Oracle Database Application Express 2日で開発者ガイド』を参照してください。

Oracle Java Database Connectivity(JDBC)

Oracle Java Database Connectivity(JDBC)は、JavaでSQL文をOracle Databaseなどのオブジェクト・リレーショナル・データベースに送ることができるようにするAPIです。Oracle DatabaseのJDBCは、JDBC 3.0およびJDBC RowSet(JSR-114)規格、XAおよび非XA接続に対応した先進の接続キャッシュ、SQLおよびPL/SQLデータ型のJavaへの公開、SQLデータへの迅速なアクセスを完全にサポートします。


参照:

JDBCの詳細は、次を参照してください。
  • 『Oracle Database概要』

  • 『Oracle Database開発ガイド』

  • 『Oracle Database 2日でJava開発者ガイド』


Hypertext Preprocessor(PHP)

Hypertext Preprocessor (PHP)は、Webアプリケーションを迅速に開発するための、強力なインタプリタ型のサーバー側スクリプト言語です。PHPはオープン・ソース言語であり、BSD型ライセンスで配布されています。PHPはデータベースのアクセス要求を直接HTMLページに組み込めるよう設計されています。


参照:

PHPの詳細は、『Oracle Database 2日でPHP開発者ガイド』を参照してください。

Oracle Call Interface(OCI)

Oracle Call Interface(OCI)は、C言語のアプリケーションからOracle Databaseに直接アクセスするための、独自のC言語APIです。

OCIソフトウェア開発キットは、Oracle Instant Clientの一部としてインストールでき、標準のOracleクライアントをインストールしたりORACLE_HOMEを持つことなくアプリケーションを実行できます。アプリケーションは変更せずに使用でき、ディスク領域の使用を大幅に抑えることができます。


参照:

  • OCIの詳細は、『Oracle Database開発ガイド』を参照してください。

  • OCIの完全な情報は、『Oracle Call Interfaceプログラマーズ・ガイド』を参照してください。


Oracle C++ Call Interface(OCCI)

Oracle C++ Call Interface(OCCI)は、C++アプリケーションからOracle Databaseに直接アクセスするための、独自のC++言語のAPIです。OCIと非常に似ており、OCCIはリレーショナルおよびオブジェクト指向型のプログラミング・パラダイムをサポートしています。

OCCIソフトウェア開発キットは、Oracle Instant Clientの一部としてインストールでき、標準のOracleクライアントをインストールしたりORACLE_HOMEを持つことなくアプリケーションを実行できます。アプリケーションは変更せずに使用でき、ディスク領域の使用を大幅に抑えることができます。


参照:

  • OCCI の詳細は、『Oracle Database開発ガイド』を参照してください。

  • OCCIの完全な情報は、『Oracle C++ Call Interfaceプログラマーズ・ガイド』を参照してください。


Open Database Connectivity(ODBC)

Open Database Connectivity(ODBC)は、データベースにアクセスするためのAPIのセットで、データベース上でSQL文を実行します。ODBCドライバを使用するアプリケーションは、スプレッドシートやカンマ区切りファイルなど、不均一なデータ・ソースにアクセスできます。

Oracle ODBC DriverはODBC 3.51仕様に準拠します。すべてのコアAPIやLevel 1およびLevel 2のファンクションのサブセットをサポートしています。Microsoft社はWindowsプラットフォーム用のドライバ・マネージャ・コンポーネントを提供しています。

OCI、OCCIおよびJDBCと同様に、ODBCはOracle Instant Client Installationの一部です。


参照:

  • 『Oracle Database概要』

  • WindowsでOracle ODBCドライバを使用する方法の詳細は、『Oracle Services for Microsoft Transaction Server開発者ガイド for Microsoft Windows』を参照してください。

  • Oracle ODBCドライバをLinuxで使用する方法については、『Oracle Database管理者リファレンスfor Linux and UNIX-Based Operating Systems』を参照してください。


Pro*C/C++プリコンパイラ

Pro*C/C++プリコンパイラを使用すると、CまたはC++ソース・ファイルにSQL文を埋め込むことができます。プリコンパイラでは、ソース・プログラムを入力として受け入れ、埋込みSQL文を標準のOracleランタイム・ライブラリ・コールに変換し、コンパイル、リンクおよび実行ができるように変更したソース・プログラムを生成します。


参照:

  • Oracleプリコンパイラの詳細は、『Oracle Database概要』を参照してください。

  • Pro*C/C++プリコンパイラの詳細は、『Oracle Database開発ガイド』を参照してください。

  • Pro*C/C++プリコンパイラの完全な情報は、『Pro*C/C++プログラマーズ・ガイド』を参照してください。


Pro*COBOLプリコンパイラ

Pro*COBOLプリコンパイラを使用すると、COBOLソース・ファイルにSQL文を埋め込むことができます。プリコンパイラでは、ソース・プログラムを入力として受け入れ、埋込みSQL文を標準のOracleランタイム・ライブラリ・コールに変換し、コンパイル、リンクおよび実行ができるように変更したソース・プログラムを生成します。


参照:

  • Oracleプリコンパイラの詳細は、『Oracle Database概要』を参照してください。

  • Pro*COBOLプリコンパイラの詳細は、『Oracle Database開発ガイド』を参照してください。

  • Pro*COBOLプリコンパイラの完全な情報は、『Pro*COBOLプログラマーズ・ガイド』を参照してください。


Microsoft .NET Framework

Microsoft .NET Frameworkは、アプリケーションとXML Webサービスを作成、デプロイおよび実行するための多言語環境です。主なコンポーネントとして、次のものがあります。

  • 共通言語ランタイム(CLR)

    共通言語ランタイム(CLR)とは中間言語の開発環境と実行環境で、実行されているアプリケーションの管理を補助します。

  • Frameworkクラス・ライブラリ(FCL)

    Frameworkクラス・ライブラリ(FCL)は、パッケージ済機能の、一貫性のあるオブジェクト指向型ライブラリを提供します。

Oracle Data Provider for .NET(ODP.NET)

Oracle Data Provider for .NET (ODP.NET)は、.NETクライアント・アプリケーションからOracle Databaseへの迅速で有効なADO.NETデータ・アクセスを提供します。ODP.NETにより、開発者はセキュア・ファイル、XML DB、アドバンスト・キューイングを含むOracle Databaseの高度なOracle Database機能を利用できます。

Visual Studio対応Oracle Developer Tools(ODT)

Visual Studio対応Oracle Developer Tools(ODT)は、Visual Studio環境と統合されるアプリケーション・ツールのセットです。これらのツールは、Oracleの機能にアクセスするためのグラフィカル・ユーザー・インタフェースを提供し、広範なアプリケーション開発作業を可能にし、開発上の生産性および使い易さを向上させます。Oracle Developer Toolsは、Visual Basic、C#および他の.NET言語を使用した.NETストアド・プロシージャのプログラミングと実装をサポートしています。

.NETストアド・プロシージャ

Oracle Database Extensions for .NETは、Windows用のOracle Databaseのオプションのデータベースです。このオプションによって、Microsoft Windows用のOracle Databaseを使用する.NETストアド・プロシージャまたはファンクションを、Visual Basic .NETまたはVisual C#を使用して作成および実行できるようになります。

.NETアセンブリに.NETプロシージャおよびファンクションを構築した後、Visual Studio対応Oracle Developer Toolsのコンポーネントの1つであるOracle Deployment Wizard for .NETを使用して、Oracle Databaseにそれらをデプロイできます。

Oracle Providers for ASP.NET

Oracle Providers for ASP.NETは、ASP.NET開発者に対して、Oracle Database内のWebアプリケーションに共通の状態を簡単に格納できる方法を提供します。これらのプロバイダは、既存のMicrosoft ASP.NETプロバイダをモデルにしており、類似するスキーマおよびプログラミング・インタフェースを共有し、.NET開発者に使い慣れたインタフェースを提供します。Oracleでは、メンバーシップ、プロファイル、ロールなどのプロバイダがサポートされます。


参照:

  • 『Oracle Database 2日で.NET開発者ガイド』(Microsoft Windows用)

  • 『Oracle Data Provider for .NET開発者ガイド』(Microsoft Windows用)

  • 『Oracle Database Extensions for .NET開発者ガイド』(Microsoft Windows用)

  • 『Oracle Database開発ガイド』


Oracle Provider for OLE DB(OraOLEDB)

Oracle Provider for OLE DB(OraOLEDB)は、オープンかつ標準的なデータ・アクセス方法であり、様々な型のデータに対するアクセスおよび操作において、一連のComponent Object Model(COM)インタフェースを使用します。このインタフェースは様々なデータベース開発元から提供されています。


参照:

OraOLEDBの詳細は、『Oracle Provider for OLE DB開発者ガイド for Microsoft Windows』を参照してください。

サンプル・スキーマHRについて

HRスキーマは、Oracle Databaseの一部としてインストール可能なサンプル・スキーマです。このスキーマには従業員に関する情報、つまり、部門、事業所、職歴に関する情報および他の関連情報が含まれています。すべてのスキーマと同様、HRスキーマにも、表、ビュー、索引、プロシージャ、ファンクションおよびその他すべてのデータベース・スキーマの属性があります。

このマニュアルの例とチュートリアルでは、HRスキーマを使用します。


参照: