6-11. データベースを使いこなす
データベースの初歩的な部分は以前の章、データベース機能でご紹介させていただきました。
今回はさらにデータベースを使いこなすための内容を記載します。
関数のようなFomula(フォーミュラ)、他DBとの連携が可能なRelation(リレーション)とRollup(ロールアップ)を中心に見ていきます。
この機能をメンバー全員で理解して、活用できたときに1つのアプリケーションとして利用できるでしょう。
しかし学習コストと情報設計が必要な点に注意が必要です。
▼データベースの基本機能については👇
データベース機能
▼データベースを使用したテンプレートは👇
【初心者から上級者へ】すぐ使えるNotionテンプレート11選!
Fomula(フォーミュラ)
Excelで言うところ関数です。しかしそこまで複雑な処理はしづらいですが、下記の様なことを実現可能です。
これらのデータはFilterでも利用できるので、進捗状況ベースの表示や、曜日ごとの表示分けなどが利用可能です。
詳細は 関数機能 | Formula をご確認ください。
- プログレスバー表示
- 曜日の自動表示
- 他プロパティに応じた自動更新
- 大文字、小文字変換
- 期限までの残り日数
Relation(リレーション)
他テーブルとの関連づけです。外部キーと考えるとわかりやすいです。他テーブルとリレーションを張ることで他テーブルのデータと紐付けることが可能です。
タスク管理やプロジェクト管理で考えてみましょう。
プロジェクトという単位で管理すべき項目とプロジェクト内のタスクという子関係をもつデータを管理したいとします。そのとき、一つのテーブルで管理する場合には、タスクを行としてSelectプロパティ等でプロジェクトA
,B
のように管理していきます。
この方法で管理するという目的は達成できますが、タスクではなくプロジェクトのみを俯瞰して確認することが出来ません。 マネージャーはタスクの詳細を追う必要はなくプロジェクトをベースとして複数プロジェクトの進捗を俯瞰する際になどに不便です。
そういったときには、プロジェクトのテーブルと、タスクのテーブルを別で用意します。 タスクのデータベースから親となるプロジェクトを指定するようにリレーションを張ることで、目的を達成できるデータ構造を表現可能です。
タスクごとに持つべきデータ(プロパティ)やプロジェクトごとに持つべきデータは大きく変わる可能性があります。タスクでは期限のみ、プロジェクトでは全体のスケジュール等です。
このような階層を続けていくことで下記のような構造体を表現可能です。プロジェクト管理手法にあわせた好きな構造体を作成しチームに適用可能です。
- タスク < プロジェクト
- タスク < マイルストーン < プロジェクト
- バックログ < スプリント < リリースナンバー
それぞれ作成したページは ビューをインラインに置き換える の技を利用して独自のダッシュボードを作成すれば、お手製のプロジェクト管理ツールの完成です。
Rollup(ロールアップ)
Excelでいうところの、Vlookupです。リレーションを適用後に利用可能になります。リレーションで他DBの行とリレーションを張ることで、紐付いた行の別プロパティを引用することが出来ます。
基本的には、前項で説明したリレーションが前提となります。前項の記載事項を引用すると、タスクDBから、プロジェクトDBのプロパティをタスクDBに表示が可能になります。 また、逆となるプロジェクトDB側からタスクDBのプロパティも表示可能です。
このロールアップが優秀な点は、元のデータに応じて関数のような物が利用可能です。タスクの進捗をパーセントで表示しておけば、プロジェクト全体の進捗が平均値で自動で再計算するようにすることも可能です。
Created Time / Created by(作成時間/作成者)
自動で作成時間、作成者が表示されます。表示が少しビジーな時はリスト表示にすることで、アイコンのみとなります。
Last Edited Time / Last Edited By(最終更新日/最終更新者)
自動で最終時間、最終更新者が更新されます。