リレーションとは
リレーションは、別のデータベースのページを値として持つデータベースプロパティです。テキスト列に言葉を入れるのに対し、リレーション列にはページと直接つながるリンクを入れます。各タスクは所属するプロジェクトを、各議事録は対象となる顧客を指します。Notion公式の代表的な例は「顧客 ↔ 購入商品」です。1つのリレーションを両側から参照できます。
グラフの考え方で捉えると、ページはノードであり、追加するリレーションはそれぞれ、2つのノード間に種類のあるエッジを定義します。この捉え方は、後の説明で役立ちます。@メンションで自由に作られるエッジであるバックリンクとは異なり、リレーションは意図的に設定され、構造を持ち、データベースのスキーマに組み込まれています。
リレーションを作成する手順
- データベースに新しいプロパティを追加し、種類としてリレーションを選びます。
- 関連付けるデータベースを選びます(例:タスクデータベースで、プロジェクトデータベースを選択します)。
- 確定すると、新しい列のセルから、関連先のデータベースのページを選べるようになります。
- 必要に応じて、各項目で選べるページを1ページに制限します(注文 ↔ 領収書のように、厳密な1対1のリンクに最適です)。初期設定では制限はありません。
双方向にする
リレーションは初期設定では一方向です。タスク側では所属するプロジェクトを確認できますが、プロジェクト側にはタスクの一覧が表示されません。リレーションの作成時に「[関連先のデータベース]に表示」をオンにし、相手側に作成するプロパティに名前を付けます。これで編集内容が双方向に同期され、両方のデータベースに関連付けが表示されます。
同じデータベース内で関連付ける
データベースは自分自身とも関連付けられます。代表的な用途は、階層構造(タスクデータベース内の「親タスク」リレーション)とネットワーク(ノートデータベース内の「関連ノート」リレーション)です。平面的なノートの表が、自然と知識のネットワークに変わるのは、まさにこの自己参照リレーションによるものです。
ロールアップ:リレーションを通じてデータを読み取る
ロールアップは、関連するページの値を集計するプロパティです。設定では3つの項目を選びます。どのリレーションをたどるか、関連するページのどのプロパティを読み取るか、そしてどのように計算するかです(元の値を表示、カウント、合計、平均、完了率、最も早い日付など)。
| 確認したいこと | リレーション | ロールアップの設定 |
|---|---|---|
| プロジェクトごとの未完了タスク数 | プロジェクト ↔ タスク | ステータス → グループごとにカウント |
| 顧客の累計購入額 | 顧客 ↔ 注文 | 金額 → 合計 |
| プロジェクトの進捗バー | プロジェクト ↔ タスク | 完了(チェックボックス) → チェック済みの割合 |
必ず押さえておきたい制約があります。ロールアップをさらにロールアップすることはできません。Notionは循環参照を防ぐため、これを禁止しています。集計でたどれるリレーションは1段階だけです。2段階先のデータが必要なら、直接のリレーションを追加するか、構造を見直します。
リレーションの限界
- 見えるのはセルであって、構造ではありません。リレーション列は、リンクを1行ずつ表示します。関連する3つのデータベースを眺めても、ネットワーク全体の形を把握することは誰にもできません。
- 関連付けの点検は手作業です。ノートがないプロジェクトはどれでしょうか。どこにもつながっていないノートはどれでしょうか。ロールアップでは行ごとに数を集計できますが、つながりの状態をワークスペース全体で確認するビューはありません。
- 複雑さが見えません。使い込まれたワークスペースには何十ものリレーションが蓄積されます。頭の中のモデルとスキーマ上のモデルは、気付かないうちにずれていきます。
リレーションはエッジ — その形で可視化する
リレーションが表すものは、すべてグラフのデータです。ページがノード、リレーション(およびバックリンク、メンション、サブページの入れ子構造)がエッジに当たります。IVGraphは公式APIを通じてワークスペースを読み取り、その構造を操作できる3Dグラフとして描画します。セカンドブレインにある「プロジェクト ↔ タスク ↔ ノート」の三角形は、抽象的な概念ではなく目に見える形になります。つながりの中心、まとまり、どこにもつながっていない残りのページも一目でわかります。これは、リレーションを活用するNotionワークスペースに欠けていた「スキーマビュー」です。Notionにグラフビューはありますか?で説明したとおり、標準機能にはこれを実現するものがありません。

よくある質問
リレーションとロールアップを、それぞれ1文で説明すると?
リレーションはデータベース間のつながりです。ロールアップは、そのつながりを通じてデータを読み取る計算です。リレーションがなければ、ロールアップも使えません。
既存のリレーションを双方向にするには?
リレーションプロパティの設定を開き、「[関連先のデータベース]に表示」を有効にします。相手側にも対応するプロパティが表示され、同期が維持されます。
ロールアップで2段階先のデータを参照できますか?
いいえ。参照できるのは1段階先までで、ロールアップのロールアップは禁止されています。複数段階先のデータが必要な場合は、直接のリレーションを追加してください。
データベース間のリレーションを可視化するには?
ワークスペースをIVGraphに接続すると、すべてのリレーションが3Dグラフのエッジとして描画されます。500ノードまでは無料です。