Иногда бывает необходимость сделать соединение данных между двумя таблицами. В приложении Notion есть для этих целей специальное свойство «relation». Оно существует для создания отношений между элементами в различных базах данных ?.
- Что такое отношение базы данных?
- Примеры использования
- Создание отношения
- Просмотр и удаление связанных страниц
- Связать базу данных с самой собой
- Без синхронизации
- Синхронизация в обоих направлениях
- Свертки
- Типы сворачивания
- Эти расчеты сворачивания доступны только для свойства Date (Дата):
- Агрегированные сворачивания
- Часто задаваемые вопросы
- Можно ли экспортировать или импортировать отношения?
- Могу ли я дублировать базу данных с отношением?
- Могу ли я свернуть свернутую базу данных?
Что такое отношение базы данных?
Допустим, что у вас имеется две базы данных для возможного бизнеса ?
Одна из них будет отслеживать клиентов.
А другая существует, для контроля приобретённых товаров.
И вам потребовалось узнать, какой клиент купил какой товар. А также вам требуется выяснить, какой товар был куплен каким клиентом. Такая задача как раз для отношений!
- Приведенные выше таблицы имеют столбцы с надписями
↗ Items Purchased
(Приобретенные товары) и↗ Customers
(Пользователи), они по сути будут являться свойствами отношений. Такие свойства отношений можно добавлять в таблицу, как и любой другой элемент базы данных. - В данном случае, после добавления купленного товара в базу данных
Customers
(Клиенты), которые его приобрели, автоматом появятся в столбце↗ Customers
(Пользователи) в базе данныхItems
(Предметы).
Примеры использования
- Можно связать БД ресторанов с БД районов. Так можно будет сразу видеть, какой ресторан расположен в каком районе.
- Можно связать БД записей о встречах с БД клиентов. Так вы сможете быстро получить доступ к записям, которые относятся к каждому клиенту.
- Можно связать БД задач с БД крупных проектов. Так вы поймёте, как проекты будут разбиваться на задачи и какие из них будут способствовать развитию проектов.
- Можно связать БД кандидатов с БД интервьюеров. Так можно понять, кто с кем проходил интервью.
Создание отношения
Для создания связи баз данных, вам потребуется две базы. Допустим, что было создано две базы данных Customers
(Пользователи) и Items
(Предметы). Их необходимо связать.
- Нужно добавить новый столбец/свойство в базу данных
Customers
(Пользователи). - В поле следует дать ему имя, пусть будет:
Items Purchased
(Приобретенные товары). - Далее выбираем
Relation
(Связь) в менюProperty type
(Тип имущества).
- Нажимаем на выпадающий список и находим нужную базу данных, с которой будет создаваться связь.
- Потом нажимаем на синюю кнопку
Create relation
(Создать связь). - Теперь будет видно, другой БД появился новый столбец, который показывает двустороннюю связь. После добавления информации в один из столбцов связи, будут меняться данные в другой таблице.
- Щелкните по столбцу, чтобы его переименовать.
- Получается, что когда вы будете щелкать по ячейкам в любом столбце отношений, будет появляться меню, и в нём уже можно найти и выбрать нужные элементы из другой БД для добавления.
- Таким образом можно добавлять различные значения.
- В БД
Items
(Предметы) в столбцеLink
(Связь) будут появляться имена покупателей, это будет указывать на их покупки. - Для добавления нескольких элементов, следует нажать синий
+
. А для удаления элемента, следует нажать на красныйX
.
- Внесённые изменения будут работать в обоих направлениях. Например, добавив нового клиента в БД
Items
(Предметы) в колонкеrelation
(Отношение), изменения будут отображаться в БДCustomers
(Клиенты).
Для изменения БД, к которой происходит подключение, следует выбрать
Relation
(Связь). Теперь будет предложено выбрать новую БД.
Просмотр и удаление связанных страниц
Создавая новую связь, по сути происходит добавление страниц Notion, которые хранятся в одной БД, в поле свойств другой БД.
Страницы такого типа легко открываются и редактируются, как и любые другие. Нужно щелкнуть по странице в колонке связи. Потом необходимо в появившемся окне щелкнуть на ней еще раз.
При необходимости можно сделать удаление любой связанной страницы. Для этого следует нажать на красный X
.
Связать базу данных с самой собой
Иногда может потребоваться связать элементы одной и той же БД. Возможно вы имеете БД задач, и вам необходимо связать каждую задачу с другими задачами. Для этого можно применить два способа:
- Это может быть односторонняя связь (без синхронизации).
- Или двусторонняя связь (синхронизация в обоих направлениях).
Неважно какой способ вы выберите, но следует начать с создания новых отношений. Потом выбирайте БД, в которой будет реализована связь.
Без синхронизации
Вы можете создать связь, которая синхронизируется только в одну сторону. Это делается в том случае, если вам нужно, чтобы задачи были просто связаны между собой. Если вам нужно выполнять их в одно и то же время, или если они будут являться частью примерно одного и того же типа работы.
- Связав свою БД с самой собой, выбираем
Use the same property
(Использовать одно и то же свойство). Так это отношение будет синхронизировано только в одну сторону.
Синхронизация в обоих направлениях
Возможно вам будет нужно, чтобы определённые задачи в вашей БД прикреплялись к другим задачам. Так можно сделать отношение, оно будет синхронизироваться в двух направлениях. Любая задача содержит в себе подзадачи и их можно увидеть или в какую родительскую задачу она входит.
- Связав свою БД с самой собой, выбираем
Create a new property
(Создать новое свойство). Такое отношение сделает два новых столбца, они будут иметь синхронизацию по двум способам.
Свертки
Свертки помогут вам агрегировать информацию в БД на основе отношений. Выше был приведён пример с клиентами и товарами, давайте вернёмся к нему. Допустим, что пользователю следует знать, какая сумма была потрачена каждым клиентом на товары.
- Сперва следует создать отношение.
- Затем нужно добавить новый столбец/свойство и выбрать
Rollup
(Свернуть) в менюProperty type
(Тип свойства). Далее присвойте ему нужное имя.
- Новое меню с запросом появится после нажатия на любую ячейку в столбце сворачивания:
- Свойства отношений, которые вам нужно свернуть.
- Свойства связанной страницы, которую вам нужно свернуть.
- Появится расчет, который вам нужно применить к ним.
- Теперь следует развернуть свойства отношений
Items Purchased
(Приобретенные товары) и свойствоPrice
(Цена) на этих страницах. Далее выбираетсяSum
(Сумма) в качестве расчета.- Результат суммирования стоимости каждого товара, который связан с именем клиента, у вас будет в результате общее количество потраченных им денег в столбце сворачивания.
Типы сворачивания
Бывает несколько вариантов различных расчетов, они применяются в качестве сворачивания. Перечислим их:
Show original
(Показать оригинал): Так будут показаны связанные страницы в одной ячейке.Show unique values
(Показать уникальные значения): В выбранном свойстве для всех связанных страниц будет показано каждое уникальное значение.Count all
(Подсчитать все): В выбранном свойстве для всех связанных страниц подсчитывается общее количество значений.Count unique values
(Подсчитать уникальные значения): В выбранном свойстве для всех связанных страниц подсчитывается количество уникальных значений.Count empty
(Счетчик пустой): Будет подсчитано количество связанных страниц с пустыми значениями для нужного свойства.Count not empty
(Счетчик не пустой): Для нужного свойства будет подсчитывается кол-во связанных страниц с присвоенными значениями.Percent
empty (Процент пустых): Для выбранного свойства будет показываться процент связанных страниц без значений.Percent not empty
(Процент не пустых): Для выбранного свойства будет показываться процент связанных страниц со значением.
Следующие расчеты сворачивания применяются к свойствам Number
(число):
Sum
(Сумма): Для связанных страниц будет вычисляться сумму числовых свойств.Average
(Среднее): Для связанных страниц будет вычисляться среднее значение числовых свойств.Median
(Медиана): Для связанных страниц будет рассчитываться медиана числовых свойств.Min
(Минимум): Для связанных страниц будет рассчитываться наименьшее число в числовом свойстве.Max
(Максимум): Для связанных страниц будет рассчитано наибольшее число в числовом свойстве.Range
(Диапазон): Для связанных страниц вычисляется диапазон между наибольшим и наименьшим числами в числовых свойствах (Max
—Min
).
Эти расчеты сворачивания доступны только для свойства Date
(Дата):
Earliest date
(Самая ранняя дата): Для всех связанных страниц будет находится самая ранняя дата/время в свойстве date.Latest date
(Последняя дата): Для всех связанных страниц так находится самая поздняя дата/время в свойстве date.Date range
(Диапазон дат): Для связанных страниц будет вычисляться промежуток времени между самой поздней и самой ранней датами в свойстве date.
Агрегированные сворачивания
Можно применять вычисления в таблицах и в таблицах-досках к столбцу сворачивания. Так можно получить представление о различных данных во всей БД.
- Пусть будет, что необходимо найти общую сумму денег, в нашем примере выше, которая была потрачена всеми клиентами.
- В низу таблицы
Customers
(Клиенты), под столбцом следует нажатьCalculate
(Вычислить). - Чтобы сложить все значения в этом столбце и получить общий итог, нужно выбрать
Sum
(Сумма).
Часто задаваемые вопросы
Можно ли экспортировать или импортировать отношения?
Во время экспорта реляционной БД в CSV-файл, отношения будут переносится, как простые текстовые URL. Сейчас нельзя повторно делать импорт файла CSV в Notion, так чтобы можно было восстановить отношения с другими БД.
Могу ли я дублировать базу данных с отношением?
Да, так можно сделать, но результат может вас сбить с толку:
Созданная копия БД
Customers
(Клиенты) в нашем примере в статье, в БДItems
(Предметы) автоматом появятся новые свойства отношений.Так произойдёт потому, что отношения будут синхронизироваться в Notion двумя способами. При дублировании БД, также будут дублироваться ее отношения с другими БД ?.
Могу ли я свернуть свернутую базу данных?
Этого сделать нельзя, иначе могут создаться непреднамеренные циклы. Разработчики приложения рекомендуют ограничиться сворачиванием других свойств ?.