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