はじめに…
Glideは「ノーコード」と言えども、データベースの知識が無いともったいない!!
ということでGlideでデータベースの使い方をまとめてみました。
目次
-
サンプルアプリの説明
-
Step1 テーブルを作ろう
- テーブルごとの役割
- 列の役割と型
-
Step2 データとレイアウトを繋げよう
- どこにどのデータがあるのか
- 複雑なデータの動き
-
Step3 テーブル同士を繋げよう
- 「繋げる」のイメージ
- なぜ繋げるのか
1. サンプルアプリの説明
-
サンプルアプリ:https://planetdb.glide.page
-
アプリの概要:太陽系の星の解説
Step1 テーブルを作ろう
1. どこにどのデータがあるのか
- Planetsテーブル:星それぞれに関するテーブル
- Categoriesテーブル:星の種類に関するテーブル
2. 列の役割と型
Planetsテーブル
列名 | 型 | 説明 |
---|---|---|
planet_name | Text | 星の名前 |
planet_english_name | Text | 星の英名 |
planet_image_illustration | Image | 星のイラスト |
planet_image_photo | Image | 星の写真 |
planet_category | Text | 星の種類 |
planet_distance | Number | 太陽からの距離(単位なし) |
planet_distance_txt | Template | 太陽からの距離(単位あり) |
planet_weight | Number | 重さ(単位なし) |
planet_weight_txt | Template | 重さ(単位あり) |
planet_temperature | Number | 表面温度(単位なし) |
planet_temperature_txt | Template | 表面温度(単位あり) |
planet_size | Number | 直径(単位なし) |
planet_size_txt | Template | 直径(単位あり) |
categories_relation | Relation | Categoriesテーブルと繋げる |
click_num | Number | クリック回数 |
tf_num | Math | クリック回数が偶数回か奇数回か |
now_image | If→Then→Else | クリック回数が偶数回ならイラスト、奇数回なら写真 |
Categoriesテーブル
列名 | 型 | 説明 |
---|---|---|
categories_name | Text | 種類の名前 |
planet_english_name | Text | 種類の英名 |
category_explanation | Text | 種類の説明 |
planet_relation | Relation | Planetsテーブルと繋げる |
Step2 データとレイアウトを繋げよう
1. どこにどのデータがあるのか
-
トップページ
それぞれの星のカードには日本語(planet_name
)と英語(planet_english_name
)の星の名前とイラスト(planet_image_illustration
)の画像が表示される。
2. 複雑なデータの動き
クリック数に応じて画像を動的に変更する ~偶数回の時はイラスト、奇数回の時は写真を表示する~
やり方
- クリック数をカウントする
- クリック数が偶数か奇数かを見る
- 画像を分岐させる
- 画像を表示する
1. クリック数をカウントする
「画像を変更」ボタンの設定
ボタンを押すと今表示中の行のclick_num
に1加算する。
2. クリック数が偶数か奇数かを見る
tf_num
列の設定
※click=click_num
とする
mod(click,2) → clickを2で割った余りをtf_num
に入れる。
= clickが偶数の時0、奇数の時1を入れる。
3. イラストを分岐させる
now_image
列の設定
tf_num
が0の時(=click_numが偶数の時) → planet_image_illustration
(イラスト)を入れる。
tf_num
が1の時(=click_numが奇数の時) → planet_image_photo
(写真)を入れる。
4. 画像を表示する
Step3 テーブル同士を繋げよう
1. 「繋げる」のイメージ
一言で言うと…一括管理
情報の中で一括管理したほうが良い時は別のテーブルに分けてそれ同士を繋げたほうが良い
2. なぜ繋げるのか
サンプルアプリの例
例)やりたいこと:星の種類の説明を編集したい
-
PlanetsテーブルとCategoriesテーブルを分けていない場合
Planetsテーブル(category_explanation
に誤字)planet_name planet_category category_explanation 太陽 恒星 自ら光を発している星 水星 地球型惑星 "恒星の周りをまわっている星 密度が大きい惑星" 金星 地球型惑星 "公正の周りをまわっている星 密度が大きい惑星" 木星 地球型惑星 "構成の周りをまわっている星 密度が大きい惑星" 金星 地球型惑星 "後世の周りをまわっている星 密度が大きい惑星" … … … -
category_explanation
の誤字を探す - 1つずつ誤字を直す
-
→ 誤字を直すのに手間がかかる&また間違える可能性が大きい
-
PlanetsテーブルとCategoriesテーブルを分けている場合
Planetsテーブルplanet_name planet_category category_explanation(Categoriesテーブルの category_explanation
を参照)太陽 恒星 自ら光を発している星 水星 地球型惑星 "公正の周りをまわっている星 密度が大きい惑星" 金星 地球型惑星 "公正の周りをまわっている星 密度が大きい惑星" 木星 地球型惑星 "公正の周りをまわっている星 密度が大きい惑星" 金星 地球型惑星 "公正の周りをまわっている星 密度が大きい惑星" … … … Categoriesテーブル(
category_explanation
に誤字)category_name category_explanation 恒星 自ら光を発している星 地球型惑星 "公正の周りをまわっている星 密度が大きい惑星" … … - Categoriesテーブルの
category_explanation
の誤字を探す - 1列のみ誤字を直す
- Categoriesテーブルの
→ 直す量が少ない&また間違える可能性が少ない
これが(リレーショナル)データベースの良い所!
※「繋げる」ことができるデータベースを特にリレーショナルデータベースと言う。
終わりに…
【結論】これが無料でできるGlideはすごすぎる。