Перейти к содержимому

Отношения (relations) между базами данных

В этом уроке вы узнаете, как связывать между собой данные из разных БД (в конце есть видео)

В Notion можно настроить обмен данными между разными БД

Один из самых простых примеров: если в одной БД у вас проекты, а в другой — задачи под эти проекты. Можно указать, какие задачи относятся к каким проектам, и наоборот.

Для этого используется особый тип данных: Relation:

Чтобы создать такое поле, необходима вторая БД, для связи. Её нужно указать при создании отношения. Просто начните печатать название вашей БД:

Чтобы выбрать элементы из отношения, просто кликните в ячейку и выберите элементы, нажимая +:

Если список большой, начните печатать часть названия — выбор сократится. Если такого пункта еще нет, не беда — его можно создать прямо в этом меню.

Для чего нужны отношения?

  • Они создают связи. Например, вы сможете знать, какие задания составляют ваш проект
  • Они расширяют ваши свойства Multi-select. Теперь такие метки вы можете создавать как значения в другой базе данных, а не как набор фиксированных тегов
  • Они помогают настраивать виды БД. Например, если вы публикуете материалы по вашим проектам, то можете легко отфильтровать публикации по любому из них
  • Они позволяют агрегировать и численно обрабатывать информацию из разных БД. Для это надо использовать свойство Rollup, о котором будем говорить в следующем уроке
  • Они позволяют отслеживать общий прогресс по проекту. Достаточно просто отмечать галочками выполненные задачи, и в проекте тут же будет отображаться прогресс

Связь работает в обе стороны. Когда вы создаете свойство типа Relation в одной БД и указываете вторую, в ней так же создается новое свойство. И в нем отмечаются те самые элементы из первой БД

Пример: проект указывает, какие к нему относятся задачи, а задачи указывают, к какому проекту относятся.

Отношение БД с самой собой. Вы можете через отношение связать БД со своими же элементами. Для чего? Это может использоваться для планирования, например:

  • Какие задачи можно делать одновременно
  • Какие задачи являются подзадачами более объемной задачи
  • Какая задача должна быть следующей или была предыдущей

При выборе БД в качестве самой себя возникает такой выбор:

Create a new property. Есть синхронизация. Будет создано еще одно свойство (обратная связь). Если в первом свойстве Задачи 1 указать Задачу 2 (например, это будет следующая задача), то во втором свойстве Задачи 2 будет отмечена Задача 1

Use the same property. Синхронизация отсутствует. Новое поле создано не будет. По текущей записи мы сможет только видеть, к каким другим записям она имеет отношение. Но не сможем знать, какие записи относятся к ней. Например, можно указать, какие задачи можно делать одновременно

Видео-туториал:

🛠 Перейдите на страницу упражнений. Свяжите между собой 3 таблицы и потом создайте связанную базу данных с фильтром.

Следующий урок → Роллапы (rollups)
Предыдущий урок → Формулы
К разделу → Базы данных (продвинутые темы) и шаблоны
К курсу → Курс по Notion
Мои курсы выходят в открытый доступ!