1 『Oracle AI Database開発スタート・ガイド』の概要
Oracle AI Database開発者は、Oracleテクノロジ・スタックを使用するアプリケーションのデータベース・コンポーネントの作成およびメンテナンスを担当します。データベース開発者は、アプリケーションを開発するか、既存のアプリケーションをOracle AI Database環境で動作するように変換します。
関連項目:
データベース開発者が行う作業の詳細は、Oracle AI Database概要を参照してください
このドキュメントについて
このドキュメントはアプリケーション開発者を対象とするOracle AI Databaseのドキュメント・セットの一部です。
このドキュメントでは、次を実行します。
-
Oracle AI Databaseでの開発の基本概念について説明します
-
チュートリアルと例を使用して、SQLおよびPL/SQLの基本機能の使用方法を示します。
-
説明事項の詳細についての参照情報を提供します。
-
単純なOracle AI Databaseアプリケーションの開発およびデプロイ方法を示します
「『Oracle AI Database開発スタート・ガイド』の概要」(この章)では、このドキュメントの対象読者を示し、このドキュメントの構成を説明します。また、Oracle AI Databaseの重要な概念を示し、このドキュメント内のチュートリアルと例で使用されているサンプル・スキーマについて説明します。
「Oracle AI Databaseへの接続および検索」では、Oracle AI Databaseへの接続方法、スキーマ・オブジェクトおよびデータベース表のプロパティとデータの表示方法、および問合せを使用して表からデータを取得する方法について説明します。
DML文とトランザクションでは、データ操作言語(DML)文とトランザクションについて紹介します。DML文は、表データを追加、変更および削除します。トランザクションは、一連の1つ以上のSQL文であり、データベースは、それを1つの単位として扱うので、すべての文が実行されるか何も実行されないことになります。
スキーマ・オブジェクトの作成と管理では、データ定義言語(DDL)について紹介します。DDLはスキーマ・オブジェクトを作成、変更、削除します。
ストアド・サブプログラムとパッケージの開発では、多くの異なるデータベース・アプリケーションでビルディング・ブロックとして使用できるストアド・サブプログラムとパッケージについて紹介します。
トリガーの使用では、指定されたイベントに対応して自動的に実行するストアドPL/SQLユニットであるトリガーについて紹介します。
グローバル環境での作業では、グローバリゼーション・サポート(National Language Support (NLS)パラメータとSQLとPL/SQLのUnicode関連機能)について紹介します。
有効なアプリケーションの作成では、スケーラブルなアプリケーションの作成方法および推奨されるプログラミングおよびセキュリティ上の措置の利用方法について説明します。
「簡易的なOracle AI Databaseアプリケーションの開発」では、単純なOracle AI Databaseアプリケーションの開発方法を示します。
「Oracle AI Databaseアプリケーションのデプロイ」では、例として「簡易的なOracle AI Databaseアプリケーションの開発」で開発したアプリケーションを使用して、Oracle AI Databaseアプリケーションのデプロイ方法(他のユーザーが実行できる1つ以上の環境へのインストール方法)について説明します。
Oracle AI Databaseについて
Oracle AI Databaseは、関連情報をスキーマと呼ばれる論理構造にグループ化します。論理構造には、スキーマ・オブジェクトが含まれます。
ユーザー名とパスワードを使用してデータベースに接続する際に、ユーザーはスキーマを指定して、自分がその所有者であることを示します。Oracle AI Databaseでは、ユーザー名とユーザーが接続するスキーマ名は同じです。
スキーマ・オブジェクトについて
Oracle AI Databaseのすべてのオブジェクトは、1つのスキーマのみに属し、そのスキーマを使用した一意の名前が付けられています。
スキーマは、次のようなオブジェクトを持つことができます。
-
表
表は、Oracle AI Databaseのデータ記憶領域の基本単位です。表は、ユーザーがアクセス可能なすべてのデータを保持します。各表には、それぞれのデータのレコードを表す行が含まれています。行は、レコードのフィールドを表す列で構成されています。
-
索引
索引はオプションのオブジェクトであり、これを使用すると、表からデータを取得するパフォーマンスが改善されます。索引は、表の1つ以上の列に作成され、データベース内で自動的にメンテナンスされます。
-
ビュー
複数の表の情報を組み合せて一元的に表示するビューを作成できます。ビューは、表と他のビューの両方の情報に依存する可能性があります。
-
順序
表のすべてのレコードが一意である必要がある場合、順序を使用することによって、各レコードのIDを表す数値列に対する一意の整数番号のシリアル・リストを生成できます。
-
シノニム
シノニムは、スキーマ・オブジェクトの別名です。これは、オブジェクトの所有者をわからなくしたり、SQL文を単純化するなど、セキュリティや利便性の向上に使用されます。
-
ストアド・サブプログラム
ストアド・サブプログラム(または、スキーマ・レベル・サブプログラム)は、データベースに格納されたプロシージャやファンクションです。これらは、データベースにアクセスするクライアント・アプリケーションから起動されます。
トリガーは、特定の表またはビューで指定したイベントが発生した際にデータベースによって自動的に実行されるストアド・サブプログラムです。トリガーは、特定のデータへのアクセスを制限し、ロギングを実行できます。
-
パッケージ
パッケージは、ユニットとして継続的に使用するためにデータベースに格納された明示カーソルおよび変数とともに、それらを使用する関連サブプログラムをグループ化したものです。ストアド・サブプログラムと同じように、パッケージ・サブプログラムは、データベースにアクセスするクライアント・アプリケーションから起動されます。
通常、アプリケーションが使用するオブジェクトは、どれも同じスキーマに属しています。
関連項目:
-
スキーマ・オブジェクトの包括的な説明は、Oracle AI Database概要を参照してください
Oracle AI Databaseへのアクセスについて
Oracle AI Databaseには、SQL*PlusやSQL Developerなどのクライアント・プログラムを介してのみアクセスできます。
Oracle AI Databaseに対するクライアント・プログラム・インタフェースは、構造化問合せ言語(SQL)です。Oracleには、Procedural Language/SQL(PL/SQL)というSQLに対する拡張機能が用意されています。
SQL*Plusについて
SQL*Plus (sequel plusと発音)は、対話型のバッチ問合せツールです。Oracle AI Databaseをインストールすると、一緒にインストールされます。このツールには、データベースへの接続時にクライアントとして機能する、コマンドライン・ユーザー・インタフェースがあります。
SQL*Plusは独自のコマンドと環境を持っています。SQL*Plusの環境では、SQL*Plusコマンド、SQL文、PL/SQL文およびオペレーティング・システムのコマンドを入力して実行し、次のような作業を行えます。
-
問合せ結果の整形、計算実行、格納および印刷
-
表およびオブジェクト定義の検証
-
バッチ・スクリプトの開発および実行
-
データベース管理の実行
SQL*Plusを使用して、対話的なレポート生成、バッチ処理としてのレポート生成、およびテキスト・ファイル、スクリーンまたはインターネットでの閲覧用のHTMLファイルへの結果の出力が可能です。HTML出力機能を使用するとレポートを動的に生成できます。
SQL DeveloperでSQL*Plusを使用できます。詳細は、『Oracle SQL Developerユーザーズ・ガイド』を参照してください。
関連項目:
-
SQL*Plusの詳細は、『SQL*Plusユーザーズ・ガイドおよびリファレンス』を参照してください。
SQL Developerについて
SQL Developer (sequel developerと発音)は、Oracle AI Databaseのグラフィカル・ユーザー・インタフェースで、データベースをインストールするとデフォルトでインストールされ、Oracle Technology Networkから無料でダウンロードできます。
SQL DeveloperはSQLおよびPL/SQLの最新の統合開発環境(IDE)として機能し、データベース・オブジェクトを管理するためのグラフィカル・インタフェースを提供します。レポートの作成、データ・モデルの設計、サードパーティ・データベースのOracleへの移行(REST対応の表およびビュー)、およびOracle REST Data Servicesのデプロイと管理を行うこともできます。SQLワークシートから、SQL文、PL/SQL文およびSQL*Plusコマンドとスクリプトを入力して実行できます。
ノート:
SQL Developerでは複数の方法でタスクを実行できますが、このマニュアルではすべての方法について説明しません。
関連項目:
-
SQL Developerの詳細は、『Oracle SQL Developerユーザーズ・ガイド』を参照してください。
構造化問合せ言語(SQL)について
構造化問合せ言語(SQL) (sequelと発音)は、セット・ベースの高度なコンピュータ言語であり、Oracle AI Databaseのデータにアクセスする際に、すべてのプログラムおよびユーザーによって使用されます。
SQLは宣言型、または非手続き型の言語です。つまり、SQLは方法ではなく、何をするかについて記述します。結果を取得する方法ではなく、必要な結果セットを指定します(たとえば現在の従業員の名前)。
関連項目:
-
SQLの概要は、Oracle AI Database概要を参照してください
-
SQLの詳細は、『Oracle AI Database SQL言語リファレンス』を参照してください
Procedural Language/SQL(PL/SQL)について
Procedural Language/SQL (PL/SQL) (P L sequelと発音)は、Oracle AI Databaseが独自にSQLに行った拡張です。条件付き制御やループのような手続き型の要素を追加することで、宣言型プログラム制御と命令型プログラム制御のギャップが埋められています。
PL/SQLでは、定数と変数、プロシージャとファンクション、型とその型の変数、およびトリガーを宣言できます。例外も処理できます(ランタイム・エラー)。また、Oracle AI Databaseプログラム・インタフェースを使用するアプリケーションで再利用することを目的としてデータベースに格納できるプロシージャ、ファンクション、パッケージ、タイプおよびトリガーなどのPL/SQLユニットを作成できます。
PL/SQLソース・プログラムの基本単位は、関連する宣言と文をグループ化するブロックです。ブロックには、オプションの宣言部、必須の実行可能部、オプションの例外処理部があります。
関連項目:
-
PL/SQLの概要は、Oracle AI Database概要を参照してください
-
PL/SQLの詳細は、Oracle AI Database PL/SQL言語リファレンスを参照してください
他のクライアント・プログラム、言語および開発ツールについて
他のいくつかのクライアント・プログラム、言語および開発ツールを利用できます。
ノート:
前述のリストの一部の製品はOracle AI Databaseに付属していないため、別個にダウンロードする必要があります。
関連項目:
-
データベース開発者用のツールの詳細は、Oracle AI Database概要を参照してください
-
プログラミング環境の選択の詳細は、Oracle AI Database開発ガイドを参照してください
Oracle Application Express
Oracle Application Expressは、プログラミングの経験が浅い開発者でも、短期間で確実かつスケーラブルなWebアプリケーションを開発および配置できるツールです。埋め込まれているApplication Builderによって、表やストアド・プロシージャなどのスキーマ・オブジェクトを使用する完全なアプリケーションまたはHTMLインタフェースが、タブ、ボタン、ハイパーテキスト・リンクを介してリンクされたページの集まりに組み立てられます。
関連項目:
Oracle Application Expressの詳細は、『Oracle Application Expressアプリケーション・ビルダー・ユーザーズ・ガイド』を参照してください。
Oracle Java Database Connectivity(JDBC)
Oracle Java Database Connectivity (JDBC)は、JavaでSQL文をOracle AI Databaseのようなオブジェクト・リレーショナル・データベースに送ることができるようにするAPIです。Oracle AI DatabaseのJDBCは、JDBC 3.0およびJDBC RowSet (JSR-114)規格、XAおよび非XA接続に対応した先進の接続キャッシュ、SQLおよびPL/SQLデータ型のJavaへの公開、SQLデータへの迅速なアクセスを完全にサポートします。
関連項目:
JDBCの詳細は、次を参照してください。
Hypertext Preprocessor (PHP)
Hypertext Preprocessor (PHP)は、Webアプリケーションを迅速に開発するための、強力なインタプリタ型のサーバー側スクリプト言語です。PHPはオープン・ソース言語であり、BSD型ライセンスで配布されています。PHPはデータベースのアクセス要求を直接HTMLページに組み込めるよう設計されています。
Oracle Call Interface(OCI)
Oracle Call Interface (OCI)はC言語のアプリケーションからOracle AI Databaseに直接アクセスするための、独自のC言語のAPIです。
OCIソフトウェア開発キットは、Oracle Instant Clientの一部としてインストールでき、標準のOracleクライアントをインストールしたりORACLE_HOMEを持つことなくアプリケーションを実行できます。アプリケーションは変更せずに使用でき、ディスク領域の使用を大幅に抑えることができます。
関連項目:
-
OCIの詳細は、Oracle AI Database開発ガイドを参照してください
-
OCIの完全な情報は、『Oracle Call Interfaceプログラマーズ・ガイド』を参照してください。
Oracle C++ Call Interface(OCCI)
Oracle C++ Call Interface (OCCI)は、C++アプリケーションからOracle AI Databaseに直接アクセスするための、独自のC++言語のAPIです。OCIと同様、OCCIはリレーショナルおよびオブジェクト指向型のプログラミング・パラダイムをサポートしています。
OCCIソフトウェア開発キットは、Oracle Instant Clientの一部としてインストールでき、標準のOracleクライアントをインストールしたりORACLE_HOMEを持つことなくアプリケーションを実行できます。アプリケーションは変更せずに使用でき、ディスク領域の使用を大幅に抑えることができます。
関連項目:
-
OCCIの詳細は、Oracle AI Database開発ガイドを参照してください
-
OCCIの完全な情報は、『Oracle C++ Call Interfaceプログラマーズ・ガイド』を参照してください。
Open Database Connectivity
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の一部です。
関連項目:
-
WindowsでOracle ODBCドライバを使用する方法の詳細は、『Oracle Services for Microsoft Transaction Server開発者ガイド for Microsoft Windows』を参照してください。
Pro*C/C++プリコンパイラ
Pro*C/C++プリコンパイラにより、CまたはC++言語のソース・ファイルにSQL文を組み込むことができます。プリコンパイラでは、ソース・プログラムを入力として受け入れ、埋込みSQL文を標準のOracleランタイム・ライブラリ・コールに変換し、コンパイル、リンクおよび実行ができるように変更したソース・プログラムを生成します。
関連項目:
-
Oracleプリコンパイラの詳細は、Oracle AI Database概要を参照してください
-
Pro*C/C++プリコンパイラの詳細は、Oracle AI Database開発ガイドを参照してください
-
Pro*C/C++プリコンパイラの完全な情報は、『Pro*C/C++プログラマーズ・ガイド』を参照してください。
Pro*COBOLプリコンパイラ
Pro*COBOLプリコンパイラにより、COBOL言語のソース・ファイルにSQL文を組み込むことができます。プリコンパイラでは、ソース・プログラムを入力として受け入れ、埋込みSQL文を標準のOracleランタイム・ライブラリ・コールに変換し、コンパイル、リンクおよび実行ができるように変更したソース・プログラムを生成します。
関連項目:
-
Oracleプリコンパイラの詳細は、Oracle AI Database概要を参照してください
-
Pro*COBOLプリコンパイラの詳細は、Oracle AI Database開発ガイドを参照してください
-
Pro*COBOLプリコンパイラの詳細は、『Pro*COBOLプログラマーズ・ガイド』を参照してください。
Microsoft .NET Framework
Microsoft .NET Frameworkは、アプリケーションとXML Webサービスを作成、デプロイおよび実行するための多言語環境です。
Microsoft .NET Frameworkのメイン・コンポーネントは次のとおりです。
-
共通言語ランタイム(CLR)
共通言語ランタイム(CLR)とは中間言語の開発環境と実行環境で、実行されているアプリケーションの管理を補助します。
-
Frameworkクラス・ライブラリ(FCL)
Frameworkクラス・ライブラリ(FCL)は、パッケージ済機能の一貫したオブジェクト指向のライブラリを提供します。
Oracle Data Provider for .NET(ODP.NET)
Oracle Data Provider for .NET (ODP.NET)は、.NETクライアント・アプリケーションからOracle AI Databaseへの迅速で有効なADO.NETデータ・アクセスを提供します。ODP.NETを使用すると、開発者はSecureFiles、XML DBおよびアドバンスト・キューイングなどの高度なデータベース機能を利用できます。
Visual Studio対応Oracle Developer Tools(ODT)
Visual Studio対応Oracle Developer Tools(ODT)は、Visual Studio環境と統合されるアプリケーション・ツールのセットです。これらのツールは、Oracleの機能にアクセスするためのグラフィカル・ユーザー・インタフェースを提供し、広範なアプリケーション開発作業を可能にし、開発上の生産性および使い易さを向上させます。Oracle Developer Toolsは、Visual Basic、C#および他の.NET言語を使用した.NETストアド・プロシージャのプログラミングと実装をサポートしています。
Oracle Providers for ASP.NET
Oracle Providers for ASP.NETは、ASP.NET開発者に対して、Oracle AI Database内のWebアプリケーションに共通の状態を簡単に格納できる方法を提供します。これらのプロバイダは、既存のMicrosoft ASP.NETプロバイダにモデル化され、類似するスキーマおよびプログラミング・インタフェースを共有して.NET開発者に使い慣れたインタフェースを提供します。Oracleでは、メンバーシップ、プロファイル、ロールなどのプロバイダがサポートされます。
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 AI Databaseとともにインストールできます。このスキーマには従業員に関する情報、つまり、部門、事業所、職歴に関する情報および他の関連情報が含まれています。すべてのスキーマと同様、HRにも表、ビュー、索引、プロシージャ、ファンクション、その他の属性があります。このマニュアルの例とチュートリアルでは、スキーマを使用します。
関連項目:
-
HRスキーマの詳細は、Oracle AI Databaseサンプル・スキーマを参照してください
-
ユーザーHRとしてデータベースに接続する方法の詳細は、「ユーザーHRとしてのOracle AI Databaseへの接続」を参照してください