powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle [игнор отключен] [закрыт для гостей] / EAV модель
39 сообщений из 39, показаны все 2 страниц
EAV модель
    #39607024
cobalt_frog
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем добрый вечер,

по задаче необходимо реализовать более 10 таблиц с разным количеством и типами полей. Я подумал и сделал в виде EAV следующим образом:

Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
-------------------------------------------------------
create table entity(id          number(10)
                    ,parent_id  number(10)
                    ,name       varchar2(255));
--
insert into entity(id,parent_id,name) values (1,null,'Завод');
insert into entity(id,parent_id,name) values (2,null,'Марка машины из завода');
insert into entity(id,parent_id,name) values (3,1   ,'Заводы России');
insert into entity(id,parent_id,name) values (4,2   ,'Характеристики машины ВАЗ 2101');
-------------------------------------------------------
create table entity_attr(id         number(10)
                         ,entity_id number(10)
                         ,att_type  char(1)
                         ,name      varchar2(255));
--
insert into entity_attr(id,entity_id,att_type,name) values (1,4,'V','Количество лошадей');
insert into entity_attr(id,entity_id,att_type,name) values (2,4,'V','Цвет машины');
insert into entity_attr(id,entity_id,att_type,name) values (3,4,'V','Количество дверей у машины');
-------------------------------------------------------
create table entity_attr_value(id          number(10)
                               ,attr_id    number(10)
                               ,str_value  varchar2(1000));
--
insert into entity_attr_value(id,attr_id,str_value) values(1,1,'333');
insert into entity_attr_value(id,attr_id,str_value) values(2,2,'Красный');
insert into entity_attr_value(id,attr_id,str_value) values(3,3,'5');



1. Кто нибудь сталкивался с такими задачами? Не хочется плодить 10 новых таблиц, тем более что поля таблиц и их количество могут изменяться. Какие подводные камни есть в EAV?
2. Как можно такую таблицу проиндексировать?
3. Лучше хранить все в стрингах или в entity_attr_value стоит добавить вместо str_value три поля например str_value,number_value и date_value?

если можно поделить плз ссылками.
Спасибо.
...
Рейтинг: 0 / 0
EAV модель
    #39607028
адма и еав
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
cobalt_frog,

Если жизнь без eav не мила, бери nosql.
...
Рейтинг: 0 / 0
EAV модель
    #39607029
cobalt_frog
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
адма и еавcobalt_frog,

Если жизнь без eav не мила, бери nosql.

Да не то чтобы не мила...просто после того как я сделал ее по этой схеме возникает мысль, а стоило ли?) Все таки плоские таблицы мне кажутся более предпочтительным варианто, и пес с ним что придется создать новых 10 таблиц. Хотелось бы узнать мнение участников форума по этому поводу.
...
Рейтинг: 0 / 0
EAV модель
    #39607033
Фотография Elic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
cobalt_frogХотелось бы узнать мнениеEAV в поиск не вбивается?
...
Рейтинг: 0 / 0
EAV модель
    #39607034
cobalt_frog
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
+ хотелось бы узнать, кто из форумчан использовал данный подход при решении задач, с какими трудностями сталкивался и как их решал)
...
Рейтинг: 0 / 0
EAV модель
    #39607045
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
cobalt_frogпосле того как я сделал ее по этой схеме возникает мысль, а стоило ли?

Использование EAV требует чуть-чуть другого стиля мышления по сравнению с
квадратно-гнездовым. Так что если ты чувствуешь дискомфорт, значит EAV действительно не
стоило делать.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
EAV модель
    #39607053
Goldenlady
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
cobalt_frog,
EAV целесообразно использовать в крайнем случае, например, когда для описания товара используется переменный набор атрибутов (товар 1: майка синяя, строчка белая, материал хлопок, принт Покемоны; товар2: макароны вес 0.5 кг, производитель Макфа, состав: твердые сорта пшеницы и т.д. ). Т.е, даже если вы работаете с однотипными товарами, у которых один и тот же набор атрибутов, то я вам настоятельно не рекомендую использовать EAV. Большой минус у такой структуры: запросы и dml-операции занимают больше времени, чем с обычной таблицей в нормальной 3й форме.
авторНе хочется плодить 10 новых таблиц
Вот это вообще не основание для использования EAV :(. Прочтите хотя бы в Википедии описание, ваш пример показывает как НЕ нужно проектировать структуру.
...
Рейтинг: 0 / 0
EAV модель
    #39607059
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
cobalt_frog2. Как можно такую таблицу проиндексировать?

На этот вопрос невозможно ответить. Ты должен подойти к бизнесу и спросить. Какие будут объемы? Какие
поисковые операции будут? Какие SLA стоят? Сколько милисекунд согласны ждать и т.п.
Потом проанализировать какие их этих операций будут затрагивать какие поля. Возможно
будет два сета полей. Один - денормализованный (обычные плоские таблицы). Проиндексированный.
Второй сет - будет лежать в EAV как дополнение. Туда пойдут всякие descriptions, comments, и редко
используемые атрибуты типа "диаметр_хомута_топливного_шланга" e.t.c. Потом построить макет
и прогнать на нем свои требования.

Можно делать твою задачку и без этих макетов и требований. Но есть риск что спор будет
сводится к богословским вопросам типа "бог един или троица?" или "сколько ангелов могут стоять ...?"
и т.п. риторические споры где нет никакого критерия истинности а есть просто частные мнения.
...
Рейтинг: 0 / 0
EAV модель
    #39607134
cobalt_frog
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
maytoncobalt_frog2. Как можно такую таблицу проиндексировать?

На этот вопрос невозможно ответить. Ты должен подойти к бизнесу и спросить. Какие будут объемы? Какие
поисковые операции будут? Какие SLA стоят? Сколько милисекунд согласны ждать и т.п.
Потом проанализировать какие их этих операций будут затрагивать какие поля. Возможно
будет два сета полей. Один - денормализованный (обычные плоские таблицы). Проиндексированный.
Второй сет - будет лежать в EAV как дополнение. Туда пойдут всякие descriptions, comments, и редко
используемые атрибуты типа "диаметр_хомута_топливного_шланга" e.t.c. Потом построить макет
и прогнать на нем свои требования.

Можно делать твою задачку и без этих макетов и требований. Но есть риск что спор будет
сводится к богословским вопросам типа "бог един или троица?" или "сколько ангелов могут стоять ...?"
и т.п. риторические споры где нет никакого критерия истинности а есть просто частные мнения.

Объемы - десятки тысяч записей в месяц, ждать согласны хоть секунду, по этим данным будут обычные выгрузки в Excel, возможно изменение записи в последующем, поиск по какому либо полю (атрибуту).
Можно поподробнее по поводу:
mayton Возможно будет два сета полей. Один - денормализованный (обычные плоские таблицы). Проиндексированный.
Второй сет - будет лежать в EAV как дополнение. Туда пойдут всякие descriptions, comments, и редко
используемые атрибуты типа "диаметр_хомута_топливного_шланга" e.t.c. Потом построить макет
и прогнать на нем свои требования.
Если можно ссылку. Большое спасибо.
...
Рейтинг: 0 / 0
EAV модель
    #39607158
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ссылку не дам. Это просто из личного опыта. А ты должен привести примеры поисковых запросов.
На языке бизнес-постановки. "Найти все машины с 4 дверями и мощностью не менее..." и т.д.
И чем больше - тем лучше.
...
Рейтинг: 0 / 0
EAV модель
    #39607166
cobalt_frog
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
maytonСсылку не дам. Это просто из личного опыта. А ты должен привести примеры поисковых запросов.
На языке бизнес-постановки. "Найти все машины с 4 дверями и мощностью не менее..." и т.д.
И чем больше - тем лучше.

Найти все машины с 4 дверями

Найти количество всех машин красного цвета с количеством дверей <4

Найти дату самой первой модели машины

Найти стоимость всех машин с датой создания < 2000 года

Интересует как организовать два сета полей(денормализованынй и eav) для примера который я привел.
Спасибо.
...
Рейтинг: 0 / 0
EAV модель
    #39607167
cobalt_frog
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
to mayton
Хотелось ыб увидеть пример именно смешанной структуры (реляционной и eav).
...
Рейтинг: 0 / 0
EAV модель
    #39607176
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну вот и все. Двери, стоимость и дату создания ты переносишь в плоскую таблицу. И строишь индексы (по запросам конечно).
А все остальные атрибуты - в EAV.
...
Рейтинг: 0 / 0
EAV модель
    #39607188
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
... а потом появляются новые хотелки и "тщательно продуманная струкура" идёт в хлам.
...
Рейтинг: 0 / 0
EAV модель
    #39607192
cobalt_frog
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Basil A. Sidorov... а потом появляются новые хотелки и "тщательно продуманная струкура" идёт в хлам.
хотелки будут, могут добавляться/удаляться некоторые из полей, если только eav использовать это решается просто созданием новой сущности и нового атрибутного состава для нее, если смешанная модель, то возникают проблемы.
...
Рейтинг: 0 / 0
EAV модель
    #39607193
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Видел систему, когда сначала все сделали в EAV, потом для поиска сделали View поверх EAV, потом для ускорения View заменили на таблицы и система параллельно хранила данные и там и там, потом сделали опцию настройки как хранить: EAV + таблица или просто в таблицах )))

Вот такая была эволюция. С другой стороны, изначальный выбор EAV позволил быстро сделать первую версию системы, а дальше она уже развивалась...
...
Рейтинг: 0 / 0
EAV модель
    #39607197
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
cobalt_frogесли смешанная модель, то возникают проблемы.О том и речь.
У EAV хватает своих проблем, чтобы добавлять ещё и чужие.
...
Рейтинг: 0 / 0
EAV модель
    #39607201
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Basil A. SidorovУ EAV хватает своих проблем, чтобы добавлять ещё и чужие.
На мой взгляд у EAV не проблемы, а родовые травмы.

Пока EAV устраивает - все хорошо. Как только нужен нормальный/сложный поиск + нормальные/сложные отчеты от EAV приходится уходить. Ну или оставаясь на EAV создавать тысячи строк говно-кода, который и пишется сложно и на серверах все процессоры и память выжирает.... как только процессоры и память заканчиваются.... от EAV приходится уходить )))

AFAIK

НО на подходящих/простых задачах EAV конечно может упростить кодирование и добавить универсальности. Хотя, не очень понятно, почему тогда вместо EAV просто не использовать Dinamic SQL и не сделать простейший GUI интерфейс к ALTER TABLE ... ADD COLUMN. Для систем 24*7 это конечно вряд ли подходит, но для 99% остальных систем - вполне.

IMHO
...
Рейтинг: 0 / 0
EAV модель
    #39607224
XMLer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Leonid KudryavtsevBasil A. SidorovУ EAV хватает своих проблем, чтобы добавлять ещё и чужие.

AFAIK

НО на подходящих/простых задачах EAV конечно может упростить кодирование и добавить универсальности.

IMHO

Например, хранение метаданных.
...
Рейтинг: 0 / 0
EAV модель
    #39607275
Adx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Adx
Гость
Leonid KudryavtsevBasil A. SidorovУ EAV хватает своих проблем, чтобы добавлять ещё и чужие.
На мой взгляд у EAV не проблемы, а родовые травмы.

Пока EAV устраивает - все хорошо. Как только нужен нормальный/сложный поиск + нормальные/сложные отчеты от EAV приходится уходить. Ну или оставаясь на EAV создавать тысячи строк говно-кода, который и пишется сложно и на серверах все процессоры и память выжирает.... как только процессоры и память заканчиваются.... от EAV приходится уходить )))

AFAIK

НО на подходящих/простых задачах EAV конечно может упростить кодирование и добавить универсальности. Хотя, не очень понятно, почему тогда вместо EAV просто не использовать Dinamic SQL и не сделать простейший GUI интерфейс к ALTER TABLE ... ADD COLUMN. Для систем 24*7 это конечно вряд ли подходит, но для 99% остальных систем - вполне.

IMHO

Если Вы не умеете работать с EAV, это не значит, что проблемы у нее.
GUI интерфейс к ALTER TABLE ... ADD COLUMN - это бред. Максимум - для студенческих поделок, типа "смотрите как я умею!".
Dinamic SQL обладает не меньшим количеством недостатков, чем EAV. Особенно если использовать его сплошь и рядом.
Говнокод люди пишут, потому как не в состоянии построить нормальную архитектуру, не различают OLTP и DWH, ну и не понимают, где есть смысл в EAV, а где нет.
...
Рейтинг: 0 / 0
EAV модель
    #39607280
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AdxGUI интерфейс к ALTER TABLE ... ADD COLUMN - это бред. Максимум - для студенческих поделок, типа "смотрите как я умею!".

Очень часто нужны настраиваемые системы. К примеру:

www.kamis.ru (alter table)
Модуль Качества из OeBS
Descriptive Flex Fields из того же OeBS
Case в Oracle Utilitites. Customer Care & Billing (все в xml)

что из них более "студенческая поделка", я не знаю. Вариант сделать через alter table, лично мне нравится больше, что извращения с XML, EAV и прочим.

Как "готовить" EAV, что бы по нему был нормальный поиск - лично я не знаю. Написать поиск для EAV (c учетом or, and etc...) можно.... но конструкция из SELECT'ов и UNION'ов будет монструозная. IMHO & AFAIK
...
Рейтинг: 0 / 0
EAV модель
    #39607284
Фотография -2-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AdxМаксимум - для студенческих поделокAxapta так сделана.

AdxDinamic SQL обладает не меньшим количеством недостатков, чем EAV.dynamic это условности времени компиляции и инвалидации хранимого plsql-кода. В клиентском коде все "динамик", в рантайме ораклу все равно, записан ли запрос статически в хранимом коде, или сформирован на лету.
...
Рейтинг: 0 / 0
EAV модель
    #39607289
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тут только один минус, про всякие новомодные средства типа Hibernate лучше забыть )))

ну или придется нефиговую кодогенерацию лепить, совершенно непонятно ради чего.

например Oracle CC&B: Метаданные => анотация-генерация => анотации => xml-генерация по анотация => разбор xml => json - xml - dto - copy book'и - dto - xml - json. Туда, сюда обратно, тебе и мне приятно ( C ) ))) ну и программисты в Маниле работой заняты (copy book'и пишутся вручную!). Зато Hibernate и XML в полный рост )))

AFAIK
...
Рейтинг: 0 / 0
EAV модель
    #39607298
Addx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Leonid KudryavtsevAdxGUI интерфейс к ALTER TABLE ... ADD COLUMN - это бред. Максимум - для студенческих поделок, типа "смотрите как я умею!".

Очень часто нужны настраиваемые системы. К примеру:

www.kamis.ru (alter table)
Модуль Качества из OeBS
Descriptive Flex Fields из того же OeBS
Case в Oracle Utilitites. Customer Care & Billing (все в xml)

что из них более "студенческая поделка", я не знаю. Вариант сделать через alter table, лично мне нравится больше, что извращения с XML, EAV и прочим.

Как "готовить" EAV, что бы по нему был нормальный поиск - лично я не знаю. Написать поиск для EAV (c учетом or, and etc...) можно.... но конструкция из SELECT'ов и UNION'ов будет монструозная. IMHO & AFAIK

Я не говорю, что так не делают. Идея вполне очевидная. GUI есть, ALTER есть, почему бы не объединить?
Но в целом это либо от безысходности (кейсы разные бывают), либо от неумения найти альтернативу.
Но как замена EAV - это бред.
В ORACLE у функции PIVOT какие-то проблемы? Не очень много с ним работал (
...
Рейтинг: 0 / 0
EAV модель
    #39607305
Addx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
-2-AdxМаксимум - для студенческих поделокAxapta так сделана.


У EAV есть один очень серьезный недостаток - ей нужно уметь пользоваться. Все ничего, пока систему пишут профи, но как только она попадает в руки джунов - начинает лезть говнокод. С плоскими таблицами работать проще , и зачастую это перевешивает все возможные достоинства. Если ты уверен, что с системой будут работать ... э ... не очень квалифицированные разработчики, то лучше EAV не использовать. Решается построением ядра вокруг модели, ядро пишут профи, обвязку - джуны, но не всегда возможно. Особенно проблематично, если Вы пишите систему для сторонних разработчиков.
...
Рейтинг: 0 / 0
EAV модель
    #39607311
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AddxНо как замена EAV - это бред.

AFAIK

EAV обычно возникает от желания иметь настраиваемую систему и желание дать возможность настройки пользователю/консультанту/внедренцу.

В обычных монолитных системах, при желание пользователя "добавьте поле": создается таск, выделяется бюджет на доработку. программисты кодят, бюджет пилится, пишутся alter table, создается обновление, админы устанавливают обновление на продакшен,...

Т.к. это обычно долго и не все заказчики обладают достаточным бюджетом соизмеримым с их желанием "добавлять поля", придумывают алтернативы...

Т.е. сделать нормальный интерфейс и дать возможность пользователям/консультантам/внедренцам самим добавлять поля в экранные формы/таблицы, без участия программистов.

В конце концов "компьютер должен работать, а программисты спокойно пить кофе" ( C ) модифицированный принцип IBM

Как именно решается проблема "добавить поле"... EAV, не EAV, "все в XML", кодогенерация... обычному пользователю обычно пофиг. Он и слов таких не знает

AddxВ ORACLE у функции PIVOT какие-то проблемы? Не очень много с ним работал (

При чем тут ф-ция PIVOT?

Как она может помочь с проблемами производительности при поиске в EAV? Как, к примеру, создать составной индекс по нескольким полям в случае структуры типа EAV? Как писать условия типа OR/AND по нескольким полям? А если поля еще ссылаются на справочники, все совсем монстрообразно получается. IMHO & AFAIK
...
Рейтинг: 0 / 0
EAV модель
    #39607315
Фотография Sayan Malakshinov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
cobalt_frog,

Кайта для начала прочтите - половина вопросов по EAV отпадет, а оставшиеся, более узкие уже можно и на форуме задавать...
...
Рейтинг: 0 / 0
EAV модель
    #39607317
проходил мимо...
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AddxВ ORACLE у функции PIVOT какие-то проблемы? Не очень много с ним работал (
Простите, а вы PIVOT собираетесь до фильтрации делать, я правильно понял?
С какими объёмами EAV таблицы вы работали в подобном ключе?

AddxУ EAV есть один очень серьезный недостаток - ей нужно уметь пользоваться. Все ничего, пока систему пишут профи
Вы не могли бы, как профи, провести краткий ликбез по умению пользоваться этой структурой?
Особенно, конечно, интересует поиск по нескольким полям (атрибутам) при попытке соединить несколько сущностей (энтитей).
Спасибо.
...
Рейтинг: 0 / 0
EAV модель
    #39607324
проходил мимо... пользоваться этой я бы начал с вопроса про уникальность по двум атрибутам.
...
Рейтинг: 0 / 0
EAV модель
    #39607330
Фотография dbms_photoshop
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Leonid KudryavtsevКак писать условия типа OR/AND по нескольким полям?index scan + group by + having

Одна из типичных проблем при EAV, то альтернативно одаренные для вывода сущности в плоском виде используют
n self joins вместо single scan + pivot (or group by).
EAV Hell

Потом люди, которым не хватило ума нормально спроектировать создают много вони в интернетах - это главная проблема EAV.

Понимание что имеется компромисс между гибкость и производительностью тоже важно, но учитывая
cobalt_frogОбъемы - десятки тысяч записей в месяц, ждать согласны хоть секундуможно реализовать любые хотелки пользователей.
...
Рейтинг: 0 / 0
EAV модель
    #39607335
dbms_photoshopможно
"Никогда не создавайте метамоделей" (с) не помню чей, но верный.
...
Рейтинг: 0 / 0
EAV модель
    #39607337
Фотография dbms_photoshop
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
антагонистdbms_photoshopможно
"Никогда не создавайте метамоделей" (с) не помню чей, но верный.Худший паттерн - это всегда следовать некоторому паттерну (вольная интерпретация).

Мир не черно белый и для каждой ситуации свой интруент.

Особо творческие личности могут даже пихать динамический набор атрибутов в XML а на него навешивать разные индексы.

Впрочем, я ничего никому не навязываю.
...
Рейтинг: 0 / 0
EAV модель
    #39607350
проходил мимо...
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dbms_photoshopОсобо творческие личности могут даже пихать динамический набор атрибутов в XML а на него навешивать разные индексы.
Кстати, значительно эффективнее на выборках, чем EAV - по крайней мере, этими индексами можно пользоваться.

dbms_photoshopВпрочем, я ничего никому не навязываю.
Аналогично :)
...
Рейтинг: 0 / 0
EAV модель
    #39607369
Фотография orawish
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
по традиции топика и я ничего никому не навязываю.

EAV , конечно, говно..
но кто скажет, что и его нельзя продать ?
можно и (при навыке) удачно
беда приходит тогда (и к тому ) кто норовит сделать из говна конфетку
(а навык только крепнет, главное - не зарываться, а вовремя уйти, например ~туда, где зреет более другой ЕАВ )
...
Рейтинг: 0 / 0
EAV модель
    #39607376
Фотография dbms_photoshop
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
orawishговноговна конфеткуВместо озвучивания своих фантазий фекально-конфетной тематики более профессионально было бы сказать:
имеются такие-то проблемы, или сложно соответствовать таким-то критериям или возникают следующие трудности.

Хотя тут, видимо, просто истерика.
...
Рейтинг: 0 / 0
EAV модель
    #39607411
Adx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Adx
Гость
Leonid Kudryavtsev
... при желание пользователя "добавьте поле": ...



Вот тут и начинаются проблемы. Сидит программист "под пользователем", и тот им управляет:
Добавь поле, поиск, фильтрик ...
Решается не бизнес-задача, а хотелки пользователя. Архитектором системы внезапно оказывается бухгалтер/менеджер/маркетолог ...
EAV не предназначена для реализации сложных бизнес-сущностей, которые обвязаны логикой и связями.
Для таких ситуаций предусмотрена денормализация. Не нужно всю эту информацию запихивать в одну табличку с помощью "ALTER TABLE".
Я никого не хочу обидеть, возможно именно Ваша задача не ложится на EAV, но это не ее проблемы. Разумеется, у любого инструмента есть область приложения.

dbms_photoshop... С какими объёмами EAV таблицы вы работали в подобном ключе? ...


До 100 миллионов примерно.
Потому и спросил, есть ли в Oracle проблемы с этим.
У меня нет особого желания заниматься холиварами, если кто-то считает, что EAV - это г., то пусть считает, его дело.
...
Рейтинг: 0 / 0
EAV модель
    #39607417
XMLer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AdxLeonid Kudryavtsev... при желание пользователя "добавьте поле": ...



Вот тут и начинаются проблемы. Сидит программист "под пользователем", и тот им управляет:
Добавь поле, поиск, фильтрик ...
Решается не бизнес-задача, а хотелки пользователя. Архитектором системы внезапно оказывается бухгалтер/менеджер/маркетолог ...


Беда у Вас с процессом разработки.
...
Рейтинг: 0 / 0
EAV модель
    #39607437
Adx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Adx
Гость
XMLerБеда у Вас с процессом разработки.

К счастью, у меня такого нет. )
Но встречается такое постоянно (
...
Рейтинг: 0 / 0
EAV модель
    #39607450
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AdxВот тут и начинаются проблемы.
Нет тут никаких проблем.

Есть или предметная область со сложным и разнообразным описанием
(www.kamis.ru описание предметов живописи, редкой книги, археологии, всякой живности или например оружия - полностью отличается. Тоже самое оружие. У одного оружия: калибр и вес пули в граммах, а у другого: мощность в мегатоннах и радиус поражения в километрах)

Или ERP-система (OeBS, Axapta) используемая по всему миру, с попыткой объять необъятное и натянуть сову на глобус

AdxСидит программист "под пользователем", и тот им управляет:
Кто под кем сидит на крупных ERP-проектах и кто кого наеб...ет и в какой позе, это IMHO вопрос крайне дискуссионный )))

Но без Flexfields жизнь на проектах внедрения была бы намного печальнее. AFAIK
...
Рейтинг: 0 / 0
39 сообщений из 39, показаны все 2 страниц
Форумы / Oracle [игнор отключен] [закрыт для гостей] / EAV модель
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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