Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Oracle CloudのAPEXを使って簡単なアプリ開発してみた

Oracle CloudのAPEXを使って簡単なアプリ開発してみた

Masato.Ohashi

April 15, 2020
Tweet

Other Decks in Technology

Transcript

  1. 2020/04/15 Masato.Ohashi [email protected] Oracle Corporation Japan @maato Oracle CloudのAlways Freeの

    Oracle Autonomous DBに含まれる APEXを使って簡単なアプリを作ってみた
  2. 1. Oracle Always Free環境を入手する 2. Oracle Autonomous Datawarehouseを起動する 3. APEX

    セットアップ(Work Spaceの作成) 4. APEXを使ってアプリケーションを作成する 手順 4 Copyright © 2020 Oracle and/or its affiliates
  3. 1. Oracle Always Free環境を入手する Qiita「 Oracle Cloud Free Tierにアカウントを登録してみる(2020年1月版)」 https://qiita.com/hrkt/items/223b02461bed5cee9d19

    2. Oracle Autonomous Datawarehouseを起動する Autonomous Database(ADB,ADW,ATP)の作成とSQL Developerからの接続 https://qiita.com/ts_carp/items/a22bdd565bdf5c6e4ea8 Autonomous Databaseの作成手順(Always Freeデータベース作成方法) https://www.hitoriit.com/entry/2019/10/22/080000 3. APEX セットアップ(Work Spaceの作成) スマートスタイル社ブログ「 Oracle APEXを触ってみた」参照 https://www.s-style.co.jp/blog/2019/11/5334/ 4. APEXを使ってアプリケーションを作成する 本ドキュメント 手順と参考資料 5 Copyright © 2020 Oracle and/or its affiliates
  4. 1. APEXサイト https://apex.oracle.com/ja/ 2. APEXユーザードキュメント https://docs.oracle.com/cd/F23071_01/buildapplications.html 3. 「Oracle APEX勉強会 -

    認証と認可の実装を学ぶ」 https://speakerdeck.com/ujnak/oracle-apexmian-qiang-hui-ren-zheng-toren-ke-falseshi-zhuang- woxue-bu 特に参照した情報 チャートの作成 https://docs.oracle.com/cd/F23071_01/htmdb/creating-charts.html LOVの作成 https://docs.oracle.com/en/database/oracle/application-express/19.2/htmdb/creating-lists-of-values-at-the-application-level.html アプリケーション名登録 https://docs.oracle.com/en/database/oracle/application-express/19.2/htmdb/understanding-url-syntax.html#GUID-F9B81EAF- D33F-401D-8349-3952DEDA5460 APEX参考資料 6 Copyright © 2020 Oracle and/or its affiliates
  5. • USERS表:ユーザー名とパスワード • WEIGHT表:測定日、体重、メモ等 まず机上で考えてみる(最初は最小から) テーブルの定義 USERS カラム名 型 例

    USER_ID NUMBER 10 NAME VARCHAR2(20) のびた PASSWORD VARCHAR2(20) XXX WEIGHT カラム名 型 例 USER_ID NUMBER 10 MEASURED_DATE DATE 10 WEIGHT NUMBER 2020/4/12 FEELING VARCHAR2(20) Good MEMO VARCHAR2(4000) Good 8 Copyright © 2020 Oracle and/or its affiliates
  6. 該当アプリケーション>Weight>「作成」のページ アプリの変更3)Weight入力画面の変更 • やりたいこと • 表示を日本語にしたい • 名前、日付、体重を必須にしたい • Feeling(気分)を選択式にしたい

    デフォルトで、登録したユーザーのプルダ ウン形式になっています(便利!) 「気分」も選択式にしたい 21 Copyright © 2020 Oracle and/or its affiliates
  7. 29 Copyright © 2020 Oracle and/or its affiliates 該当アプリケーション>1-ホーム アプリの変更4)ホーム画面へのグラフ表示:確認

    • 表示はできたのですが、思ったグラフの表示とは違うので、修正していきます
  8. 30 Copyright © 2020 Oracle and/or its affiliates • 表示するSQLを作成します(今回はユーザーの名称と値

    を表示するため、2つの表をJOINします) • 表示する、シリーズ名、ラベル、値を設定します アプリケーションビルダー>該当アプリケーション>1−ホーム アプリの変更4)ホーム画面へのグラフ表示 select u.name, w.measured_date, w.weight from weight w join users u on w.user_id =u.id
  9. 32 Copyright © 2020 Oracle and/or its affiliates 該当アプリケーション アプリの変更5)ログイン画面でのユーザー/パスワード認証

    • やりたいこと • USER表のユーザー名とパスワード で、認証できるようにしたい
  10. 33 Copyright © 2020 Oracle and/or its affiliates 該当アプリケーション>共有コンポーネント>認証スキーム>作成 アプリの変更5)ログイン画面でのユーザー/パスワード認証

    • 認証スキームを作成します function my_authentication ( p_username in varchar2, p_password in varchar2 ) return boolean is l_user users.name%type := upper(p_username); l_pwd users.password%type := p_password; l_id users.id%type; begin select id,password into l_id, l_pwd from users where upper(name) = upper(l_user) and password = l_pwd; return true; exception when NO_DATA_FOUND then return false; end;