Bubuz
Junior Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Эй народ, Вы чего?! как малые дети Мы ведь здесь делимся мыслями на тему, а не доказываем свою правоту. Если честно, то вариант предложенный UncoNNecteD мне понравился. Понравился больше чем вариант с одной таблицей и резервированием лишних(пустых полей). Хотя я, возможно, чего то не понял в размышлениях edogs Насколько я понял, UncoNNecteD предложил в первой таблице, назовем ее tovar, хранить id товаров и их обязательные атрибуты, и будет иметь вид: 1. tovar_id 2. name 3. description(краткое описание) 4. price во второй таблице(tovar_prop) хранить необязательные атрибуты товара, которые могут меняться в зависимости от типа товаров. например: 1. tovar_id 2. prop_name 3. prop_value Единственное, что меня смущает в варианте UncoNNecteD - это то, что избыточности избежать не удается. Ибо при добавлении 2-х товаров, у которых отличается только один параметр все данные дублируются кроме этого параметра. Для этого нужно вводить третью таблицу, которая будет связующим звеном между первыми двумя и будет содержать 2 поля: 1. tovar_id 2. prop_id И третья таблица тогда приобретает вид: 1. prop_id 2. prop_name 3. prop_value Еще что меня смущает, так это - какой тип должно иметь поле "prop_value" ведь оно может содержать любую информацию(начиная от флага (1, 0), заканчивая описанием на несколько страниц). вообще, конечно, не знаю зачем мне нужно так уж сильно избавляться от избыточности Главное это сочетание удобство добавления новых типов товаров и быстродействие, которое не будет значительно снижаться с увеличением кол-ва товаров в базе. Может вообще лучшим решением будет создавать отдельные таблицы под каждый новый тип товаров? Что Вы об этом думаете? |