Мой начальник дал мне кучу требований, которые я не совсем уверен, как их проектировать в СУБД.По сути, пользователь должен описать объект, определяющий его атрибуты старым способом: «ключ» => «значение».Проблема в том, что у пользователя есть «свобода воли» при выборе ключей и значений, поэтому он может написать все, что захочет об этом объекте.Теперь этот объект относится, конечно, к определенным категориям, поэтому, на мой взгляд, даже при режиме свободной воли на я не думаю, что у нас должно быть более 15/20 ключей на категорию (=>объект).
Мой начальник сказал мне структурировать его следующим образом (это всего лишь скелет):
Таблица объектов (id [первичный ключ]), имя)
Таблица пары (id [первичный ключ] , obj_id [внешний ключ к таблице объектов] , ключ,значение)
Но я не совсем уверен.На мой взгляд, это должно быть что-то вроде этого:
Таблица объекты (id [первичный ключ] , имя)
Таблица пары (id [первичный ключ] , obj_id [внешний ключ к таблице объектов] , key_id [внешний ключ к таблице ключей] , значение)
Таблица ключи (id [первичный ключ] , ключ [уникальный] )
И изКонечно, колонка key
будет очищена, а избыточность будет ограничена.
Прав ли я, я слишком обдумываю или я просто неправ?