|
|
|
Добавление атрибутов (EAV,Тенцер или др.)
|
|||
|---|---|---|---|
|
#18+
Доброго дня. Есть необходимость сророить схему БД в которой пользователь может сам добавлять новые атрибуты сущностей. В реляционных БД (например MSSQL) это реализуется через EAV... Может быть есть СУБД более подходящая для такой задачи (объектная, xml ...) в плане простоты реализации и последующего быстродействия? Спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.10.2007, 14:25 |
|
||
|
Добавление атрибутов (EAV,Тенцер или др.)
|
|||
|---|---|---|---|
|
#18+
ДедушкаМожет быть есть СУБД более подходящая для такой задачи (объектная, xml ...) в плане простоты реализации и последующего быстродействия? Нету. (Без быстродействия - ХМЛ):) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.10.2007, 15:01 |
|
||
|
Добавление атрибутов (EAV,Тенцер или др.)
|
|||
|---|---|---|---|
|
#18+
А тогда такой вопрос... Читая здесь на форуме по модели Тенцера встретил упоминание, что в sql2005 реализация "легко-адаптируемых" систем делается несколько подругому. Как более правильно реализовать такую ситему конкретно в sql2005 (может какие новые фишки)? Спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.10.2007, 15:20 |
|
||
|
Добавление атрибутов (EAV,Тенцер или др.)
|
|||
|---|---|---|---|
|
#18+
Дедушка, забудьте про "модель Тенцера". Это убогий булшит. Антипаттерн. Пример того, как не следует делать. Наймите человека для постановки задачи, если не в состоянии это сделать самостоятельно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.10.2007, 15:32 |
|
||
|
Добавление атрибутов (EAV,Тенцер или др.)
|
|||
|---|---|---|---|
|
#18+
guest_20040621 wrote: > Дедушка, забудьте про "модель Тенцера". Это убогий булшит. Антипаттерн. > Пример того, как не следует делать. Наймите человека для постановки > задачи, если не в состоянии это сделать самостоятельно. (бурные продолжительные аплодисменты, зал встаёт). Угу... собссна, кроме пчёл - всё булшит. Особенно - если не умеешь применять. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.10.2007, 15:41 |
|
||
|
Добавление атрибутов (EAV,Тенцер или др.)
|
|||
|---|---|---|---|
|
#18+
guest_20040621Дедушка, забудьте про "модель Тенцера". Это убогий булшит. Антипаттерн. Пример того, как не следует делать. Наймите человека для постановки задачи, если не в состоянии это сделать самостоятельно. Постановка задачи есть (у меня на руках ТЗ). И там чётко прописана возможность пользователя не програмиста добавлять новые атрибуты к сущностям (типа EAV). Если предложите вариант структуры позволяющий то-же, но не "булшит" буду признателен ;) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.10.2007, 15:44 |
|
||
|
Добавление атрибутов (EAV,Тенцер или др.)
|
|||
|---|---|---|---|
|
#18+
to locky судя по Вашим постам про "тенцера" у Вас такое реализовано. Для меня это первый опыт с EAV, можно ли будет позадавать вопросы в личке? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.10.2007, 15:46 |
|
||
|
Добавление атрибутов (EAV,Тенцер или др.)
|
|||
|---|---|---|---|
|
#18+
Дедушка guest_20040621Дедушка, забудьте про "модель Тенцера". Это убогий булшит. Антипаттерн. Пример того, как не следует делать. Наймите человека для постановки задачи, если не в состоянии это сделать самостоятельно. Постановка задачи есть (у меня на руках ТЗ). И там чётко прописана возможность пользователя не програмиста добавлять новые атрибуты к сущностям (типа EAV). Если предложите вариант структуры позволяющий то-же, но не "булшит" буду признателен ;) Сумма бюждета в ТЗ указана? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.10.2007, 16:03 |
|
||
|
Добавление атрибутов (EAV,Тенцер или др.)
|
|||
|---|---|---|---|
|
#18+
> чётко прописана возможность пользователя не програмиста добавлять новые атрибуты к сущностям (типа EAV) Что, так и написано "типа EAV"? В печку такие задания. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.10.2007, 16:20 |
|
||
|
Добавление атрибутов (EAV,Тенцер или др.)
|
|||
|---|---|---|---|
|
#18+
locky, не удивили. Я знаю и более тупых людей. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.10.2007, 16:21 |
|
||
|
Добавление атрибутов (EAV,Тенцер или др.)
|
|||
|---|---|---|---|
|
#18+
ДедушкаЕсть необходимость сророить схему БД в которой пользователь может сам добавлять новые атрибуты сущностей. В реляционных БД (например MSSQL) это реализуется через EAV... Не надо делать таких утверждений. В реляционных БД это может быть сделано в том числе и через EAV. В отдельных случаях так даже стоит делать через EAV.... ДедушкаМожет быть есть СУБД более подходящая для такой задачи (объектная, xml ...) в плане простоты реализации и последующего быстродействия? Начать стоит с того, чтобы научиться не путать цель и средства, задачу и механизмы реализации. Для задачи "пользователь может сам добавлять новые атрибуты" реляционные БД отлично подходят. Что же до задачи "схема EAV".... не удивлюсь, если в объектных БД она и впрямь работает лучше. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.10.2007, 16:29 |
|
||
|
Добавление атрибутов (EAV,Тенцер или др.)
|
|||
|---|---|---|---|
|
#18+
guest_20040621 wrote: > locky, не удивили. Я знаю и более тупых людей. Спасибо за комплиман. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.10.2007, 16:32 |
|
||
|
Добавление атрибутов (EAV,Тенцер или др.)
|
|||
|---|---|---|---|
|
#18+
Дедушка wrote: > *to locky* > судя по Вашим постам про "тенцера" у Вас такое реализовано. Для меня это > первый опыт с EAV, можно ли будет позадавать вопросы в личке? Можно. только - сомнительно что поможет :) В любом случае - каждый реализует это по своему. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.10.2007, 16:33 |
|
||
|
Добавление атрибутов (EAV,Тенцер или др.)
|
|||
|---|---|---|---|
|
#18+
guest_20040621 wrote: > Что, так и написано "типа EAV"? В печку такие задания. Заодно туда же можно бросить пачку денег, которые платят за эту задачу. И прогить исключительно "сферических коней в вакууме", которые не будет нарушать "гармонию вселенной". Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.10.2007, 16:35 |
|
||
|
Добавление атрибутов (EAV,Тенцер или др.)
|
|||
|---|---|---|---|
|
#18+
Ок! В вопросе построения адаптируемых систем не силён... поэтому посоветуйте схему (или ссылки на почитать) для системы в которой пользователь (человек не знающий t-sql и не разбирающийся в структуре базы) может создать сущность и создать\добавить атрибуты сущности. Реализация на mssql2005. Например в базе создана сущность "автомобили" с атрибутами "цвет" и "двигатель". Приходит клиент и просит установить на авто систему воздух-воздух. Менеджер добавляет атрибут "система ВВ". Обработчик данных (стандартный) должен подхватить все атрибуты сущности. З.Ы. Ещё раз... я ни когда с таким дело не имел поэтому просьба подсказать. Спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.10.2007, 16:44 |
|
||
|
Добавление атрибутов (EAV,Тенцер или др.)
|
|||
|---|---|---|---|
|
#18+
> В вопросе построения адаптируемых систем В Вашей задаче нет ничего от адаптируемых систем. > посоветуйте схему (или ссылки на почитать) для системы в которой пользователь (человек не знающий t-sql > и не разбирающийся в структуре базы) может создать сущность и создать\добавить атрибуты сущности Задача, сформулированная таким образом, решения не имеет. > сущность "автомобили" с атрибутами "цвет" и "двигатель" "Двигатель" - это тоже сущность. Декомпозиция должна быть осмысленной. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.10.2007, 16:56 |
|
||
|
Добавление атрибутов (EAV,Тенцер или др.)
|
|||
|---|---|---|---|
|
#18+
locky> Что, так и написано "типа EAV"? В печку такие задания. Заодно туда же можно бросить пачку денег, которые платят за эту задачу. Кстати, Вы абсолютно правы. Очень ценное и нечасто встречающееся умение - послать нахрен заказчика с пачкой денег и геморроем на много большую сумму. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.10.2007, 17:01 |
|
||
|
Добавление атрибутов (EAV,Тенцер или др.)
|
|||
|---|---|---|---|
|
#18+
guest_20040621> В вопросе построения адаптируемых систем В Вашей задаче нет ничего от адаптируемых систем. > посоветуйте схему (или ссылки на почитать) для системы в которой пользователь (человек не знающий t-sql > и не разбирающийся в структуре базы) может создать сущность и создать\добавить атрибуты сущности Задача, сформулированная таким образом, решения не имеет. > сущность "автомобили" с атрибутами "цвет" и "двигатель" "Двигатель" - это тоже сущность. Декомпозиция должна быть осмысленной. Давайте не будем заниматься софизмом. Если неправильно назвал подскажите как назвается правильно (под адаптируемостью понимал возможность адаптировать систему под вновь возникшие бизнестребования без участия программиста). Почему нельзя(нестоит) реализовать в EAV? На более высоком уровне абстракции "Двигатель" конечно же сущность, но для моего упрощённого примера это можно не учитывать (считать, что следующего уровня детализации нет). Ещё раз! Я с подобным дела не имел, посему не глумитесь, а подскажите в каких стандартах\схемах это нужно реализовывать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.10.2007, 17:08 |
|
||
|
Добавление атрибутов (EAV,Тенцер или др.)
|
|||
|---|---|---|---|
|
#18+
ДедушкаДекомпозиция должна быть осмысленной. Давайте не будем заниматься софизмом. .[/quot] хм... вы считаете это софизмом? я бы назвал трюизмом... в вашем случае ТЗ обратите внимание на " Иерархические справочники " ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.10.2007, 17:18 |
|
||
|
Добавление атрибутов (EAV,Тенцер или др.)
|
|||
|---|---|---|---|
|
#18+
Вопрос не в том, чтобы добавить поле или таблицу, а вопрос в том, что с этим доп. параметром делать дальше. т.е. как он должен себя проявить в отчетности например. а на тему создания сущностей и атрибутов почитайте http://www.rbsystem.h18.ru/ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.10.2007, 17:27 |
|
||
|
Добавление атрибутов (EAV,Тенцер или др.)
|
|||
|---|---|---|---|
|
#18+
Дедушка (под адаптируемостью понимал возможность адаптировать систему под вновь возникшие бизнестребования без участия программиста ). Почему нельзя(нестоит) реализовать в EAV? На более высоком уровне абстракции "Двигатель" конечно же сущность, но для моего упрощённого примера это можно не учитывать (считать, что следующего уровня детализации нет). Ещё раз! Я с подобным дела не имел, посему не глумитесь, а подскажите в каких стандартах\схемах это нужно реализовывать. А вот это - вряд ли, ИМХО. Допустим, такой простой пример. Реализовали Вы в автомобиле новый атрибут "Система ВВ". Сам по себе этот атрибут малоинтересен, он несет пока чисто справочную нагрузку. Его можно посмотреть, изменить, пофильтровать по нему. И, собственно, все, что можно сделать без изменения бизнес-логики приложения. Поменять бизнес-логику - это не проблема, однако для этого нужен программист. Без этого - никак. Или, в качестве альтернативы, можно создать некоторый язык типа "Бизнес-логика для блондинок за 10 дней". Задача, сами понимаете какого масштаба. Таким образом, архитектура ЕАВ не настраивается без участия программиста. Кроме самых простейших случаев ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.10.2007, 17:27 |
|
||
|
Добавление атрибутов (EAV,Тенцер или др.)
|
|||
|---|---|---|---|
|
#18+
Sergey TokarevПоменять бизнес-логику - это не проблема, однако для этого нужен программист. Без этого - никак. Или, в качестве альтернативы, можно создать некоторый язык типа "Бизнес-логика для блондинок за 10 дней". Задача, сами понимаете какого масштаба. Это задача вполне реального масштаба, и в некоторым смысле очень правильная. Напоминает одну байку, ссылку на нее сходу не нашел, ключевые слова: Код: plaintext 1. 2. 3. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.10.2007, 17:46 |
|
||
|
Добавление атрибутов (EAV,Тенцер или др.)
|
|||
|---|---|---|---|
|
#18+
Похоже действительно пример с автомобилем был очень упрощён :( А если так: есть автомобиль, у него параметры (цвет, двигатель...), у каждого параметра подпараметры (каждый со своим значением) цвет -тип краски(ГП34-Н)-глянец("да")-цена(123,34)... двигатель -тип двигателя(345кеи-23)-форсирован(1\0)... спасибо за подсказку про иерархические справочники , но вот пользователь добавляет параметр "система ВВ" с подпараметром "скан тех.паспорта" влоб поле. как это реализуется? справочник с набором полей всех типов Код: plaintext 1. 2. 3. 4. 5. 6. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.10.2007, 18:17 |
|
||
|
Добавление атрибутов (EAV,Тенцер или др.)
|
|||
|---|---|---|---|
|
#18+
guest_20040621 пишет: > Дедушка, забудьте про "модель Тенцера". Это убогий булшит. Антипаттерн. > Пример того, как не следует делать. Наймите человека для постановки > задачи, если не в состоянии это сделать самостоятельно. Пра булшит песен не надо, равно как и про модель Тенцера (Толя, не икай). Никакая это не модель Тенцера. А пра булшит - ну бывает действительно НАДО. Ну бывают неформализуемые задачи. Другое дело что грамотно это все надо делать и технически, и архитектурно (напомним, что Тенцер все аналитические задачи вываливал на отдельный OLAP-сервер). Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.10.2007, 18:42 |
|
||
|
Добавление атрибутов (EAV,Тенцер или др.)
|
|||
|---|---|---|---|
|
#18+
> А пра булшит - ну бывает действительно НАДО. Не бывает. Вот моСК может отсутствовать, это да. И у постановщика задачи, и у кодеров. Это - не норма. Это отклонение. > Ну бывают неформализуемые задачи. Например? > Тенцер Послушайте, я тоже могу процитировать все надписи на ближайшем заборе. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.10.2007, 18:51 |
|
||
|
Добавление атрибутов (EAV,Тенцер или др.)
|
|||
|---|---|---|---|
|
#18+
> Это - не норма. Это отклонение. Пишут девять из десяти современников "щас" и "щастье", и значит это уже норма и вовсе не отклонение. Из ста доброжелательно настроенных посетителей находится один "булшитствующий" - и это тоже норма а не отклонение, как могло бы показаться поначалу... > Например? Угу, лучший ответ на любой вопрос - задать свой вопрос, это тоже норма. > Послушайте, я тоже могу процитировать все надписи на ближайшем заборе. Все могут, и это норма. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.10.2007, 19:20 |
|
||
|
Добавление атрибутов (EAV,Тенцер или др.)
|
|||
|---|---|---|---|
|
#18+
> девять из десяти современников "щас" и "щастье" Мне, дружище, с дебилами обсуждать нечего. Независимо от того, что _они_ считают нормой. > доброжелательно настроенных посетителей Вы себе представить не можете, насколько я доброжелателен. Каждый должен делать свою работу. Решая задачу, которую принципиально решить не в состоянии, воруешь время и деньги людей, которые умеют это делать. Занимаешь чужое место. Создаёшь напряжённость на рынке труда. > Все могут Конечно. Но не все делают. В этом и разница. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.10.2007, 20:11 |
|
||
|
Добавление атрибутов (EAV,Тенцер или др.)
|
|||
|---|---|---|---|
|
#18+
> Каждый должен делать свою работу. Решая задачу, которую принципиально решить не в состоянии, воруешь время и деньги людей, которые умеют это делать. Занимаешь чужое место. Создаёшь напряжённость на рынке труда. Наилучшая социальная "интеграция" наблюдается у насекомых (муравьи, пчелы), оплата за такую "идеальность" - неизменность на протяжении миллионов лет. Согласен с теми кто считает что это - тупиковая ветвь развития (эволюции), т.е. "максимум устойчивости - минимум развития" (насекомые) vs "минимум устойчивости - максимум развития" (человек). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.10.2007, 20:49 |
|
||
|
Добавление атрибутов (EAV,Тенцер или др.)
|
|||
|---|---|---|---|
|
#18+
guest_20040621 пишет: > > Тенцер > Послушайте, я тоже могу процитировать все надписи на ближайшем заборе. Со скептицизмом согласен, но дело-то в том, что не Тенцер это все придумал, полно баз данных в мире, построенных по таким принципам. Другое дело, что такое решение должно быть оправдано, а не принято с бухты-барахты как очередной silver bullet. Мы вот напр. напрямую пострадали от безграмотного применения такого подхода. Но это же не всегда бывает. И потом, можно же сочетать такой подход с традиционным (что я даже сам лично делал), что очень даже хорошо работает - нужны доп. атрибуты - пожалуйста, навешивай (только сделать с ними ничего нельзя, только посмотреть и поменять, но часто больше ничего и не надо), а обрабатываемые атрибуты лежат в норм. реляционных таблицах. Я не могу к сож. привести пример совсем уж неформализуемой задачи. Но вполне допускаю, что они могут быть. Или их не нужно формализовывать. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.10.2007, 22:39 |
|
||
|
Добавление атрибутов (EAV,Тенцер или др.)
|
|||
|---|---|---|---|
|
#18+
> Наилучшая социальная "интеграция" наблюдается у насекомых (муравьи, пчелы) И у пчел, и у муравьев есть разделение труда. > неизменность на протяжении миллионов лет Готовы показать журнал наблюдений? > "минимум устойчивости - максимум развития" (человек) Уж конечно, общество потребления - венец эволюции. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.10.2007, 23:06 |
|
||
|
Добавление атрибутов (EAV,Тенцер или др.)
|
|||
|---|---|---|---|
|
#18+
> но дело-то в том Блин, ну неужели не надоело в сотый раз обсуждать одно и то же? Раз в полгода флейм страниц на десять минимум с одинаковым результатом. > можно же сочетать такой подход с традиционным Либо у Вас есть глобальная метамодель, либо нет. Не бывает промежуточного состояния. > не могу к сож. привести пример совсем уж неформализуемой задачи Вот и я не могу. Все псевдометаструктуры, которые я видел, были связаны с безграмотной постановкой задачи. Убежден, и в данном случае это имеет место. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.10.2007, 23:18 |
|
||
|
Добавление атрибутов (EAV,Тенцер или др.)
|
|||
|---|---|---|---|
|
#18+
> И у пчел, и у муравьев есть разделение труда. > Готовы показать журнал наблюдений? Не готов превращаться в "насекомое", предпочитаю оставаться "человеческой машиной" со всеми видовыми недостатками, как то "великодушие", "терпимость" (как видовые поведенческие черты). > Уж конечно, общество потребления - венец эволюции. "Венец" предполагает ее(эволюции) окончание, может лучше - "острие эволюции" ("У природы нет других мозгов кроме человеческих" (с) Бернард Шоу) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.10.2007, 00:20 |
|
||
|
Добавление атрибутов (EAV,Тенцер или др.)
|
|||
|---|---|---|---|
|
#18+
Идеальный пример неформализуемой задачи - оконная процедура. На вход прилетает четыре инта, из которых первый - указатель на окно, второй - номер события, а третий и четвертый несут дополнительную информацию и их смысл уникален почти что в каждом конкретном случае. Вы же не будете создавать несколько миллионов таблиц - по одной на каждый message? И похожего между ними будет немного - как максимум, может удаться сгруппировать по категориям сообщений, но вот изменились спецификации, и мы имеем на колу мочало. Я понимаю, что с практической точки зрения пример весьма отвлеченный и мало чего стоит; но как пример - почему бы и нет. Кроме того, некоторые системы, изначально нацеленные именно на требуемую автору гибкость, действительно приходится строить с использованием, хотя бы отчасти, концепции EAV. Например, системы документооборота - ну не представляю я, как еще можно позволить юзеру создавать документы произвольной структуры, чтобы по ним при этом еще и поисковые запросы быстро работали. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.10.2007, 00:24 |
|
||
|
Добавление атрибутов (EAV,Тенцер или др.)
|
|||
|---|---|---|---|
|
#18+
Ennor TiegaelИдеальный пример неформализуемой задачи - оконная процедура. В описанной Вами постановке она как раз идеально формализована. Потому что "смысл уникален" существует только в Вашем воображении, а в реальности единственный смысл этих параметров с точки зрения таблицы - "быть куда-то переданными", и с этим они с блеском справляются. Ennor Tiegaelс использованием, хотя бы отчасти, концепции EAV. Например, системы документооборота - ну не представляю я, как еще можно позволить юзеру создавать документы произвольной структуры, чтобы по ним при этом еще и поисковые запросы быстро работали. EAV + "быстро работали"? Хм.... Создаю документ произвольной структуры: талон комплектации-разукомплектации. В нем шапка плюс два списка позиций: "было" и "стало". Поисковый запрос: найти талоны, в которых в позициях "было" присутствует "C" в количестве не менее двух штук и "H" в количестве не менее 5 штук, а в "стало" - "спирт этиловый" с атрибутом "градус" значением не ниже 98. Буду рад увидеть структуру EAV и план быстро работающего запроса. "Быстро", само собой, подразумевает "по сравнению с альтернативными реализациями". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.10.2007, 00:55 |
|
||
|
Добавление атрибутов (EAV,Тенцер или др.)
|
|||
|---|---|---|---|
|
#18+
> похожего между ними будет немного Все с точностью до наоборот. Еще примеры? > ну не представляю я, как еще можно позволить юзеру создавать документы произвольной структуры, > чтобы по ним при этом еще и поисковые запросы быстро работали Поделитесь, пожалуйста, в чем заключается сложность? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.10.2007, 01:11 |
|
||
|
Добавление атрибутов (EAV,Тенцер или др.)
|
|||
|---|---|---|---|
|
#18+
guest_20040621Все псевдометаструктуры, которые я видел, были связаны с безграмотной постановкой задачи. Убежден, и в данном случае это имеет место. А, вот для хамства я ни одним своим постом повода не давал. guest_20040621Блин, ну неужели не надоело в сотый раз обсуждать одно и то же? Раз в полгода флейм страниц на десять минимум с одинаковым результатом. Ну дак все Ваши посты состоят исключительно из "глобальная метамодель", "уровень абстракции" и пр. Может поэтому и обсуждается одно и то же в сотый раз, а? Я ведь не собираюсь изобретать велосипед, поэтому и спрашиваю (за отсутствием личного опыта) как подобные задачи реализуются. Пример задачи я привёл (про автомобиль) З.Ы. В названии темы есть "EAV,Тенцер или др. " если Вы считаете, что подобные задачи нужно реализовывать не EAV, а именно др. ну дак подскажите как на др. и всех делов, чего изгаляться то (топ закончился бы на пятом посте). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.10.2007, 01:16 |
|
||
|
Добавление атрибутов (EAV,Тенцер или др.)
|
|||
|---|---|---|---|
|
#18+
> для хамства я ни одним своим постом повода не давал Вы про безграмотную постановку задачи? Это не хамство. Она действительно поставлена безграмотно. Как факт. Не было намерения никого обидеть. > Я ведь не собираюсь изобретать велосипед Да нет, как раз собираетесь. Воспользуйтесь поиском по форуму. До Вас народ строил универсальные хранилища, описывал товары с любым количеством атрибутов и занимался прочей аналогичной фигней. Вам - не только я, а все желающие отметиться в обсуждении - скажут ровно то, что говорят всегда. Проблема не в Вас. Проблема в постановке задачи. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.10.2007, 01:41 |
|
||
|
Добавление атрибутов (EAV,Тенцер или др.)
|
|||
|---|---|---|---|
|
#18+
Есть такая партия... то есть система. Мой коллега придумал http://arbinada.com/main/node/120#comment-54]вот тут описано А я реализовал и сделал прикладную задачу СЭД (система электронного документооборота) Описываем метаданные, и запускаем компилятор. В базе создаются необходимые объекты (таблицы, вьюхи, процедуры, триггеры). В метаданных же описываем интерфейс для простых автоформ. Сложные формы делаем в Дельфях, для этого есть базовая форма, на которой имеется компонента TDBObject, через нее идет доступ к данным и методам, к ней же присоединяются контролы (гриды, панели) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.10.2007, 08:46 |
|
||
|
Добавление атрибутов (EAV,Тенцер или др.)
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.10.2007, 08:48 |
|
||
|
Добавление атрибутов (EAV,Тенцер или др.)
|
|||
|---|---|---|---|
|
#18+
guest_20040621Она действительно поставлена безграмотно. Как факт. > Я ведь не собираюсь изобретать велосипед Да нет, как раз собираетесь. Воспользуйтесь поиском по форуму. До Вас народ строил универсальные хранилища, описывал товары с любым количеством атрибутов и занимался прочей аналогичной фигней. Вам - не только я, а все желающие отметиться в обсуждении - скажут ровно то, что говорят всегда. Проблема не в Вас. Проблема в постановке задачи. Изобретение велосипеда и поиск по форуму, есть противоречие Вы не находите? Хотя, Вашу позицию я понял и это не так важно как то "почему задача поставлена безграмотно?". Опять всё уходит в никуда. Давайте конкретно, пример про автомобиль я привёл. Объясните мне (дабы я мог аргументированно общаться с постановщиками задачи) почему такая постановка безграмотна. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.10.2007, 09:22 |
|
||
|
Добавление атрибутов (EAV,Тенцер или др.)
|
|||
|---|---|---|---|
|
#18+
softwarerБуду рад увидеть структуру EAV и план быстро работающего запроса. "Быстро", само собой, подразумевает "по сравнению с альтернативными реализациями". Индекс по значению. Ессно EAV всегда медленнее "нормальной" структуры, но надо ведь не "Быстро", а "Достаточно Быстро". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.10.2007, 10:20 |
|
||
|
Добавление атрибутов (EAV,Тенцер или др.)
|
|||
|---|---|---|---|
|
#18+
Ну, понятно... Много громких и умных слов, а на деле ни чего. На конкретный вопрос так ответа и не получил (почему задача поставлена безграмотно?). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.10.2007, 12:49 |
|
||
|
Добавление атрибутов (EAV,Тенцер или др.)
|
|||
|---|---|---|---|
|
#18+
ДедушкаНа конкретный вопрос так ответа и не получил (почему задача поставлена безграмотно?). На конкретный вопрос - конкретный ответ: для EAV лучше всего подходят РСУБД, потому что позволяют проиндексировать все что нужно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.10.2007, 12:54 |
|
||
|
Добавление атрибутов (EAV,Тенцер или др.)
|
|||
|---|---|---|---|
|
#18+
ДедушкаНа конкретный вопрос так ответа и не получил (почему задача поставлена безграмотно?). просто любопытно - к какому ответу на такой вопрос вы готовы ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.10.2007, 12:54 |
|
||
|
Добавление атрибутов (EAV,Тенцер или др.)
|
|||
|---|---|---|---|
|
#18+
Дедушка wrote: > На конкретный вопрос так ответа и не получил (почему задача поставлена > безграмотно?). По той же самой причине, по которой не стоит слушать Шаляпина - хрипит, шепелявит... Ибо - Рабинович напел ;) Сиречь топикстартер в двух словах обрисовал своё понимание некоей пока неведомой нам постановки неведомой нам задачи. На основании сего "напева" мы и делаем вывод: топикстартер - дурак, задача - прибаханая, заказчик - лох, зато мы все - на белых конях и с золотыми погонАми :) Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.10.2007, 12:55 |
|
||
|
Добавление атрибутов (EAV,Тенцер или др.)
|
|||
|---|---|---|---|
|
#18+
На конкретный пример про автомобили(см. выше) получил ответ, что мол постановка дурацкая. Задал прямой вопрос объясните почему дурацкая. Я понял бы если "трудно реализуема" или "на EAV не делай делай лучше так...", а вот "дурацкая" не понимаю. Нет ну реально не понимаю... и прошу объяснить. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.10.2007, 13:19 |
|
||
|
Добавление атрибутов (EAV,Тенцер или др.)
|
|||
|---|---|---|---|
|
#18+
locky, я ошибся пару сообщений назад. Таки нет, удивили, тупее не знаю. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.10.2007, 14:01 |
|
||
|
Добавление атрибутов (EAV,Тенцер или др.)
|
|||
|---|---|---|---|
|
#18+
ДедушкаНа конкретный пример про автомобили(см. выше) получил ответ, что мол постановка дурацкая. Задал прямой вопрос объясните почему дурацкая. Я понял бы если "трудно реализуема" или "на EAV не делай делай лучше так...", а вот "дурацкая" не понимаю. Нет ну реально не понимаю... и прошу объяснить. Дурацкая она потому, что не отвечает на вопрос "а зачем пользователю самому добавлять какие то атрибуты ?" Что он с ними будет делать ? Как в дальнейшем использовать ? И почему их добавляет именно пользователь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.10.2007, 14:08 |
|
||
|
Добавление атрибутов (EAV,Тенцер или др.)
|
|||
|---|---|---|---|
|
#18+
ДедушкаНет ну реально не понимаю... и прошу объяснить. смотрите в сторону иерархических справочников... впрочем боян если рассматривать ваш пример с установкой на автомобиль "системы типа В-В" перечтите внимательнее сообщения других отвечавших на ваш вопрос ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.10.2007, 14:08 |
|
||
|
Добавление атрибутов (EAV,Тенцер или др.)
|
|||
|---|---|---|---|
|
#18+
guest_20040621 wrote: > locky, я ошибся пару сообщений назад. Таки нет, удивили, тупее не знаю. Еще одно гран мерси. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.10.2007, 14:11 |
|
||
|
Добавление атрибутов (EAV,Тенцер или др.)
|
|||
|---|---|---|---|
|
#18+
Alexey KudinovДурацкая она потому, что не отвечает на вопрос "а зачем пользователю самому добавлять какие то атрибуты ?" Что он с ними будет делать ? Как в дальнейшем использовать ? И почему их добавляет именно пользователь. Нет ну я действительно хочу разобраться... В рамках приведёной упрощённой задачи: данный бизнес очень динамичен(периодически появляются новые параметры учёта) поэтому при первоначальной постановке задачи озвучены параметры учёта какие есть сейчас и пожелание иметь возможность добавить самим (в динамике) не заказывая доп. разработок: "пришёл клиент с пожеланием, а у нас в системе нет такого параметра учёта... мы его сами завели и клиента окучили" Что делать и как использовать... строить отчёты о количестве проданых авто с системой В-В или др. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.10.2007, 14:21 |
|
||
|
Добавление атрибутов (EAV,Тенцер или др.)
|
|||
|---|---|---|---|
|
#18+
proposed amendment ДедушкаНет ну реально не понимаю... и прошу объяснить. смотрите в сторону иерархических справочников... впрочем боян если рассматривать ваш пример с установкой на автомобиль "системы типа В-В" перечтите внимательнее сообщения других отвечавших на ваш вопрос За справочники я уже спасибнул :) По поводу ответов... насчёт реализации, да. А, вот "почему дурацкая", нет. Ешё раз, почему постановка дурацкая? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.10.2007, 14:24 |
|
||
|
Добавление атрибутов (EAV,Тенцер или др.)
|
|||
|---|---|---|---|
|
#18+
потому, что уже объясняли - "двигатель" или "наличие системы В-В" это не атрибут автомобиля... это запись о наличии отношения экземпляра (например) двигателя (кузова, лобового стекла, колеса) к экземпляру (например) автомобиля. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.10.2007, 14:30 |
|
||
|
Добавление атрибутов (EAV,Тенцер или др.)
|
|||
|---|---|---|---|
|
#18+
proposed amendmentпотому, что уже объясняли - "двигатель" или "наличие системы В-В" это не атрибут автомобиля... это запись о наличии отношения экземпляра (например) двигателя (кузова, лобового стекла, колеса) к экземпляру (например) автомобиля. Это спор о терминах, а не ответ на вопрос . Атрибут с латыни вообще "приписывание". Или существенное свойство объекта. В постановке задачи про авто говорится о наличии определённых параметров автомобиля и возможности добавлять их самому. Заказчику всё равно атрибуты это будут или экземпляры. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.10.2007, 14:41 |
|
||
|
Добавление атрибутов (EAV,Тенцер или др.)
|
|||
|---|---|---|---|
|
#18+
ДедушкаЧто делать и как использовать... строить отчёты о количестве проданых авто с системой В-В или др. вот видите, строить отчеты. Не зная как у вас организовано построение отчетов (например требуется ли при добавлении нового "атрибута" изменять сам отчет), и что это собственно за отчеты по прежнему невозможно ответить на ваш вопрос в исходном посте "как это сделать". Но уже можно сказать, что от "добавления новых атрибутов" вы хотите получить нечто большее, чем просто формализированный ввод комментария, т.к. эти атрибуты будут учавствовать в каком то анализе. Ну и сразу ИМХО - как только появляется слово "отчеты", т.е. более или менее сложные выборки EAV лучше не рассматривать. Подчеркиваю - это совет не зная всей вашей ситуации, что у вас и как. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.10.2007, 15:01 |
|
||
|
Добавление атрибутов (EAV,Тенцер или др.)
|
|||
|---|---|---|---|
|
#18+
Alexey Kudinov wrote: > Ну и сразу ИМХО - как только появляется слово "отчеты", т.е. более или > менее сложные выборки EAV лучше не рассматривать. Достаточно спорное, разве что - имхо :) Не шибко быстро будет - это да, зато - крайне формализуемо и удобно для настройки (в определенных пределах, разумеется). Тоже самое касается и имплементации документов. Ессно, нельзя "ВСЁ" резализовать "силами юзера" - но можно свести к необходимому минимуму участие прогера в процессе кастомизации проекта. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.10.2007, 15:06 |
|
||
|
Добавление атрибутов (EAV,Тенцер или др.)
|
|||
|---|---|---|---|
|
#18+
Alexey Kudinov. Спасибо за ответы. Ну в данном контексте отчёты как я и написал (количество авто с заданным параметром\ами) (Продано 10 авто с форсированным двигателем и 2 авто с системой В-В.) При этом у этих параметров есть свои параметры (файл в blob поле для "система В-В") котрые нужно хранить и которых первоначально может не существовать в системе. Т.е. при пополнении справочника "связанных с авто параметров" нужно либо создавать для их подпараметров отдельные таблицы либо заранее в системе предусмотреть хранение подпараметров всех основных(приводимых) типов... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.10.2007, 15:13 |
|
||
|
Добавление атрибутов (EAV,Тенцер или др.)
|
|||
|---|---|---|---|
|
#18+
lockyДостаточно спорное, разве что - имхо :) Да, я знаю что спорное. Спорить не хочу - смысла нет lockyНе шибко быстро будет - это да, зато - крайне формализуемо и удобно для настройки (в определенных пределах, разумеется). Гм. Это можно прочитать так "да, это медленно работает, но зато так удобнее запрограммировать" Я не уверен что это пользователь безусловно поймет такую позицию. Конечно можно ему попытаться обьяснить типа: либо сделаем сейчас, но будет медленно работать, либо через месяц но будет быстро. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.10.2007, 15:27 |
|
||
|
Добавление атрибутов (EAV,Тенцер или др.)
|
|||
|---|---|---|---|
|
#18+
ДедушкаСпасибо за ответы. Ну в данном контексте отчёты как я и написал (количество авто с заданным параметром\ами) (Продано 10 авто с форсированным двигателем и 2 авто с системой В-В.) При этом у этих параметров есть свои параметры (файл в blob поле для "система В-В") котрые нужно хранить и которых первоначально может не существовать в системе. Т.е. при пополнении справочника "связанных с авто параметров" нужно либо создавать для их подпараметров отдельные таблицы либо заранее в системе предусмотреть хранение подпараметров всех основных(приводимых) типов... Т.е. у параметров есть еще какие-то непростые параметры ? Все чудесатее и чудесатее... Тогда еще один совет (последний) Пусть заказчик опишет что у него есть сейчас. Потом напишет что еще может быть (предельно конкретно, без "и т.д."). Вы это все сделаете. На обычных таблицах, с ссылочной целостностью, с констрейнтами, как положено. А остальное - за отдельные деньги, но тоже по старинке. Похоже что отмазки про "динамичный бизнес" - от нежелания подумать и от жадности. Бизнес у всех "динамичный" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.10.2007, 15:37 |
|
||
|
Добавление атрибутов (EAV,Тенцер или др.)
|
|||
|---|---|---|---|
|
#18+
Один из вариантов скрещивания слона с ужом- Sql server O/R hybrid database .Ссылки на исходники нерабочие, но у меня завалялся древний вариант. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.10.2007, 15:45 |
|
||
|
Добавление атрибутов (EAV,Тенцер или др.)
|
|||
|---|---|---|---|
|
#18+
Alexey Kudinov Что он с ними будет делать ? Как в дальнейшем использовать ? И почему их добавляет именно пользователь. А до этих вопросов автор еще не дошел :) (хотя ответы на них есть) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.10.2007, 15:53 |
|
||
|
Добавление атрибутов (EAV,Тенцер или др.)
|
|||
|---|---|---|---|
|
#18+
Alexey KudinovТ.е. у параметров есть еще какие-то непростые параметры ? Все чудесатее и чудесатее... Тогда еще один совет (последний) Пусть заказчик опишет что у него есть сейчас. Потом напишет что еще может быть (предельно конкретно, без "и т.д."). Вы это все сделаете. На обычных таблицах, с ссылочной целостностью, с констрейнтами, как положено. А остальное - за отдельные деньги, но тоже по старинке. Похоже что отмазки про "динамичный бизнес" - от нежелания подумать и от жадности. Бизнес у всех "динамичный" Да, нет... про непростые параметры я описывал в постах выше в задаче про автомобили... Если совсем просто то это так: есть контора торгующая авто. В системе учёта учитываются "параметры" авто (это то что клиент хочет поставить на заказываемое авто) Сейчас они торгуют авто с возможностью выбора для клиента только двух параметров (цвет и тип двигателя), но при этом хотят чтобы если пришёл клиент и захотел некую небывалую фишку (ну не знаю... пусть спутниковую тарелку) на авто, его не терять, а поставить ему это. При этом эту тарелку нужно как то учесть в системе (раньше они и предположить не могли что такое возникнет, принципиально не возможно учесть гепотетические пожелания человека). Поэтому хотят добавления параметров авто в динамике без участия прогера. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.10.2007, 16:12 |
|
||
|
Добавление атрибутов (EAV,Тенцер или др.)
|
|||
|---|---|---|---|
|
#18+
ДедушкаЕсли совсем просто то это так: есть контора торгующая авто. В системе учёта Дедушка, ты упорно отказываешься слушать о чем тебе говорят или просто пока не готов понять Автомобили самых разных конфигураций легко описываются в система Parent-Child, применение EAV тут не имеет смысла (неоправдано) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.10.2007, 16:26 |
|
||
|
Добавление атрибутов (EAV,Тенцер или др.)
|
|||
|---|---|---|---|
|
#18+
2 Дедушка в целом в спор влезать не хочу, но пример откровенно дурацкий. Сорри если обидел:). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.10.2007, 16:33 |
|
||
|
Добавление атрибутов (EAV,Тенцер или др.)
|
|||
|---|---|---|---|
|
#18+
proposed amendment ДедушкаЕсли совсем просто то это так: есть контора торгующая авто. В системе учёта Дедушка, ты упорно отказываешься слушать о чем тебе говорят или просто пока не готов понять Автомобили самых разных конфигураций легко описываются в система Parent-Child, применение EAV тут не имеет смысла (неоправдано) Ну этого я очень долго добивался вопия "люди подскажите...EAV,Тенцер или др." Про парент-чилд понял эн постов назад. Как организовывать при добавлении нового чилда к паренту "авто" хранение параметров этого чилда тип котрых отличается от типов уже хранящихса параметров других чилдов (другие были varchar, а новый image)? Заводить под каждый возможный тип свою таблицу заранее? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.10.2007, 16:37 |
|
||
|
Добавление атрибутов (EAV,Тенцер или др.)
|
|||
|---|---|---|---|
|
#18+
U-gene2 Дедушка в целом в спор влезать не хочу, но пример откровенно дурацкий. Сорри если обидел:). ИМХО на дурацких примерах (с первого взгляда) можно понять непонятные вещи. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.10.2007, 16:43 |
|
||
|
Добавление атрибутов (EAV,Тенцер или др.)
|
|||
|---|---|---|---|
|
#18+
ДедушкаСейчас они торгуют авто с возможностью выбора для клиента только двух параметров (цвет и тип двигателя), но при этом хотят чтобы если пришёл клиент и захотел некую небывалую фишку (ну не знаю... пусть спутниковую тарелку) на авто, его не терять, а поставить ему это. При этом эту тарелку нужно как то учесть в системе (раньше они и предположить не могли что такое возникнет, принципиально не возможно учесть гепотетические пожелания человека). Поэтому хотят добавления параметров авто в динамике без участия прогера.Мне кажется, что список _допустимого_ доп. оборудования для конкретной марки авто вполне себе конечный и определяется производителем. Если это не фирма занимающаяся каким-то эксклюзивным тюнингом. Но в любом случае, потеряют ли они клиента в последнюю очередь зависит от функционала ПО, которое они используют для регистрации пожеланий клиента. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.10.2007, 16:44 |
|
||
|
Добавление атрибутов (EAV,Тенцер или др.)
|
|||
|---|---|---|---|
|
#18+
ДедушкаЗаводить под каждый возможный тип свою таблицу заранее? возможно хранение общих или сходных атрибутов в одной сквозной таблице-справочнике под атрибуты "нетипичного типа" - набор атрибутов выходящих за рамки общих создавать отдельную таблицу, но лучше, конечно, унифицировать набор атрибутов. в конце концов никому еще не удавалось созадь универсальную БД на все случаи пользователя... тема так часто уже поднималась-обсуждалась в этом и другом форумах, что только вашей ленью можно объяснить три страницы этой, очевидно никчемной, ветки. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.10.2007, 16:46 |
|
||
|
Добавление атрибутов (EAV,Тенцер или др.)
|
|||
|---|---|---|---|
|
#18+
Я вообще не понимаю о чем идет речь. Все решается элементарно. Надо 3 таблицы 1.Марка автомобиля 2.Список комплектующих (дигатель, колеса, кузов, система ВВ - не знаю что такое) и т.д. 3.Таблица джля связи много-ко-многим. В первую заводим запись 1."Модель 1 без ВВ" и перечисляем из чего эта модель состоит 2."Модель 1 С ВВ" - перечисляем все тоже самое, что и для первой, но еще доавляем систему ВВ и все. Теперь система ВВ имеет такие жрава как и двигатель. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.10.2007, 16:51 |
|
||
|
Добавление атрибутов (EAV,Тенцер или др.)
|
|||
|---|---|---|---|
|
#18+
очепятка жрава-права ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.10.2007, 16:52 |
|
||
|
Добавление атрибутов (EAV,Тенцер или др.)
|
|||
|---|---|---|---|
|
#18+
Alexey Kudinov ДедушкаСейчас они торгуют авто с возможностью выбора для клиента только двух параметров (цвет и тип двигателя), но при этом хотят чтобы если пришёл клиент и захотел некую небывалую фишку (ну не знаю... пусть спутниковую тарелку) на авто, его не терять, а поставить ему это. При этом эту тарелку нужно как то учесть в системе (раньше они и предположить не могли что такое возникнет, принципиально не возможно учесть гепотетические пожелания человека). Поэтому хотят добавления параметров авто в динамике без участия прогера.Мне кажется, что список _допустимого_ доп. оборудования для конкретной марки авто вполне себе конечный и определяется производителем. Если это не фирма занимающаяся каким-то эксклюзивным тюнингом. Но в любом случае, потеряют ли они клиента в последнюю очередь зависит от функционала ПО, которое они используют для регистрации пожеланий клиента. Мы опять пытаемя думать о бизнесе(продажа авто), а не о реализации. Почему такая постановка задачи "дурацкая" я так и не услышал, да, своебразная, но вполне понятная. Как организовать хранение параметров новых чилдов? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.10.2007, 16:54 |
|
||
|
Добавление атрибутов (EAV,Тенцер или др.)
|
|||
|---|---|---|---|
|
#18+
SeVaОдин из вариантов скрещивания слона с ужом- Sql server O/R hybrid database .Ссылки на исходники нерабочие, но у меня завалялся древний вариант. Можете поделиться? Очень любопытно посмотреть. Если по каким-то причинам не захотите запостить на форуме, киньте, плиз sukkulent<@>gmail.com Буду весьма признателен :) А то пока дождусь "Nordic 2.0 will be launched as an Open Source project at SQL Teach, Nov 28 in Vancouver, Canada.", могу забыть :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.10.2007, 16:54 |
|
||
|
Добавление атрибутов (EAV,Тенцер или др.)
|
|||
|---|---|---|---|
|
#18+
proposed amendment ДедушкаЗаводить под каждый возможный тип свою таблицу заранее? возможно хранение общих или сходных атрибутов в одной сквозной таблице-справочнике под атрибуты "нетипичного типа" - набор атрибутов выходящих за рамки общих создавать отдельную таблицу, но лучше, конечно, унифицировать набор атрибутов. в конце концов никому еще не удавалось созадь универсальную БД на все случаи пользователя... тема так часто уже поднималась-обсуждалась в этом и другом форумах, что только вашей ленью можно объяснить три страницы этой, очевидно никчемной, ветки. Да я давно уже понял как это сделать и поиск то же давно поюзал. Просто всеми этими наводящими вопросами я пытался добится того чтобы мне кто ни будь объяснил почему такая постановка задачи "дурацкая" ибо это было заявлено прямо и безапеляционно (ну может быть я действительно чего ещё не знаю). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.10.2007, 17:02 |
|
||
|
Добавление атрибутов (EAV,Тенцер или др.)
|
|||
|---|---|---|---|
|
#18+
ДедушкаПросто всеми этими наводящими вопросами я пытался добится того чтобы мне кто ни будь объяснил почему такая постановка задачи "дурацкая" ибо это было заявлено прямо и безапеляционно (ну может быть я действительно чего ещё не знаю). если у вас есть вопросы по поводу комментариев отвечавших, спрашивайте отвечавших. Нет смысла задавать "Наводящие вопросы" - это не рационально, как минимум. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.10.2007, 17:09 |
|
||
|
Добавление атрибутов (EAV,Тенцер или др.)
|
|||
|---|---|---|---|
|
#18+
Ну дак я почти в каждом посте вопил "почему дурацкая?" Всё равно, спасибо всем кто отвечал по существу, а не глумился. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.10.2007, 17:11 |
|
||
|
Добавление атрибутов (EAV,Тенцер или др.)
|
|||
|---|---|---|---|
|
#18+
ДедушкаНу дак я почти в каждом посте вопил "почему дурацкая?". потому, что в вашем варианте "пользователь" стремительно приближается к "разработчик" по мере роста количества "добавленных пользователем атрибутов" и сложности БД. только в одном случае владелец разработки будет приглашать "разработчика" специалиста на доработку системы, а в другом случае поручать доработку "разработчику" не специалисту со всеми вытекающими представьте, что Windows Explorer и файловая система OS представляет собой частный случай языка программирования - поручите пользователю что-то на нем написать... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.10.2007, 17:29 |
|
||
|
Добавление атрибутов (EAV,Тенцер или др.)
|
|||
|---|---|---|---|
|
#18+
Почему дурацкая? Насколько я понял, есть список компонент/фичь который может раширяться. Есть возможность не поставить/поставить (возможно несколько штук) на машину. Получается таблица с машинами, таблица с фичами (в которую продавец может вбивать хоть антенну, хоть розовый цвет, хоть девушку в комплекте) и таблица связей между ними содержащая например поле "кол-во". Это и есть и задача изначально и ее решение. Никакой это не EAV. Дурацкая, потому, что у Вас существует изначально неправлильное мнение, что добавление фичи типа антенны должно приводить к созданию нового атрибута в записи о машине. Не в обиду будет сказано - кончайте пользоваться Excel'ем (сорри если обидел). :). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.10.2007, 17:52 |
|
||
|
Добавление атрибутов (EAV,Тенцер или др.)
|
|||
|---|---|---|---|
|
#18+
Не совсем так. Если максимизировать то это приблизится к изи лангрич в сиквеле :) А на обычном уровне пользователь пополняет справочники через формы и более ни очём не задумывается. Вся работа ложится на ядро. Это конечно из разряда "сделай нам красиво", но тем не менее. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.10.2007, 17:56 |
|
||
|
Добавление атрибутов (EAV,Тенцер или др.)
|
|||
|---|---|---|---|
|
#18+
предыдущий мой ответ был для proposed amendment ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.10.2007, 17:56 |
|
||
|
Добавление атрибутов (EAV,Тенцер или др.)
|
|||
|---|---|---|---|
|
#18+
up хочется понять, поджидать или нет это "as an Open Source" sukkulent SeVaОдин из вариантов скрещивания слона с ужом- Sql server O/R hybrid database .Ссылки на исходники нерабочие, но у меня завалялся древний вариант. Можете поделиться? Очень любопытно посмотреть. Если по каким-то причинам не захотите запостить на форуме, киньте, плиз sukkulent<@>gmail.com Буду весьма признателен :) А то пока дождусь "Nordic 2.0 will be launched as an Open Source project at SQL Teach, Nov 28 in Vancouver, Canada.", могу забыть :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.10.2007, 18:13 |
|
||
|
Добавление атрибутов (EAV,Тенцер или др.)
|
|||
|---|---|---|---|
|
#18+
Alexey Kudinov wrote: > Да, я знаю что спорное. Спорить не хочу - смысла нет А никто и не собирается. Для кажного способа - есть своё применение, а "серебряной пули" - не существует. > Это можно прочитать так "да, это медленно работает, но зато так удобнее > запрограммировать" Точнее, это можно прочитать как "Это,скорее всего, будет медленнее работать, но зато значительно снизится время и сложность разработки, а значит - и стоимость." > Я не уверен что это пользователь безусловно поймет такую позицию. Пользователю - пофиг. Ему главное - чтобы работало с удовлетворяещей его скоростью. А на то, что "сделай вы по другому - оно бы работало в 2 раза быстрее" - ему как-то наплевать. > Конечно можно ему попытаться обьяснить типа: либо сделаем сейчас, но > будет медленно работать, либо через месяц но будет быстро. Угу. Или "Будет работать бесконечно быстро после бесконечно долгого цикла разработки". Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.10.2007, 18:24 |
|
||
|
Добавление атрибутов (EAV,Тенцер или др.)
|
|||
|---|---|---|---|
|
#18+
ДедушкаВся работа ложится на ядро. нет не совсем так. вся работа ложится на пользователя, и на пользователя ложится ответственность за правильное дефинирование типов данных и за грамотную категоризацию, что тоже весьма не просто - например тип двигателя он запросто может задать стринг а не как EngineTypeID integer а убедившись в своей ошибке через полгода все равно будет клясть разработчика за отсутствие нормального механизма внесения изменений никому еще не удавалось спроектировать универсальную БД таким образом чтобы на ее прототипе можно было работать. выбрав EAV вы на пользователя повесите функции разработчика а не оператора ИС, на себя функции системного программиста а не прикладника, на сервер БД сложнейшие функции чуть ли не эвристичесского анализа, а на железо функции суперкомпьютера DeepBlue - а оно надо? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.10.2007, 18:31 |
|
||
|
Добавление атрибутов (EAV,Тенцер или др.)
|
|||
|---|---|---|---|
|
#18+
2 sukkulent,заслал.В свое время тоже смотрел с интересом,но понял,что это только для букварей,хотя произвольные атрибуты позволяет добовлять легко. 2 Дедушка,если я правильно понял, EAV в данном случае,совершенно из другой оперы.Каждый заказ-частный случай.Если в машине нужна тарелка, то не исключено, что к ней понадобиться и золотой унитаз в 9999,99999901 каратов и прочие извраты.Я бы не усложял.Все извращения,которые не укладываются в общую модель, хранил бы в поле XML(список с двумя полями:наименование,значение).Минимум телодвижений, и пусть себе ни в чем не отказывают. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.10.2007, 02:02 |
|
||
|
Добавление атрибутов (EAV,Тенцер или др.)
|
|||
|---|---|---|---|
|
#18+
SeVaОдин из вариантов скрещивания слона с ужом- Sql server O/R hybrid database .Ссылки на исходники нерабочие, но у меня завалялся древний вариант. Скиньте пожалуйста древности на alexandr-nikolaev[ @ ]yandex.ru ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.03.2009, 14:08 |
|
||
|
|

start [/forum/topic.php?all=1&fid=32&tid=1543370]: |
0ms |
get settings: |
6ms |
get forum list: |
14ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
167ms |
get topic data: |
6ms |
get forum data: |
2ms |
get page messages: |
67ms |
get tp. blocked users: |
1ms |
| others: | 229ms |
| total: | 496ms |

| 0 / 0 |
