Конференция "Базы" » Проектирование БД. Таблицы с неизвестным количеством полей [D7, FireBird]
 
  • Кщд (21.02.13 17:42) [60]
    >vuk ©   (21.02.13 12:29) [56]

    > Не представляет из себя какой-либо проблемы вообще. :) Потому,
    >  что сводится к выборке по одному полю одной таблицы. Ну,
    >  или если хочется задать набор атрибутов, где будет производиться
    > поиск - по двум полям.

    Если по одному полю, значит, у вас значения характеристик нетипизированы. Но даже в этом случае любой чуть сложный предикат(напр., Характеристика1="А" или Характеристика2>3 и Характеристика3 между sysdate - 1 and sysdate) может стать причиной full table scan таблицы значений характеристик. Я говорил именно об этом.

    >Как я уже говорил, практика показала, что вывод характеристик в строку оказался не нужен.
    Это особенности Вашей системы.
  • vuk © (21.02.13 18:15) [61]
    to Кщд   (21.02.13 17:42) [60]:

    > Если по одному полю, значит, у вас значения характеристик
    > нетипизированы.

    Совершенно верно. Там вообще везде текст и никаких поисковых запросов в виде выражений SQL пользователи никогда не пишут. Тут при поиске более полезен полнотекстовый поиск.


    > Это особенности Вашей системы.

    Да, это особенности системы. Я с самого начала говорил, что при выборе подхода реализации нужно исходить из реально стоящих задач, а вы опять пытаетесь придумать, как на этой системе будут работать запросы, которые там никогда не применяются.
  • Кщд (22.02.13 05:46) [62]
    >vuk ©   (21.02.13 18:15) [61]
    >а вы опять пытаетесь придумать
    я говорил об общих проблемах EAV(реальных, а не придуманных), а не Вашей системы, о которой мне неизвестно ровным счетом ничего)
    мы друг друга не так поняли
  • Дмитрий (16.04.13 20:32) [63]
    самый простой вариант- писать тэгами в поле типа мемо
  • Кщд (24.04.13 20:12) [64]
    >Дмитрий   (16.04.13 20:32) [63]
    )))
  • Akella-M (30.04.13 16:17) [65]
    Я в свое время для аналогичных задач использовал несколько различных способов, в зависимости от задачи.

    1. Добавление таблицы для атрибутов
    2. Возможность делать ALTER TABLE прямо из программы, создавая свойства динамически через DB-GRID
    3. Использовал мастера шаблонов, где под каждый шаблон создается отдельная таблица, буквально в 2-3 клика пользователь может сам создать любой шаблон
  • Кщд (01.05.13 07:23) [66]
    >Akella-M   (30.04.13 16:17) [65]
    все вменяемые варианты разобрали с нюансами и примерами
    не читатель?
 
Конференция "Базы" » Проектирование БД. Таблицы с неизвестным количеством полей [D7, FireBird]
Есть новые Нет новых   [134430   +3][b:0][p:0]