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

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

Sponsored · Ship Features Fearlessly Turn features on and off without deploys. Used by thousands of Ruby developers.

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

Avatar for Masato.Ohashi

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;