Первичное поле

Первичное поле Baserow - идентификатор строки таблицы

Первичное поле - это первая колонка любой таблицы Baserow, которая служит именем строки в связях, формах и API. Статья объясняет, чем первичное поле отличается от остальных, как его настроить или заменить другим полем и какой тип данных выбрать для наглядной идентификации записей.

Обзор

Первичное поле - первое поле каждой таблицы Baserow, уникальный идентификатор и отображаемое имя для каждой строки. При связывании строк между таблицами , создании отношений или упоминании записи в другом месте базы Baserow показывает именно значение первичного поля - это человекочитаемое «имя» записи.

Первичное поле - то, что вы видите, когда нужно быстро опознать запись. В отличие от остальных полей, первичное нельзя удалить, скрыть или переместить с первой позиции - у каждой таблицы всегда есть надёжный способ идентифицировать строки.

Выбор первичного поля напрямую влияет на удобство базы данных. Удачное первичное поле делает записи мгновенно узнаваемыми в выпадающих списках, средствах выбора связей и по всему рабочему пространству. Неудачный выбор (ID или дата) заставляет пользователей открывать полную запись, чтобы понять, о чём речь.

Если нужны автоматически формируемые имена (например, Invoice-001, Sprint-Dec), превратите первичное поле в поле формулы .

Первичное поле в таблице Baserow

Почему первичное поле важно

Идентификация записей: значения первичного поля отображаются как имена строк в полях связи с таблицей, поэтому отношения понятны с первого взгляда.

Интеграция с формами: когда форма ссылается на другую таблицу, пользователи видят значения первичного поля в выпадающих списках выбора связанных записей.

Ответы API: запросы к API возвращают значение первичного поля как основной идентификатор, что помогает внешним системам интерпретировать данные.

Удобство работы: удачно выбранное первичное поле делает таблицу легко просматриваемой - записи узнаются мгновенно, без открытия деталей.

Связи данных: смена первичного поля меняет то, как связанные записи отображаются во всей базе данных, влияя на все представления со связями.

Как настроить первичное поле

Первичное поле нельзя удалить или переместить, но его можно настраивать, как и любое другое.

Доступные варианты настройки

Как открыть настройки

  • нажмите на стрелку раскрывающегося меню рядом с именем первичного поля;
  • выберите нужный пункт настройки в меню;
  • внесите изменения и сохраните.

Как сменить первичное поле

Назначьте первичным другое поле, если текущее плохо идентифицирует строки.

Способ 1: прямая смена первичного поля

Подходит, когда нужно сразу же переключить, какое поле служит первичным.

Чтобы сменить первичное поле:

  1. нажмите стрелку раскрывающегося меню рядом с текущим первичным полем;
  2. выберите «Сменить первичное поле» в меню;
  3. укажите, какое из существующих полей должно стать новым первичным;
  4. подтвердите изменение.

Смена первичного поля в Baserow

Используйте этот способ, если: у вас уже есть поле с более информативными данными, вы хотите сразу обновить все связи, или новое поле полностью заполнено без пустых значений.

Смена первичного поля влияет на все связи через поля «связь с таблицей» во всей базе данных. Связанные записи будут показывать новое значение первичного поля вместо старого. После смены проверьте связанные таблицы, чтобы убедиться, что отношения по-прежнему логичны.

Способ 2: копирование с ручным заполнением

Подходит, когда нужно преобразовать или объединить данные перед тем, как сделать поле первичным.

Чтобы создать и заполнить новое первичное поле:

  1. создайте новое поле того же типа данных, что и планируемые первичные данные;
  2. выделите все данные в текущем первичном поле;
  3. скопируйте данные (Ctrl/Cmd + C);
  4. вставьте их в новое поле (Ctrl/Cmd + V);
  5. при необходимости отредактируйте данные нового поля;
  6. воспользуйтесь способом 1, чтобы назначить новое поле первичным;
  7. при желании удалите или перепрофилируйте старое первичное поле.

Используйте этот способ, если: нужно изменить данные перед тем, как сделать поле первичным, важно сохранить старые данные, вы объединяете несколько полей в одно новое первичное поле, или хотите протестировать новый идентификатор перед окончательным переключением.

Копирование данных первичного поля

Как сменить тип первичного поля

Преобразуйте первичное поле в другой тип данных, оставив его первичным идентификатором.

Чтобы сменить тип первичного поля

  1. нажмите стрелку раскрывающегося меню рядом с именем первичного поля;
  2. выберите «Изменить поле»;
  3. выберите новый тип поля из списка;
  4. настройте параметры, специфичные для типа;
  5. нажмите «Сохранить», чтобы применить изменения.

Смена типа первичного поля

Baserow пытается преобразовать существующие данные в новый тип, но некоторые преобразования могут привести к потере данных. Если преобразование потеряло нужные данные, сразу нажмите Ctrl/Cmd + Z.

Ограничения первичного поля

ОграничениеПричинаОбходной путь
Нельзя удалитьКаждой строке нужен идентификаторНазначьте первичным другое поле, затем удалите старое
Нельзя скрытьДолжно оставаться видимым для идентификации строкиУправляйте видимостью остальных полей через представления
Нельзя переместитьЗафиксировано на первой позицииОбходного пути нет - проектируйте таблицы с учётом этого
Не может быть полем связиИначе возникнут циклические ссылкиИспользуйте поля подстановки для отображения связанных данных
Всегда обязательноПустое первичное поле делает строку неопознаваемойПроектируйте первичное поле так, чтобы оно всегда содержало осмысленное значение

Эти ограничения обеспечивают целостность базы данных и не дают строкам стать неопознаваемыми, а связям - сломаться.

Поддерживаемые типы первичного поля

Первичное поле поддерживает почти все типы полей, включая «Создано пользователем», «Изменено пользователем» и поле соавтора, что даёт гибкость в выборе способа идентификации строк:

Тип поляХорошо подходит дляПример использования
Однострочный текстИмена, заголовки, кодыИмена клиентов, названия товаров, названия проектов
Длинный текстОписанияЗаголовки статей, краткие заметки
Число, UUID, автонумерация, длительностьЧисловые последовательные идентификаторыНомера счетов, номера заказов, номера тикетов
РейтингРедко полезноЗначения шкалы оценки (нечасто)
Логическое (да/нет)Не рекомендуетсяТолько 2 возможных значения
Дата, дата изменения, дата созданияЗаписи, привязанные ко времениЕжедневные журналы, исторические события
EmailИдентификация пользователяУчётные записи, контакты по email
ФайлИдентификация документаБиблиотека файлов по имени файла
URLЗаписи на основе ссылокКаталоги сайтов, коллекции закладок
Множественный выборТолько для отображенияПоказывает несколько тегов, но пользы немного
Одиночный выборТаблицы по категориямТипы статусов, уровни приоритета (когда каждый - уникальная запись)
ТелефонЗаписи на основе контактовТикеты поддержки по номеру звонящего
ФормулаВычисляемые идентификаторыОбъединение «Имя + Фамилия», генерируемые коды
Подсчёт, свод, подстановкаОтображение связанных данныхПоказ имени клиента из связанной таблицы клиентов

Не поддерживается: поля «связь с таблицей» не могут быть первичным полем - это исключает циклические ссылки.

Лучшие практики выбора первичного поля

  • Выбирайте описательные идентификаторы: используйте однострочный текст для первичного поля - текстовые идентификаторы наиболее читаемы в связях и формах;
  • Используйте формулы для составных идентификаторов: если ни одно поле не идентифицирует строки однозначно, создайте поле формулы, объединяющее несколько полей, и назначьте его первичным для ясных уникальных идентификаторов;
  • Стремитесь к полноте данных: убедитесь, что у каждой строки есть значение первичного поля (без пустых ячеек), значения различимы (избегайте множества записей «Без названия»), а похожие записи легко отличить друг от друга;
  • Планируйте заранее перед созданием связей: выбирайте первичное поле до создания связей «связь с таблицей» - смена первичного поля позже обновит отображение всех связанных записей, что может запутать пользователей, если новый идентификатор менее понятен, чем старый.

Часто задаваемые вопросы

Почему нельзя удалить первичное поле? Каждой таблице нужен способ идентифицировать строки. Первичное поле служит универсальным идентификатором Baserow - в связях, формах, ответах API и интерфейсе. Удаление сломало бы ссылки и сделало строки неопознаваемыми.

Можно ли скрыть первичное поле в отдельных представлениях? Нет, первичное поле нельзя скрыть ни в одном представлении - это гарантирует, что строки всегда имеют видимый идентификатор. Если нужно представление без видимого первичного поля, стоит пересмотреть структуру таблицы.

Что происходит со связанными записями при смене первичного поля? Все связи через поля «связь с таблицей» автоматически обновляются и показывают новое значение первичного поля вместо старого. Например, при смене с «ID клиента» на «Имя клиента» связанные записи начинают показывать имя вместо идентификатора.

Можно ли сделать поле подстановки первичным? Да, поля подстановки могут быть первичными - это отображает данные из связанной таблицы как идентификатор строки. Например, в таблице заказов первичным может быть подстановка имени клиента из связанной таблицы клиентов.

Использовать уникальные идентификаторы или описательные имена в качестве первичного поля? По возможности используйте описательные имена. Первичное поле отображается по всему интерфейсу базы данных, и «Редизайн сайта» гораздо полезнее для человека, чем «PRJ-001». Идентификаторы на основе кодов оставляйте для таблиц, где описательного имени не существует.

Что дальше

Первичное поле - это лишь одно из полей таблицы Baserow . Чтобы добавить новые поля рядом с первичным, читайте статью «Создание полей» , а для управления сортировкой, фильтрами и видимостью - «Настройка полей» .

Проверено OpenNix LLC · Обновлено