App Makerでデータベースを作成する「モデル」への最初の一歩


data-tape

photo credit: Christiaan Colen Hard disk drive via photopin (license)

みなさん、こんにちは!
タカハシ(@ntakahashi0505)です。

初心者向けにApp Makerのチュートリアルをお送りしています。

前回はこちら。

App Makerでウィジェットの文字列を変更するスクリプトを解説します
初心者向けApp Makerの使い方チュートリアルをお送りしています。App Makerのウィジェットの文字列を変更するスクリプトについて詳しく解説します。ウィジェットを変数に格納、if文による分岐などを使います。

ウィジェットの文字列を変更する簡単なスクリプトについて解説をしました。

これまでは、ページとそこに配置するウィジェットのみを使用したアプリだったのですが、今回からデータベースを活用した別のアプリを作成するチュートリアルになります。

App Maker公式ドキュメントの「Tutorial 2: Work with Data」の内容ですね。

まずはじめはApp Makerでデータベース(モデルといいます)を作成する簡単な手順です。

では、行ってみましょう!

後日注記

2018年4月から本記事で紹介している「Google Data Tables」は、残念なことに使用できなくなりました。

現在は、「Google Cloud SQL」の使用が推奨されています。

Models Overview  |  App Maker  |  Google Developers

インスタンスの立ち上げが必要、かつ使用料も発生しますので、色々と導入のハードルが高くなってしまいました…。

Cloud SQL - MySQL および PostgreSQL リレーショナル データベース サービス  |  Google Cloud
Google Cloud SQL は、MySQL データベースや PostgreSQL データベースの設定、管理を簡単に行うことができる、フルマネージド データベース サービスです。

「Google Data Tables」または、導入のし易いデータモデルの追加を切に願います。

目標とするアプリについて

今回から何回かに分けて「従業員データベース」というアプリを作ります。

ページ上のフォームで従業員のデータを入力したり、編集したりでき、その結果がテーブル表示もされるといったものです。

テーブルとしては、以下のようなイメージです。

名前 Emailアドレス 入社日 アクティブ
Bob bob@example.com 2017-12-16 true
Tom tom@example.com 2018-01-01 false
Ivy ivy@example.com 2017-11-28 true

新規アプリを作成してリネームする

まず、App Makerの新規アプリを作成して、そのアプリ名を「従業員データベース」にします。

App Makerでアプリ名をリネームする

Google Drive Tablesタイプのモデル作成する

App Makerではデータベースを作成する場合は、「モデル」というものを作ります。

左側の「DATA」の「+」アイコンをクリックします。

App Makerでモデルを作成する

すると「Create Model」というダイアログが開きます。

Google Drive Tableと、Calculatedがラジオボンタンで選択できるようになっています。また、下側に小さいのですが「Connect an external database」をクリックすると、他の選択肢が選べるようになります。

今回は、一番手軽に利用できるGoogle Drive Tablesを使用しますのでそれを選択して「NEXT」です。

App Makerのモデル作成でGoogle Drive Tableを選択する

App Makerのモデルには計5種類のタイプがありますが、「Google Drive Tables」以外は現時点ではちょっと難しいかも知れませんので、「そんなのもあるんだ~」くらいの認識でよいかと思います。

  • Google Drive Tables – Googleドライブにデータを保存するモデル。一番簡単だが、容量250MGかつ単一アプリの利用という制限あり。
  • Calculated – App Makerサーバーで他のモデルからのデータを計算、再構成する(クエリ)際に使用するモデル。
  • Google Cloud SQL – 外部のGoogle Cloud SQLデータベースにアクセスするモデル。
  • Calculated SQL – Google Cloud SQLデータベースに対して実行されるクエリ。
  • Directory – 組織のディレクトリ(電子メールアドレスや電話番号など)から情報を取得するモデル。

モデル名を入力

続く「Create Drive Tables Model」ダイアログでは、「Model name」に作成するモデル名を入力します。ここは日本語NGなので、アルファベットで入力します。

今回は「EmployeeData」として「CREATE」とします。

App Makerでモデル名を入力する

これで、モデル「EmployeeData」が作成できました。

モデルとフィールド

ただこの段階では、何にもない空っぽの状態(スプレッドシートでいえばまっさらのシート)ですので、続いて「見出し」にあたるフィールドを追加していく必要があります。

つまり、今回の例では名前、Emailアドレス、入社日、アクティブがフィールドです。

スプレッドシートでいうと列に値するのがフィールドですね。

また、実際のデータはスプレッドシートでいう横方向、つまり行単位で追加や管理をするカタチになり、それをレコードといいます。

フィールドを追加する

まず、「名前」フィールドを追加していきましょう。

DATAのEmployeeDataをクリックして、上部のタブで「FIELDS」が選択されている状態ですと「ADD FILED」というボタンがあるはずです。

それを押すと、プルダウンが表示されますので「String」を選びます。

App Makerでモデルにフィールドを追加する

この「String」や「Number」はフィールドが持つデータ型

  • String:文字列
  • Number:数値
  • Boolean:真偽値(true または false)
  • Date:日付

の4種類があります。名前は文字列ですから、Stringを選択します。

フィールド名と表示名

続く画面で追加したフィールド名Name表示名Display Nameを入力します。

Nameは内部的に使用するもので日本語はNGですので、アルファベットで入力します。Display Nameはその名の通り表示名ですので、日本語OKです。

今回はそれぞれ「Name」「名前」とします。

App Makerでフィールド名と表示名を入力する

残りのフィールドを追加する

以下、同様に「ADD FILED」ボタンを押して、最終的に4つのフィールドを作成します。

Type Name Display Name
String Name 名前
String Email Emailアドレス
Date HireDate 入社日
Boolean Active アクティブ

これでモデルの作成は完了です。

まとめ

以上、App MakerでGoogle Drive Tableタイプのモデルの作り方を解説しました。

App Makerでいうモデルとは何か、またフィールドの追加の方法などを確認できたと思います。

まだこの段階では「箱」ができただけで、何の操作もできません。

実際に操作をするには、モデルのデータを入力・編集・表示するフォームやテーブルなどのウィジェットを配置して、それとモデルを連携させるとう手順が必要です。

次回以降、モデルと連携したウィジェットの配置についてお伝えしていきます。

App Makerでアプリに簡単なフォームとテーブルを設置する
初心者向けApp Makerチュートリアルをお送りしています。今回は、App Makerでモデルと連携したフォームとテーブルのウィジェットの設置の方法、またそれらのUIや動作についてお伝えします。

どうぞお楽しみに!

連載目次:はじめてのモデル~AppMaker初心者向けチュートリアル~

初心者向けチュートリアルの第2弾。このシリーズではApp Makerで「モデル」を作成してデータベースと連携したフォームやテーブルの設置の仕方について体験をします。
  1. App Makerでデータベースを作成する「モデル」への最初の一歩
  2. App Makerでアプリに簡単なフォームとテーブルを設置する
  3. App Makerのウィジェットにデフォルトで仕込まれているバインディングとアクションが超ありがたい

  投稿者プロフィール

タカハシノリアキ株式会社プランノーツ 代表取締役
株式会社プランノーツ代表、コミュニティ「ノンプロ研」主宰。1976年こどもの日生まれ。東京板橋区在住。「ITで日本の『働く』の価値を上げる!」をテーマに、VBA&GASの開発、講師、執筆などをしております。→詳しいプロフィールはコチラ
★ご依頼・ご相談はお気軽にどうぞ!→お問い合わせはコチラ
★フォロー頂ければ嬉しいです。

コメント

  1. howdy39 より:

    > Calculated – App Makerサーバーで他のモデルからのデータを計算、再構成する(クエリ)際に使用するモデル。

    間違ってはいないのですが、Calculated モデルの最大の特徴は「任意のデータ」を返せるというところがポイントですね。
    そのため、他のモデルからデータを計算、再構成しても良いですし、SpreadsheetApp を使ってスプレッドシートからデータを取得してもよいのです。

    「スプレッドシートを読み込んで一覧表示したい」なんかは、よくあるパターンだと思います。

    • howdy39さん

      いつもありがとうございます!
      そして、ありがたいアドバイスありがとうございます。

      ぜひ、Calculatedモデルも研究して記事化したいです…!
      今後ともご指導よろしくお願いいたします。

      • howdy39 より:

        いえいえ。

        タカハシさんの記事はとてもわかりやすくて良いです。
        App Maker 入門者には「このサイトを見るといいよ!」と案内していきます笑

  2. muksye より:

    Google Drive Tablesが終了しています。

    タカハシさんのドキュメントはすごくわかりやすいので、記事の修正をお願いします。

    • muksyeさん

      ご指摘ありがとうございます!
      おっしゃる通り、このままでは不親切でしたね…助かります。

      本記事含めて、いくつかの記事について注記を追加させていただきました。

      今後とも、弊ブログをどうぞよろしくお願いいたします。