Модель данных для динамических столбцов интерфейса
Помогите, пожалуйста, спроектировать модель БД. В документе закупки есть таблица c описанием закупаемых товаров. Требование к таблице с товарами( далее позиции):
- У позиций есть столбцы по умолчанию: наименование позиции, количество, единица измерения.
- Есть возможность добавить новый столбец, выбором из заранее преднастроенных, например, адрес поставки, дата поставки или цена товара. В этом случае, типы данных заранее известны(дата, значение из справочника адресов, цифры ).
- Также, можно добавить сколько угодно новых столбцов с типом "Другое". В этом случае пользователь сам указывает наименование столбца. Поля в таких столбцах всегда текстового ввода.
- Часть полей доступно для редактирования, часть недоступно, но показано в интерфейсе. БД на postgresql. Спроектировал для себя: ITEM - Информация с описанием позиций Есть столбца по умолчанию. ITEM_ATTRIBUTES - Описание добавляемых столбцов с конкретным значением, которое вводит пользователь. Если ATTR_ID не пусто, то это значение из справочника атрибутов DICT_ATTRIBUTES. DICT_ATTRIBUTES - справочник заранее созданных столбцов(единица измерения, адрес, валюта и т.д.) Я не пойму, как связать DICT_ATTRIBUTES с таблицей конкретного справочника, чтобы на фронте прицепить этот справочник в выбор значений этого поля? Где отобразить какой тип данных несет каждый атрибут(текст, число, дата, булево и т.д.)? Ну и в целом может дадите совет как оптимальнее спроектировать динамические атрибуты для моих целей. Про тип данных JSON в postgresql читал, но использовать его пока не планирую.
