|
|
|
Проектирование: eav система или другие варианты....
|
|||
|---|---|---|---|
|
#18+
MirukНеобходимо спроектировать БД. Самый важный вопрос это каким способом реализовать хранение характеристик к объекту. Характеристики могут быть текстовыми, числовыми и типа дата. Есть 4 варианта: 1) значения характеристик, которые имеют одно значение храним в одной таблице, в виде полей таблицы. Множественные значения характеристик (для одного объекта, к одной характеристике несколько значений), которые имеют тип Number, в другой. Связь 1 ко многим. Минусы: Мы заранее не знаем, сколько этих характеристик будет. Следовательно, количество полей в таблице характеристик постоянно будет меняться. Вторая таблица, характеристика только число. Если система поменяется, то придется переписывать почти все. Плюсы: быстрая выборка данных. 2) значения характеристик, которые имеют одно значение храним в одной таблице, в виде полей таблицы. Множественные характеристики, которые имеют тип текст (на самом деле будет храниться и тип дата, и число) в другой. Связь 1 ко многим. Минусы: Мы заранее не знаем, сколько этих характеристик будет. Следовательно, количество полей в таблице характеристик постоянно будет меняться. Плюсы: возможность быстрее адаптировать приложение под изменившиеся условия. 3) от таблицы объектов, все характеристики хранить в вертикальном виде и группировать их по типу в разных полях (трех). связь один ко многим Минусы: сложность выборки сохранение процедурой eav система Плюсы: логика схемы проще. 4) разбить справочники и значения характеристик по 3 таблицы. связь один ко многим. Минусы: при выборке необходимо делать union таблиц, который исключает использование индексов Плюсы: универсальность возит все свои варианты, и выкинь те, в которых "количество полей будет постоянно меняться". Остальные варианты рассматривай. Думаю останется все равно только один. ну в общем 4ый надо делать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.01.2015, 09:17 |
|
||
|
Проектирование: eav система или другие варианты....
|
|||
|---|---|---|---|
|
#18+
MirukУ меня все упирается в EAV все-же... минусов у этой системы много... но и плюсы есть. что делать??? если склоняться к EAV - то можно ознакоимтся с этим обсуждением http://www.sql.ru/forum/246069-a/model-dannyh-po-tenceru и вообще посмореть о модели Тенцера и её расширении (и такие статейки попадались но если речь в ТЗ идёт о скорости поиска и выборки - то EAV не совсем подходит не знаю полностью Вашу задачу, но напрашивается такое решение: - выделить ключевые характеристики - (которые будут заполнены у большинства объектов и по которым нужна быстрота поиска и выборки, а, возможно, и агрегирования. Так сказать "костяк характеристик". Всё, что касается этих характеристик - нормализовать согласно учебникам :) Пр чём - со справочниками и контролем целостности средствами БД - остальные характеристики (по которым поиск реже или отсутствует, которые будут на 30% и более пустыми и т.п.) запихать хоть в EAV, хоть в её расширения (Тенцер и т.п.), хоть в XML, да хоть в куда Удачи! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.01.2015, 23:23 |
|
||
|
Проектирование: eav система или другие варианты....
|
|||
|---|---|---|---|
|
#18+
Спасибо, ребята! Сделаю гибридную структуру. Но надеялась, что есть ещё что-то, что я не знаю. Оказывается вариантов не много... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.01.2015, 12:59 |
|
||
|
Проектирование: eav система или другие варианты....
|
|||
|---|---|---|---|
|
#18+
Miruk, Присмотритесь к конфигуратору habr.ru/post/247767/ Если не нужно api, а просто хотите вносить данные и делать отчеты - самое то. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.01.2015, 15:09 |
|
||
|
|

start [/forum/topic.php?fid=32&msg=38856993&tid=1540667]: |
0ms |
get settings: |
10ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
162ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
49ms |
get tp. blocked users: |
2ms |
| others: | 12ms |
| total: | 268ms |

| 0 / 0 |

Извините, этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
... ля, ля, ля ...