Поскольку я знаю, что здесь есть много опытных разработчиков ядра баз данных, я решил задать этот вопрос по stackoverflow.
Я занимаюсь разработкой веб-сайта, главной задачей которого является индексирование каждого продукта, доступного в реальном мире, например цифровых камер, принтеров, холодильников и т. Д. Как известно, каждый продукт имеет свои технические характеристики. Например, цифровая камера имеет свой вес, объектив, скорость затвора и т. Д. Каждая спецификация имеет тип. Например, цена (я вижу это как спецификацию) это число.
Я думаю, что наиболее стандартным способом является создание любых спецификаций, необходимых для указанного продукта с его соответствующим типом, и назначение его продукту. Таким образом, для каждого отдельного продукта должна быть создана ЦЕНА, и на ней должен быть установлен номер типа.
Итак, вот мой вопрос: возможно ли иметь таблицу для спецификаций со всеми спецификациями в ней, например, ЦЕНА с типом числа была создана ранее и просто нужно найти цену в таблице и присвоить ее продукт. Проблема этого метода в том, что я не вижу хорошего способа предотвратить создание дублирующихся записей пользователем. Он должен быть в состоянии найти спецификацию, которая ему нужна (если она была добавлена ранее), и я также хочу, чтобы он знал, что спецификация, которую он находит, на самом деле является той, которая ему нужна, поскольку могут быть некоторые спецификации с тем же именем, но другой тип и использование. Если он не найдет его, он создаст его.
Есть идеи?
---------------------------- ОБНОВЛЕНИЕ ------------------ ----------
Мой вопрос не о гибкости БД. Я думаю, что во втором методе пользователи испортят таблицу характеристик! Они создадут тысячи повторяющихся записей, а также я думаю, что они не найдут свои правильные спецификации.