Про компоненты
Формы
Плоские и вложенные связи полей
Оба типа связи полноценны, но выражают разную семантику.
-
Вложенная связь — отношение «владеет / состоит из». Дочерняя строка обычно не имеет смысла без родителя и управляется внутри него. Пример:
Заказ → позиции заказа. -
Плоская связь — отношение «ссылается на». Связанная строка существует независимо и может использоваться в разных местах. Пример: поле
Поставщикв товаре выбирает запись из коллекции поставщиков.
Главный критерий — жизненный цикл:
- если удаление родителя логично влечёт удаление дочерних записей, чаще подходит вложенность;
- если запись должна продолжать существовать независимо, нужна плоская ссылка;
- если одну запись могут выбирать многие другие записи, плоская связь обычно естественнее.
При этом важно различать модель данных и интерфейс: подколлекция может визуально открываться внутри дравера, но технически храниться как отдельная коллекция с parentId. Это часто лучший вариант — интерфейс выглядит вложенным, а данные остаются нормализованными.
Например:
Заказ
└── Позиции заказа — вложенная связь
Позиция заказа
└── Товар: выбрать запись — плоская связь