powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Проектирование: eav система или другие варианты....
4 сообщений из 29, страница 2 из 2
Проектирование: eav система или другие варианты....
    #38856628
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MirukНеобходимо спроектировать БД. Самый важный вопрос это каким способом реализовать хранение характеристик к объекту. Характеристики могут быть текстовыми, числовыми и типа дата.
Есть 4 варианта:

1) значения характеристик, которые имеют одно значение храним в одной таблице, в виде полей таблицы.
Множественные значения характеристик (для одного объекта, к одной характеристике несколько значений), которые имеют тип Number, в другой. Связь 1 ко многим.

Минусы: Мы заранее не знаем, сколько этих характеристик будет. Следовательно, количество полей в таблице характеристик постоянно будет меняться.
Вторая таблица, характеристика только число.
Если система поменяется, то придется переписывать почти все.

Плюсы: быстрая выборка данных.

2) значения характеристик, которые имеют одно значение храним в одной таблице, в виде полей таблицы.
Множественные характеристики, которые имеют тип текст (на самом деле будет храниться и тип дата, и число) в другой.
Связь 1 ко многим.

Минусы: Мы заранее не знаем, сколько этих характеристик будет. Следовательно, количество полей в таблице характеристик постоянно будет меняться.
Плюсы: возможность быстрее адаптировать приложение под изменившиеся условия.

3) от таблицы объектов, все характеристики хранить в вертикальном виде и группировать их по типу в разных полях (трех). связь один ко многим

Минусы: сложность выборки
сохранение процедурой
eav система
Плюсы: логика схемы проще.

4) разбить справочники и значения характеристик по 3 таблицы. связь один ко многим.

Минусы: при выборке необходимо делать union таблиц, который исключает использование индексов
Плюсы: универсальность

возит все свои варианты, и выкинь те, в которых "количество полей будет постоянно меняться". Остальные варианты рассматривай. Думаю останется все равно только один.

ну в общем 4ый надо делать.
...
Рейтинг: 0 / 0
Проектирование: eav система или другие варианты....
    #38856913
Фотография Шайтан
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MirukУ меня все упирается в EAV все-же... минусов у этой системы много... но и плюсы есть. что делать???

если склоняться к EAV - то можно ознакоимтся с этим обсуждением http://www.sql.ru/forum/246069-a/model-dannyh-po-tenceru
и вообще посмореть о модели Тенцера и её расширении (и такие статейки попадались

но если речь в ТЗ идёт о скорости поиска и выборки - то EAV не совсем подходит

не знаю полностью Вашу задачу, но напрашивается такое решение:
- выделить ключевые характеристики - (которые будут заполнены у большинства объектов и по которым нужна быстрота поиска и выборки, а, возможно, и агрегирования. Так сказать "костяк характеристик". Всё, что касается этих характеристик - нормализовать согласно учебникам :) Пр чём - со справочниками и контролем целостности средствами БД
- остальные характеристики (по которым поиск реже или отсутствует, которые будут на 30% и более пустыми и т.п.) запихать хоть в EAV, хоть в её расширения (Тенцер и т.п.), хоть в XML, да хоть в куда

Удачи!
...
Рейтинг: 0 / 0
Проектирование: eav система или другие варианты....
    #38856993
Miruk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо, ребята! Сделаю гибридную структуру. Но надеялась, что есть ещё что-то, что я не знаю. Оказывается вариантов не много...
...
Рейтинг: 0 / 0
Проектирование: eav система или другие варианты....
    #38862613
duchka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Miruk,

Присмотритесь к конфигуратору habr.ru/post/247767/
Если не нужно api, а просто хотите вносить данные и делать отчеты - самое то.
...
Рейтинг: 0 / 0
4 сообщений из 29, страница 2 из 2
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Проектирование: eav система или другие варианты....
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]