Comments
Description
Transcript
データベース・オブジェクトの操作
Oracle Application Express 4.0 を使用した、 データベース・オブジェクトの操作 Copyright(c) 2011, Oracle. All rights reserved. Copyright(c) 2011, Oracle. All rights reserved. 2 / 28 Oracle Application Express 4.0 を使用した、 データベース・オブジェクトの操作 目的 このチュートリアルでは、Oracle Application Express を使用して、データベース・オブジェクトを操作する 方法を説明します。 所要時間: 約 30 分 概要 Oracle Application Express について Oracle Application Express は、データベース中心の Web アプリケーションを開発および配置するための、 ホスティングされた宣言型開発環境です。 ユーザー・インタフェース・テーマ、ナビゲーション制御、フォ ーム・ハンドラ、および柔軟なレポートなどの組込み機能によって、Oracle Application Express はアプリケ ーションの開発プロセスを加速させます。 Oracle Application Express の構成要素 Oracle Application Express の主要なコンポーネントは以下の 4 つです。 アプリケーション・ビル データベース中心の対話型 Web アプリケーションの開発に使用します。 ダー SQL ワークショップ データベース・オブジェクトにアクセスし、SQL 文と SQL スクリプ トを実行します。 チーム開発 アプリケーション開発プロセスの管理を支援します。 管理 サービスおよびユーザーの管理とアクティビティの監視に使用しま す。 用語 Oracle Application Express を使用して作業するにあたって、以下の概念を理解しておくことが重要です。 作業領域 作業領域とは、仮想プライベート・データベースのことです。作業領域を使用する と、複数のユーザーが、各自のオブジェクト、データ、アプリケーションをプライベー Copyright(c) 2011, Oracle. All rights reserved. 3 / 28 トに維持したまま、同じ Oracle Application Express を使用して作業できます。 アプリケーシ アプリケーションとは、ページとページを接続するブランチの集まりのことです。 ア ョン プリケーションの属性として、認証方式、デフォルト UI テンプレート、および許可ル ールがあります。 ページ ページは、アプリケーションの基本構築ブロックです。 アプリケーション・ ビルダーでアプリケーションを構築する場合は、タブ、リスト、ボタン、ア イテム、リージョンなどのユーザー・インタフェース要素を含むページを作 成します。 リージョン コンテンツはリージョンに表示されます。リージョンとはページの論理サブ セクションです。 各ページには、複数の異なるタイプのリージョンをいくつ でも作成できます。 これらのタイプには、HTML テキスト、SQL 問合せ、 PL/SQL 生成の HTML、グラフがあります。 各リージョンは、リージョン・ テンプレートを使用してレンダリングされます。 リージョンのページ上での 位置は、ページ・テンプレートに定義された表示ポイントによって決まりま す。 アイテム アイテムには、テキスト・フィールド、テキスト領域、パスワード、選択リ スト、チェック・ボックスなどがあります。 アイテムの属性は、ページ上の アイテムの表示と動作に影響を与えます。 たとえば、ラベルの表示位置、ア イテムの大きさ、直前のアイテムの横または下に表示するかどうか、といっ た属性があります。アイテムの値はアプリケーショ ンのセッション・ステー トに自動的に格納され、ユーザー・セッション内の任意の時点で参照できま す。 アーキテクチャ Oracle Application Express は、Oracle データベースとともにインストールされ、表に格納されたデータと PL/SQL コードで構成されます。 Oracle Application Express は、Web リスナーを通して Oracle Database と通信する際にユーザー・コンピ ュータ上の Web ブラウザを利用します。 Application Express ページはブラウザ内で HTML を使用してレ ンダリングされるため、開発、配置、または実行時にブラウザ以外のクライアント・ソフトウェアは 必要あ りません。 ページのリクエストと送信は、Oracle Database 内の Application Express エンジンに送られま す。 アプリケーションを作成または拡張する場合、Oracle Application Express は、そのデータベース表に格納 されたメタデータを作成または変更します。 アプリケーションが実行されると、Application Express エンジ ンはメタデータを読み込み、リクエストされたページを表示するか、ページの送信を処理します。 アプリケーション内でステートフルな動作を行うために、Oracle Application Express はデータベースのセッ ション・ステートを透過的に管理します。 アプリケーション開発者は、標準 SQL のバインド変数構文と同 様に、単純な置換を使用して、セッション・ステートを取得および設定できます。 Copyright(c) 2011, Oracle. All rights reserved. 4 / 28 Apache MOD_PLSQL Oracle Application Express エンジンにアクセスする方法の 1 つは、mod_plsql プラグインを含む Oracle HTTP Server(Apache)を構成することです。 Oracle データベースにおいて、このプラグインは Web サー バーと Oracle Application Express オブジェクト間のコミュニケーション・ブローカとして機能します。 これ は、ブラウザのリクエストをデータベースのストアド・プロシージャ・コールにマッピングします。 イメージは、 ファイル・システムに格納され、Apache により提供されます。 Apache を使用することで、Web リスナーを データベースと同じ物理マシン上に置くか、または別々の物理マシン上に置くことができます。 組込み PL/SQL ゲートウェイ(EPG) 組 込み PL/SQL ゲートウェイは、Oracle データベースの XML DB HTTP サーバーで実行され、mod_plsql の中心機能を含みますが、Apache を使用した Oracle HTTP Server を必要としません。 EPG は、すべて のファイル(データベースからの JavaScript、イメージ、CSS を含む)を格納および提供します。 EPG は、 小規模の構成に便利です。 EPG は、大規模の本番環境のユースケースやインターネット向けアプリケ ーションには推奨されません。 Oracle Application Express 4.0 について Oracle Application Express(Oracle APEX) Release 4.0 の新機能の概要は、以下のとおりです。 Websheets Websheets を使用することで、すべてのユーザーは、Web ベースのデータ・エント リ・ アプリケーションおよびレポート・アプリケーションを迅速に構築し、配置でき ます。 Websheets を使用すると、表、トリガー、シーケンスの作成が自動的に処 理されます。 Websheets は、レポートとフォーム・レイアウトに対する簡単で宣言 的なアプローチや、値と検証の作成リストを提供します。 グラフ作成の強 Oracle Application Express 4.0 には AnyChart 5.1 の統合が含まれているため、 化 パフォーマンスが向上し、レンダリング時間および更新時間が短縮されます。 マップとガント・チャートのサポートに加え、このリリースには、スクロール機能の サポート、インタラクティブ・ラベル、凡例マーカー、複数データ・マー カー、コン テンツ・メニューのローカリゼーションが含まれています。 REST Web サー REST Web サービスは、SOAP Web サービスよりも簡単なアーキテクチャを利用 ビス します。 パラメータは、REST Web サービスに URL の一部として送信され、VML ドキュメントが返されます。 ア プ リ ケ ー シ ョ アプリケーション・ビルダーでは、新しいルック・アンド・フィールが提供されてい ン ・ ビ ル ダ ー の ます。 ユーザー・インタフェースの拡張には、ナビゲーションの改善、管理画面 向上 の再設計、インタラクティブ・レポートの幅広い活用、およびアプリケーション検 索機能の統合が含まれます。 イ ン タ ラ ク テ ィ インタラクティブ・レポートは、アイコンと詳細ビュー、カレンダ・ビュー、インライン ブ・レポートの強 編集、複 合フィルタ式、電子メール通知、新しい Group By 機能をサポートしま 化 す。 さらに、各レポートでは、検索可能な HTML にダウンロードできる強化され た保存オプションとともに、より詳細な印刷機能が提供されます。 Copyright(c) 2011, Oracle. All rights reserved. 5 / 28 動的アクション 動的アクションにより、開発者は JavaScript を使用することなく、クライアント側の 動 作を宣言的に定義できます。 開発者は、簡単なウィザードを使用し、ページ・ アイテムと条件の選択、値の入力、アクション(表示、非表示、有効化、Item 行の 表示)の選択を実行でき ます。 プラグイン プラグインを使用して既存の組込み機能を新しいアイテム・タイプ、リージョン・タ イプ、動的アクションで強化することで、開発者はアプリケーションを強化し、カス タマイズできます。 Oracle Application Express Listener Oracle Application Express 4.0 には、新しい HTTP Web サーバーが含まれます。 この Web サーバーは、Java ベースです。 Oracle Application Express Listener は、ファイル・システム・キャッシュ、FOP の PDF への変換のサポート、向上したフ ァイルのアップロード機能を提供し、Oracle Web Logic、Tomcat、および OC4J に 対応しています。 チーム開発 チーム開発は、新機能、さまざまな開発タスク、バグ、マイルストーンを追跡する ことで、開発プ ロセスの管理を可能にする組込みのプロジェクト管理ツールで す。 また、チームのメンバーは、機能、一般タスク、またはバグにカテゴライズで きるリアルタイムのフィードバックを提供できます。 前提条件 このチュートリアルを始める前に以下のことを確認してください。 Oracle Database 11g がインストールされていること Oracle Application Express Release 4.0 がインストールされていること apexstart.zip ファイルがダウンロードされ、作業ディレクトリに解凍されていること このチュートリアルを実行するための作業領域とユーザーが作成されていること スプレッドシートからの表の作成 このチュートリアル用のデータをスプレッドシートからロードするには、以下の手順に従います。 1. 以下の URL を入力して Oracle Application Express にログインします(<ホスト名>は、localhost、 個々のホスト名、または apex.oracle.com に変更してください)。 http://<ホスト名>:8080/apex 2. Oracle Application Express にログインするには、以下の詳細情報を入力して、「ログイン」を クリックします。 Copyright(c) 2011, Oracle. All rights reserved. 6 / 28 ワークスペース: <作業領域名> ユーザー名: <ユーザー名> パスワード: <パスワード> 3. 表を作成するには、最初にスプレッドシート・データをロードする必要があります。 SQL ワークショップの横にある下矢印をクリックし、「ユーティリティ」→「データ・ワークショップ」 を選択します。 Copyright(c) 2011, Oracle. All rights reserved. 7 / 28 4. 「スプレッドシート・データ」をクリックします。 5. ロード先として「新しい表」が設定されていることを確認します。ロード元に「ファイルをアップロード (カンマ区切りまたはタブ区切り)」オプションを選択します。「次へ>」をクリックします。 Copyright(c) 2011, Oracle. All rights reserved. 8 / 28 6. 「ファイルを選択」をクリックします。 7. ファイルの置かれたディレクトリから tasks_jp.txt ファイルを検索し、「開く」をクリックします。 このテキスト・ファイルのデータはタブ区切りのため、セパレータフィールドに\t を入力します。 「次へ>」をクリックします。 Copyright(c) 2011, Oracle. All rights reserved. 9 / 28 8. 表のプロパティページには、表の列およびその書式、表の作成後に表に挿入されるデータが表示 されます。 表名に OBE_TASKS と入力し、「次へ>」をクリックします。 9. 「データのロード」ページを使用することで、システム生成の主キーを表に追加すること、およびそ の列に新しい順序を移入することが可能です。 デフォルト値を確認し、「データのロード」をクリック します。 10 . 表が作成され、データがロードされた後は、テキスト・データのロード・リポジトリページが表示され たままになります。 アップロードしたファイルが表示され、16 行が正常にアップロードされたことを 確認できます。 新しい表を表示するには、SQL ワークショップの横にある下矢印をクリックし、「オ Copyright(c) 2011, Oracle. All rights reserved. 10 / 28 ブジェクト・ブラウザ」を選択します。 11 . 表定義を表示するには、左側のナビゲータの表リストの下にある「OBE_TASKS」表をクリックしま す。 12 . このページには表定義が表示されます。 表のデータを表示するには、「データ」タブをクリックしま す。 Copyright(c) 2011, Oracle. All rights reserved. 11 / 28 13 . 表の全データが表示されます。 このページから表の任意のデータを変更できます。 また、表へ行を追加することも可能です。 マスター表の追加 Copyright(c) 2011, Oracle. All rights reserved. 12 / 28 プロジェクト名を保守可能にし、プロジェクトに関するその他の情報を追跡できるようにするために、プロ ジェクト情報を別の表に移動できます。以下の手順を実行します。 1 . 「表」タブをクリックします。 2 . 「参照表の作成」ボタンをクリックします。 3 . マスター表を作成する列を指定するために、「PROJECT - varchar2」を選択し、「次へ>」をクリッ Copyright(c) 2011, Oracle. All rights reserved. 13 / 28 クします。 4 . 以下の値を入力して、「次へ>」をクリックします。 新しい表名: OBE_PROJECTS 新しい順序: OBE_PROJECT_SEQ 5 . 「終了」をクリックします。 Copyright(c) 2011, Oracle. All rights reserved. 14 / 28 6 . 新しい OBE_PROJECTS 表に、数値の主キーと PROJECT 列が含まれていることを確認します。 表の変更 ここまでで 2 つのメイン表を作成したので、OBE_PROJECTS 表にいくつか列を追加して改良します。 以下の手順を実行します。 1. OBE_PROJECTS 表が選択されていることを確認します。 これから、この表に列を追加します。 「列の追加」をクリックします。 2. 以下の各値を入力して、「次へ>」をクリックします。 Copyright(c) 2011, Oracle. All rights reserved. 15 / 28 列の追加: PROJECT_DEADLINE タイプ: DATE 3. 「終了」をクリックします。 4. PROJECT_DEADLINE 列が追加され、変更された表定義が表示されます。 さらに、PROJECT_PRIORITY 用にもう 1 つ列を作成します。 「列の追加」をクリックします。 Copyright(c) 2011, Oracle. All rights reserved. 16 / 28 5. 以下の各値を入力して、「次へ>」をクリックします。 列の追加: PROJECT_PRIORITY タイプ: NUMBER 精度: 1 6. 「終了」をクリックします。 7. PROJECT_PRIORITY 列が追加されます。 「データ」タブをクリックして、データを表示します。 Copyright(c) 2011, Oracle. All rights reserved. 17 / 28 8. OBE_TASKS 表で参照されているすべてのプロジェクトが表示されます。 この画面でデータを変更できます。 プロジェクト Public Website の PROJECT_ID の左にある 編集「 9. 」アイコンをクリックします。 Project Deadline に、今日以降の日付を入力します。 Priority に 1 を入力します。 「変更の適用」をクリックします。 Copyright(c) 2011, Oracle. All rights reserved. 18 / 28 10 . 追加したデータが表示されます。 データベース・オブジェクトを作成してデータをロードする別の 方法として、スクリプトを使用する方法もあります。 「SQL スクリプト」アイコンをクリックします。 スクリプトを使用した表の追加 OBE_TASKS.ASSIGNED_TO 列は番号です。 このトピックでは、スクリプトを実行して、OBE_EMPLOYEES 表を作成し、現在の従業員のリストをロードします。 従業員は、OBE_TASKS.ASSIGNED_TO 列の番号に 対応する EMPLOYEE_ID を持ちます。 以下の手順を実行します。 1 . SQL スクリプトページを開きます。 「アップロード>」をクリックします。 Copyright(c) 2011, Oracle. All rights reserved. 19 / 28 2 . 「ファイルを選択」をクリックします。 3 . 作業ディレクトリから「employees_jp.sql」を選択し、「開く」をクリックします。 スクリプト名に OBE_EMPLOYEES と入力して、「アップロード」をクリックします。 4 . 「実行」アイコンをクリックします。 5 . 「即時実行」をクリックし、確定します。 Copyright(c) 2011, Oracle. All rights reserved. 20 / 28 6 . スクリプトが実行されます。 結果を表示するには、「結果の表示」アイコンをクリックします。 7 . OBE_EMPLOYEES 表が作成され、一部のデータが挿入されます。 「SQL ワークショップ」ブレッドク ラム・リストをクリックします。 Copyright(c) 2011, Oracle. All rights reserved. 21 / 28 制約の追加 OBE_TASKS.ASSIGNED_TO 列によって参照されている従業員データを挿入しましたが、まだ表間の外部 キーを指定していません。 外部キーによって、各 ASSIGNED_TO 列が有効な従業員を参照するようにな ります。 また、タスクが割り当てられた従業員の削除が禁止されます。 以下の手順を実行します。 1 . 「オブジェクト・ブラウザ」をクリックします。 Copyright(c) 2011, Oracle. All rights reserved. 22 / 28 2 . OBE_TASKS 表を選択します。 Copyright(c) 2011, Oracle. All rights reserved. 23 / 28 3 . 「制約」タブをクリックします。 4 . 「作成」をクリックします。 5 . 制約のタイプとして「外部キー」を選択します。 外部キー列として「ASSIGNED_TO」を選択します。 また、参照表名として「OBE_EMPLOYEES」を選択し、参照表の列リストから「EMPLOYEE_ID」を選 択します。 「次へ>」をクリックします。 Copyright(c) 2011, Oracle. All rights reserved. 24 / 28 6 . 「終了」をクリックします。 7 . 制約が正しく作成されました。 次に、PROJECT_PRIORITY に対するチェック制約を作成し、データ が挿入または更新された際に正しく検証されるようにします。 「OBE_PROJECTS」を選択します。 Copyright(c) 2011, Oracle. All rights reserved. 25 / 28 8 . 「作成」をクリックします。 9 . 制約対象列フィールドで「PROJECT_PRIORITY」を選択し、制約式に in ('1','2','3')と入力します。 制約のタイプでチェックが選択されていることを確認します。 「次へ>」をクリックします。 Copyright(c) 2011, Oracle. All rights reserved. 26 / 28 10 . 「終了」をクリックします。 11 . 制約が正しく作成されました。 「ホーム」ブレッドクラム・リストをクリックします。 Copyright(c) 2011, Oracle. All rights reserved. 27 / 28 まとめ このチュートリアルで学習した内容は、以下のとおりです。 スプレッドシートからの表の作成 参照表の作成 表の変更 スクリプト実行による表の作成 表における制約の作成 Copyright(c) 2011, Oracle. All rights reserved. 28 / 28