Daily-Wine-Diary

アプリ開発中心

MENU

【Firebase】 Realtime Database 実装時に詰まった箇所(DB設計編)

概要


Androidアプリ ツケ台帳 を作る際にFirebase realtimedatabaseを初めてさわったのですが、
特に詰まった部分を、備忘録かねて初心者的な目線でメモしてみます(DB設計編)

アプリの解説、過去の投稿は→こちら
Google Play で手に入れよう

スクリプト編もあります→スクリプト編



詰まりポイントと解決方法


key名の付け方
末端のkey名は小文字にする必要があるようです。
大文字でもDB設計できてしまいますが、スクリプト内で setValue(key)する際にkeyの文字列が全て小文字として認識されるようです。



keyとvalue
DBからデータを読み出す場合は末端のデータを抜き出す場合以外、基本的にkeyで検索するのでデータ作成時のkeyのつけ方は重要です。
私は以下のように場合分けして実施していました。

・データの順番が重要な場合(例:掲示板への投稿メッセージのようなデータなどで、投稿順で並べ替えて表示したい場合)
push()でkeyを自動生成する。
 時系列になるように生成してくれるので管理が楽です。

・データの順番が重要でない場合(例:グループに所属するユーザのデータなどで、特にユーザ間に優劣がない場合)
:key = valueとする。
 検索の際、valueの値でもkeyの値でも検索できるので楽。



以上です。