Oracle Database Exadata Express Cloud ServiceでのOracle Application Express 5.0の使用によるデータベース・アプリケーションの作成および実行


オプション



始める前に

目的

このチュートリアルでは、Oracle Exadata Express Cloud ServiceでOracle Application Expressを使用してデータベース・アプリケーションを作成する方法を示します。

所要時間

約80分。

概要

Oracle Application Express (Oracle APEX)は、Oracle Database用の迅速なWebアプリケーション開発ツールです。Webブラウザと限られたプログラミングの経験のみを使用して、高速かつセキュアなプロフェッショナル用のアプリケーションを開発およびデプロイできます。Oracle Application Expressは、オンプレミスであってもOracle Cloud内にあってもOracle Databaseで使用できます。

このチュートリアルでは、Oracle Exadata Express Cloud Serviceを使用し、Oracle Application Express Release 5.0を使用してOracle Cloudでデータベース・アプリケーションを作成および実行します。

このチュートリアルの実行時には、次の各事項に注意してください。

  • Exadata Express Cloud Service内のOracle Application Expressワークスペースへのログイン: Oracle Database Cloud Serviceについては、Oracleヘルプ・センターを参照してください。これを行うには、クラウド用のOracleヘルプ・センターに移動し、「パフォーマンスおよびインフラストラクチャ」を選択します。ここから、Database Cloud Serviceを選択すると、「スタート・ガイド」ページが開きます。
  • アプリケーションID: このチュートリアルのスクリーンショットでは、ぼやけたアプリケーションIDが表示されます。自分のアプリケーションIDは、アプリケーションの作成時に自動的に割り当てられる任意の値です。
  • 注意: このチュートリアルで説明するExadata Express Cloud Service内ではなく、オンプレミスOracleデータベース内のワークスペースにアクセスする場合は、Oracle Application Expressインスタンス管理者によってワークスペースに複数のスキーマが割り当てられていることがあります。

必要なもの

このチュートリアルを始める前に次の用意をする必要があります。

  • ローカルの非クラウド・コンピュータ上のOracle Database 11g以降のリリースにアクセスできるようにする。
  • files.zipファイルを作業ディレクトリにダウンロードして解凍する。
  • 次のことを実行してデータベース環境を構成する。
    • 次の環境設定手順を指定された順序で実行します。
      • 『Oracle Application Express管理ガイド』新規ユーザー・アカウントの作成に関する項の手順を参照してOracle Application Expressユーザーを作成します。  
      • files.zipを作業ディレクトリにダウンロードします。
      • Oracle Application Expressホーム・ページから、「SQL Workshop」タブの横の下矢印をクリックし、「SQL Scripts」を選択します。
      • deinstall_database_obj.sqlをアップロードおよび実行して、アプリケーション環境をリセットします。
      • install_database_obj.sqlをアップロードおよび実行して、これらのラボで使用する表およびデータを作成します。

データベース・アプリケーションの作成

いくつかの初期ページがある、データベース・アプリケーションを作成するには、次の手順を実行します。
  1. Oracle Application Expressのホーム・ページで、「Application Builder」タブの横の下矢印をクリックし、「Database Applications」を選択します。

    このイメージの説明
  2. 「Create」アイコンをクリックします。

    このイメージの説明
  3. 「Desktop」を選択し、「Next >」をクリックします。

    このイメージの説明
  4. 「Name」にProject Tasks Applicationと入力し、「Next >」をクリックします。

    このイメージの説明
  5. デフォルトでは、「Home」ページが作成されます。その他のページを追加するには、「Add Page」をクリックします。

    このイメージの説明
  6. 「Page Type」で「Master Detail」を選択します。「Master Detail」では、2ページのレポートとフォームの組合せが作成されます。「Parent Page」で「Home(1)」を、「Master Table Name」で「OBE_PROJECTS」を、「Detail Table Name」で「OBE_TASKS」を選択します。「Add Page」をクリックします。

    このイメージの説明
  7. 「Master Detail」ページが作成されます。「Next >」をクリックします。

    このイメージの説明
  8. デフォルトのままにして「Next >」をクリックします。

    このイメージの説明
  9. このアプリケーションへのアクセスに使用する認証のタイプを指定する必要があります。「Authentication Scheme」で、「Application Express Accounts」を選択します。

    このイメージの説明
  10. アプリケーション全体にわたり使用される日付形式を定義する必要があります。この日付形式は、アプリケーション内のページを表示または送信する前に、NLS_DATE_FORMATデータベース・セッション設定を変更するために使用されます。この形式は、日付を示すすべてのレポートで使用されます。また、Date Picker (use Application Date Format)タイプのフォーム・アイテムで選択されます。アプリケーションの「Application Date Format」として「DD-MON-YYYY」を選択し、「Next >」をクリックします。

    このイメージの説明
  11. 「Create Application」をクリックします。

    このイメージの説明
  12. 4ページを含むProject Tasks Applicationが正常に作成されます。「Run Application」アイコンをクリックします。

    このイメージの説明
  13. 「Log In」画面が表示されたら、Oracle Application Expressの資格証明を入力し、「Log In」をクリックします。
    注意: Application Expressホーム・ページで「Administration」ドロップダウン・メニューから「Manage Users and Groups」を選択することで、Application Expressユーザーを追加できます。

    このイメージの説明
  14. Project Tasks Applicationホーム・ページが表示され、ページの左側にナビゲーション・メニューが示されます。「Obe Projects」をクリックします。

    このイメージの説明
  15. プロジェクトのリストを含むレポートが表示されます。プロジェクトのいずれかの横にある「Edit」アイコンを選択し、「Master detail Form」を表示します。

    このイメージの説明
  16. 「Master Detail Form」が表示されます。このページでは、ユーザーが、プロジェクトの詳細、およびプロジェクトに関連付けられているタスクの詳細を編集できます。また、ユーザーは、新しいタスクを現在のプロジェクトに追加できます。

    マスター領域では、前ボタンと次ボタンを使用して、前のプロジェクトや次のプロジェクトに移動できます。たとえば、前の手順でPublic Websiteプロジェクトの横にある編集アイコンをクリックした場合は、前ボタンがここに表示されます。

    詳細領域には、「Add Row」ボタンが表示されます。このボタンを使用すると、保留中の変更内容を保存してから、新しいタスクをプロジェクトに追加できるよう別の行が追加されます。「Delete Checked」ボタンも必要です。このボタンは、各タスクの左側にあるチェック・ボックスとともに使用します。「Delete Checked」ボタンをクリックすると、チェック・マークが付けられているタスクが削除されます。この機能を使用する場合は、削除確認が組み込まれていることに注目してください。これにより、進行前に削除を確認するメッセージが表示されます。

    プロジェクトの名前を変更し、「Save」をクリックします。

    このイメージの説明

アプリケーション・オブジェクトの編集

「Master-Detail」フォームは十分に機能的ですが、外観を改善できます。このトピックでは、ページ・タイトルと領域タイトルの名前を変更し、マスター・レポート上のアイテムの形式を変更します。最後に、ドラッグ・アンド・ドロップ機能を使用して、「Projects and Tasks」ページ内のアイテムの順序を変更します。次の手順を実行します。

  1. 最後に編集したプロジェクトの名前が変更されていることがわかります。開発者ツールバーにある「Edit Page<n>」リンクをクリックします。

    このイメージの説明
  2. 「Rendering」タブ内の「Content Body」の下の「Columns」を展開します。

    このイメージの説明
  3. 「PROJECT_DEADLINE」列をクリックし、ページの右側にあるプロパティ・エディタでそのプロパティを開きます。

    このイメージの説明
  4. PROJECT_DEADLINEの形式を変更するには、「Appearance」の下で「Format Mask」の「List of Values」アイコンをクリックします。

    このイメージの説明
  5. 「12-JAN-2004」を選択します。

    このイメージの説明
  6. 次は、ページのタイトルをPROJECTSに変更する必要があります。「Rendering」タブで「Page 2: obe Projects」を選択します。

    このイメージの説明
  7. 「Identification」の下で、「Name」と「Title」にProjectsと入力します。「Save and Run Page」アイコンをクリックします。

    このイメージの説明
  8. PROJECT_DEADLINEの日付形式が変更されていることに注目してください。ただし、領域タイトルはまだObe Projectsになっています。開発者ツールバーで「Quick Edit」をクリックします。

    このイメージの説明
  9. クイック編集のために「Obe Projects」領域を選択します。

    このイメージの説明
  10. 領域タイトルが変更されていないことがわかります。「Identification」の下で、「Title」にProjectsと入力します。「Run and Save Page」アイコンをクリックします。

    このイメージの説明
  11. 現在はタイトルがProjectsに変更されていることがわかります。検索テキスト・ボックスにキーワードを入力することで、プロジェクトを検索できます。「Search」にemailと入力し、「Go」をクリックします。

    このイメージの説明
  12. 関連する行のテキストが赤色で強調表示されていることを確認します。「Reset」をクリックします。

    このイメージの説明
  13. 再度すべてのレコードが表示されます。Public Website Modifiedプロジェクトの行の前にある編集アイコンをクリックします。

    このイメージの説明
  14. Project、Project DeadlineおよびProject Priorityアイテム・ラベルの横に円で囲まれた小さい疑問符があることがわかります。「Project」の横にある円で囲まれた疑問符をクリックします。ヘルプ・ウィンドウが表示されます。それを編集することで、ヘルプ・テキストを追加できます。ヘルプ・ウィンドウを閉じます。

    このイメージの説明
  15. 開発者ツールバーにある「Edit Page<n>」リンクをクリックします。

    このイメージの説明
  16. 「Rendering」タブで、「Items」の下の「P3_PROJECT」を選択します。

    このイメージの説明
  17. そのプロパティ・エディタ内の「Help」の下で、「Help Text」にテキストを入力します。「Save and Run Page」アイコンをクリックします。

    このイメージの説明
  18. 「Project」の横にある円で囲まれた疑問符をクリックします。ヘルプ・ウィンドウが開き、前の手順で入力したヘルプ・テキストが表示されます。

    このイメージの説明
  19. ページ上のアイテムの順序を変更できます。開発者ツールバーで「Edit Page<n>」をクリックします。

    このイメージの説明
  20. このページ内のアイテムの順序を変更するには、アイテムを「Rendering」タブまたは「Grid Layout」内の新しい場所にドラッグ・アンド・ドロップします。「Rendering」タブで、「P3_PROJECT_ PRIORITY」アイテムをドラッグし、「P3_PROJECT_ DEADLINE」アイテムの上にドロップします。

    このイメージの説明
  21. 「Save and Run Page」アイコンをクリックします。

    このイメージの説明
  22. 「Master Detail」ページで「Project Deadline」の前に「Project Priority」が表示されることに注目してください。開発者ツールバーで「Application<n>」リンクをクリックします。

    このイメージの説明

値リスト(LOV)の作成

アプリケーションの外観を改善するもう1つの方法は、値リストの作成です。このトピックでは、次のLOVを作成します。

EMPLOYEES Employeesのリストを示す動的LOV。このLOVは、後で、「List of Tasks」内の「Assigned To」列に関連付けられます。
STATUSES Statusesのリストを示す静的LOV。このLOVは、後で、「List of Tasks」内の「Status」列に関連付けられます。
PRIORITIES Prioritiesのリストを示す静的LOV。このLOVは、後で、「Projects Master」領域内の「Priority」列に関連付けられます。
  1. 「3 - Master Detail」ページをクリックします。

    このイメージの説明
  2. ページのツリー・ビュー内の「Page Shared Components」タブをクリックします。

    このイメージの説明
  3. 「Lists of Values」を右クリックし、「Create...」を選択します。

    このイメージの説明
  4. 「Create List of Values」をデフォルト値「From Scratch」のままにし、「Next >」をクリックします。

    このイメージの説明
  5. 「Name」にEMPLOYEESと入力し、「Type」で「Dynamic」を選択し、「Next >」をクリックします。

    このイメージの説明
  6. 動的LOVの場合は、ページのレンダリング時に実行される、SQL問合せを入力する必要があります。そのSQL問合せを作成するには、「Create Dynamic List of Values」リンクをクリックします。

    このイメージの説明
  7. 「Create Dynamic List of Values」ダイアログ・ウィンドウが表示されます。「Table or View」で「List of Values」アイコンをクリックします。

    このイメージの説明
  8. 「OBE_EMPLOYEES」を選択します。

    このイメージの説明
  9. 「Next >」をクリックします。

    このイメージの説明
  10. 動的な値リスト内の「Display column」は、ユーザーに表示される列です。「Return column」は、データベースに格納される、対応する値です。適切な場合は、両方を同じ値にできます。
    「Display Column」で「FIRST_NAME (Varchar2)」を、「Return Value」で「EMPLOYEE_ID (Number)」を選択し、「Next >」をクリックします。

    このイメージの説明
  11. SQL問合せが作成されます。「Finish」をクリックします。

    このイメージの説明
  12. 名の後に姓を続けて、従業員名を表示する必要があります。次に示すようにSQL問合せを変更し、「Create List of Values」をクリックします。
    select FIRST_NAME || ',' || LAST_NAME as ,
    EMPLOYEE_ID as return_value
    from OBE_EMPLOYEES
    order by 1

    このイメージの説明
  13. LOVが作成されますが、「Page Shared Components」タブ内の「Lists of Values」の下には表示されません。これは、新しく作成したLOVをこのページに関連付けていないためです。それをこのページに関連付ける前に、さらに2つの静的LOVを作成する必要があります。「Lists of Values」を右クリックし、「Create...」をクリックします。

    このイメージの説明
  14. 「Next >」をクリックします。

    このイメージの説明
  15. 「Name」にSTATUSESと入力し、「Type」で「Static」を選択し、「Next >」をクリックします。

    このイメージの説明
  16. 静的値のために次のエントリを入力し、「Create List of Values」をクリックします。

    「Display Value」 「Return Value」
    Closed
    closed
    Open
    open
    On Hold
    on-hold
    このイメージの説明
  17. 別の静的LOVを作成するために、「Lists of Values」を右クリックし、「Create...」をクリックします。

    このイメージの説明
  18. 「Next >」をクリックします。

    このイメージの説明
  19. 「Name」にPRIORITIESと入力し、「Type」で「Static」を選択し、「Next >」をクリックします。

    このイメージの説明
  20. 静的値のために次のエントリを入力し、「Create List of Values」をクリックします。

    「Display Value」 「Return Value」
    High
    1
    Medium
    2
    Low 3
    このイメージの説明
  21. 次は、LOVとページを関連付けることができます。「Rendering」タブ内の「Obe Tasks」の下の「Columns」を展開します。

    このイメージの説明
  22. 「Rendering」タブ内の「columns」の下の「ASSIGNED_TO」を選択します。

    このイメージの説明
  23. 「Identification」の下の「Type」で「Select List」を選択します。「List of Values」の下の「Type」で「Shared Component」を、「List of Values」で「EMPLOYEES」を選択します。

    このイメージの説明
  24. 「Rendering」タブ内の「columns」の下の「STATUS」を選択します。

    このイメージの説明
  25. 「Identification」の下の「Type」で「Radio Group」を選択します。「List of Values」の下の「Type」で「Shared Component」を、「List of Values」で「STATUSES」を選択します。

    このイメージの説明
  26. それら2つのLOVが「Page Shared Components」タブ内の「Lists of Values」の下にリストされることに注目してください。「Save and Run Page」アイコンをクリックします。

    このイメージの説明
  27. 「Assigned To」のドロップダウン・リストを選択します。動的LOVでEmployeesのリストが実行され表示されることがわかります。また、静的LOVの値を含む、Statusのラジオ・グループが作成されています。

    このイメージの説明
  28. 次は、PRIORITIES LOVをページのマスター領域内のPriorityアイテムに割り当てる必要があります。開発者ツールバーで「Edit Page<n>」リンクをクリックします。

    このイメージの説明
  29. 「Rendering」タブで、「Edit OBE_PROJECTS」領域内の「Columns」の下の「P3_PROJECT_PRIORITY」を選択します。

    このイメージの説明
  30. 「Identification」の下の「Type」で「Radio Group」を選択します。「List of Values」の下のプロパティで次の値を選択し、「Save and Run Page」アイコンをクリックします。

    プロパティ
    Type Shared Component
    List of Values PRIORITIES
    Display Extra Values No
    Null Display Value None
    このイメージの説明
  31. これで「Priority」フィールドが、静的LOVの値が移入されているラジオ・グループとなります。開発者ツールバーで「Edit Page<n>」リンクをクリックします。

    このイメージの説明

アイテム検証の追加

ユーザーが本日より前の日付を入力できないようにする必要があります。このタイプのチェックは、アイテム検証によって実行できます。次の手順を実行します。

  1. 「Processing」タブをクリックします。

    このイメージの説明
  2. 「Validations」を右クリックし、「Create Validation」を選択します。

    このイメージの説明
  3. 「Rendering」タブで新しい検証を選択し、プロパティ・エディタで次のようにプロパティを更新します。

    プロパティ・グループ プロパティ
    Identification Name P3_PROJECT_DEADLINE greater than today
    Validation Type SQL Expression
    Validation SQL Expression TO_DATE(:P3_PROJECT_DEADLINE,'DD-MM-YYYY') >= SYSDATE
    Validation Always Execute No
    このイメージの説明
  4. 「Error」の下で、「Error Message」にDate needs to be greater than today! と入力し、「Display Location」で「Inline with Field and in Notification」を、「Associated Item」で「P3_PROJECT_DEADLINE」を選択します。「Save and Run Page」アイコンをクリックします。

    このイメージの説明
  5. 「Project Deadline」を本日より前の日付に変更し、「Save」をクリックします。

    このイメージの説明
  6. アイテム(またはフィールド)エラー・メッセージ、およびページ通知メッセージを受信することに注目してください。これは、検証作成時に両方が送られるよう指定してあるためです。

    このイメージの説明
  7. 開発者ツールバーで「Application<n>」リンクをクリックします。

    このイメージの説明

まとめ

このチュートリアルでは、次の操作方法を学びました。

  • データベース・アプリケーションの作成
  • アプリケーション・オブジェクトの編集
  • 値リスト(LOV)の作成
  • 検証の作成およびテスト

詳細

クレジット

  • カリキュラム開発者: Richard Green

  • その他の原本協力者: Anjani PothulaDrue Swadener