Описание типов колонок и их особенностей.
В таблицах Creatium Max у каждой из колонок должен быть тип, который говорит о том, какого рода содержимое хранится в ячейках колонки. Выбрать тип колонок можно при создании таблицы или при внесении изменений в существующую.
Текст
Для хранения произвольной последовательности символов (строк).
Значение по умолчанию: пустая строка
""
.
Не может быть null
.Число
Для целочисленных значений и чисел с плавающей точкой.
Значение по умолчанию:
0
.
Не может быть null
.Объект
Для объектов - упорядоченного набора пар "ключ:значение", где ключ это всегда строка, а значение может быть произвольного типа.
Может быть
null
.Массив
Для хранения наборов значений произвольного типа.
Может быть
null
.Дата
Для меток времени в часовом поясе UTC (нулевой меридиан).
Может быть
null
.Смешанное
Специальный тип колонки, в котором можно сохранить число, строку, или любой другой доступный на Creatium Max тип данных.
Смешанный тип может пригодиться в случаях, когда заранее неизвестен тип входящих в таблицу данных.
Ссылка на запись
Содержит текстовый идентификатор записи из связанной таблицы.
Может быть пустым, но не может быть неправильным: если указать неверный идентификатор, то при сохранении он будет заменен пустой строкой.
При изменении идентификатора в связанной таблице, меняются так же и все ссылки на эту запись в других таблицах.
Пример
Таблица "Счета":
Идентификатор (текст) | Пользователь (ссылка на запись) |
“bill001” | “user1” |
“bill002” | “user2” |
Таблица “Пользователи”:
Идентификатор (текст) | Имя пользователя (текст) |
“user1” | “Боб” |
“user2” | “Джон” |
Ссылки на запись в таблице "Счета" и идентификаторы таблицы "Пользователи" взаимосвязаны. При изменении идентификаторов в таблице "Пользователи", все ссылки на запись будут обновлены в соответствии с изменениями.
Массив ссылок
Список текстовых идентификаторов записей из связанной таблицы.
Всегда сортируется по алфавиту и не может содержать дублирующие идентификаторы.
Если добавить в массив неправильный идентификатор, он будет автоматически удален.
Пример
Таблица “Категории”:
Идентификатор (текст) | Название (текст) |
“category001” | “Спорт” |
“category002” | “Туризм” |
Таблица "Товары":
Идентификатор (текст) | Категории (массив ссылок) |
“item1” | [”category001”, “category002”] |
“item2” | [”category002”] |
В таблице "Товары" указан массив ссылок на категории из таблицы "Категории". Благодаря массиву можно указать более одной ссылки. Ссылки взаимосвязаны и при внесении изменений будут обновлены во всех таблицах.
Обратные ссылки
Набор ссылок на все записи связанной таблицы, в которых имеется ссылка на текущую запись.
Содержимое этой колонки не редактируется вручную или через сценарии, а формируется автоматически. Все идентификаторы отсортированы по алфавиту.
Пример
Таблица "Счета":
Идентификатор (текст) | Пользователь (ссылка) |
“bill001” | “user1” |
“bill002” | “user1” |
“bill003” | “user2” |
Таблица “Пользователи”:
Идентификатор (текст) | Счета пользователей
(обратные ссылки) |
“user1” | [”bill001”, “bill002”] |
“user2” | [”bill003”] |
Содержимое колонки "Счета пользователя" формируется автоматически, и реагирует на все изменения в таблице "Счета".
Lookup-поле
Позволяет достать значение указанной колонки из связанной таблицы на основе ссылки. В настройках поля можно указать в качестве основы как "Массив ссылок", так и "Обратные ссылки".
Содержимое Lookup колонки формируется автоматически и не редактируется вручную.
Пример
Таблица "Счета":
Идентификатор (текст) | Пользователь (ссылка) | Имя пользователя (Lookup) |
“bill001” | “user1” | Боб |
“bill002” | “user1” | Боб |
“bill003” | “user2” | Джон |
Таблица "Пользователи":
Идентификатор (текст) | Имя пользователя (текст) |
“user1” | Боб |
“user2” | Джон |
Rollup-поле
Создает сводку на основе содержимого Lookup-поля.
Содержимое колонки формируется автоматически и не редактируется вручную.
Для образования сводки доступны следующие операции:
count - пересчитать
sum - сумма
min - минимум
max - максимум
first - первый
last - последний
avg - среднее значение
median - серединное значение
percentile - процентиль
stdDevPop - стандартное отклонение популяции
stdDevSamp - стандартное отклонение образца
Пример
Таблица "Счета":
Идентификатор (текст) | Пользователь (ссылка) | Сумма (число) |
“bill001” | “user1” | 150 |
“bill002” | “user1” | 250 |
“bill003” | “user2” | 200 |
Таблица "Пользователи":
Идентификатор (текст) | Счета пользователя (обратные ссылки) | Счета пользователя: Суммы (Lookup) | Общая сумма счетов (Rollup) |
“user1” | [”bill001”, “bill002”] | [150, 250] | 400 |
“user2” | [”bill003”] | [200] | 200 |
Колонка "Общая сумма счетов" построена на основе "Счета пользователя: суммы", которая в свою очередь работает на основе обратных ссылок из "Счета пользователя".