Ответы пользователя по тегу Базы данных
  • Как спроектировать БД с переменным количеством параметров?

    DimonSmart
    @DimonSmart
    Kaspersky Lab Developer
    Я рекомендую посмотреть в сторону EAV. Но!!! Смотреть очень внимательно. Там есть очень большая куча плюшек и примерно такая же куча ....хм.... не плюшек. Выбирать только вам.
    И добавлю сюда ссылку на очень похожее обсуждение:
    Как хранить абстрактные модели данных в реляционных БД?

    Кстати, постарайтесь почёте сформулировать ваш вопрос. Возможно, если этих самый неизвестных параметров будет немного - то лучшим способом будет простое расширение табличек.
    В сторону EAV надо смотреть если у вас количество и сами параметры могут сильно отличаться от объекта к объекту. И сами эти параметры могут появляться стихийно по желанию ваших пользователей.
    Так же очень рекомендую рассмотреть компромиссный вариант, в котором у вас будет использоваться классическая структура полей и таблиц. И где-то рядом к ней будет пристёгнута структура EAV для экспериментов с полями. В этом случае основная нагрузка будет на классические структуры а все эксперименты с дополнительными полями будут по сути отдельно.
    В случае если какое-то из экспериментальных дополнительных полей в последствии станет очень нужным и всем необходимым - то никто не мешает зарефакторить структуру БД и перенести это поле в основные таблицы....
    Ответ написан
    Комментировать
  • Как хранить абстрактные модели данных в реляционных БД?

    DimonSmart
    @DimonSmart
    Kaspersky Lab Developer
    Есть классический антипаттерн, EAV Entity Attribute Value
    www.sql.ru/forum/1110351/esli-nuzhna-gibkaya-shema...
    С академической точки зрения очень интересный принцип хранения.
    НО есть много НО

    На хабре была очень подробная статья с подробностями работы с EAV базами. На хабре была в кэше гугла ещё есть: https://webcache.googleusercontent.com/search?q=ca...

    Дополню ответ очень хорошей и просто обязательной к прочтению статьёй с довольно подробным и хорошим описанием теории построения EAV структур. (Кстати в самой статье слово EAV не используется) ООП в РСУБД
    Ответ написан
    3 комментария