Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Сравнение СУБД Новый топик    Ответить
Топик располагается на нескольких страницах: Ctrl  назад   1 2 3 4 [5] 6 7   вперед  Ctrl      все
 Re: А может ну его нафиг MS SQL и да здравствуют базы No SQL?  [new]
vvm
Member

Откуда: Не помню
Сообщений: 9968
Dimitry Sibiryakov
...
А можно получать этот же набор атрибутов как
select atr,v from o left join a on o.id=a.id
  where o.id=:id

При этом клиентский код получается длиннее, но джоинов - меньше.

А как ты сортируешь данные, если вдруг нужно? На клиенте?
4 фев 12, 06:05    [12031648]     Ответить | Цитировать Сообщить модератору
 Re: А может ну его нафиг MS SQL и да здравствуют базы No SQL?  [new]
SergSuper
Member

Откуда: SPb
Сообщений: 5488
Dimitry Sibiryakov
locky
э..... а зачем это надо-то?
Т.е. - кто это делает то?

Ну например те, кто привык к классической модели. В ней получение атрибутов объекта
выглядит как
select a,b,c from o where id=:id


При прямой переделке в EAV это будет выглядеть как
 select a1.v as a, a2.v as b, a3.v as c
  from o left join a a1 on o.id=a1.id and a1.atr='a'
   left join  a a2 on o.id=a2.id and a2.atr='b'
   left join  a a3 on o.id=a3.id and a3.atr='c'
  where o.id=:id


А можно получать этот же набор атрибутов как
select atr,v from o left join a on o.id=a.id
  where o.id=:id


При этом клиентский код получается длиннее, но джоинов - меньше.
по-моему получить данные для одной запись (или сущности) не проблема
проблемы начинаются когда например надо найти запись, когда заданы два разных атрибута
или просто получить таблицу по условиям
4 фев 12, 12:39    [12031982]     Ответить | Цитировать Сообщить модератору
 Re: А может ну его нафиг MS SQL и да здравствуют базы No SQL?  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 54840

vvm
А как ты сортируешь данные, если вдруг нужно? На клиенте?

Чтобы не было недопониманий: я уже давно не работаю ни с чем EAV-образным. Но когда
работал, отображал в списке только один столбец, там не возникало проблем с сортировкой.

SergSuper
проблемы начинаются когда например надо найти запись, когда заданы два разных атрибута
или просто получить таблицу по условиям

Да ну, какие там проблемы. Всего-то не надо пытаться делать это одним запросом. Одним
запросом из атрибутов выбирается идентификатор объекта(ов) (сложность этого запроса не
растёт с увеличением числа заданных атрибутов), вторым - объект со всеми нужными атрибутами.
А таблица - да, DB-aware компоненты идут лесом.

Posted via ActualForum NNTP Server 1.5

4 фев 12, 14:16    [12032214]     Ответить | Цитировать Сообщить модератору
 Re: А может ну его нафиг MS SQL и да здравствуют базы No SQL?  [new]
vvm
Member

Откуда: Не помню
Сообщений: 9968
Dimitry Sibiryakov
...Всего-то не надо пытаться делать это одним запросом. Одним
запросом из атрибутов выбирается идентификатор объекта(ов) (сложность этого запроса не
растёт с увеличением числа заданных атрибутов), вторым - объект со всеми нужными атрибутами.
А таблица - да, DB-aware компоненты идут лесом.

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

А с DB - aware, если хочется, тоже несложно: какой-нибудь клиентский датасет.
4 фев 12, 15:06    [12032339]     Ответить | Цитировать Сообщить модератору
 Re: А может ну его нафиг MS SQL и да здравствуют базы No SQL?  [new]
sp
Member

Откуда:
Сообщений: 3947
vvm,

Сколько топиков и копий сломано вокруг EAV но до сих пор резюмэ так и нет - собрались бы знатоки и общими усилиями забацали бы схему БД типа каталог товаров - и наглядный толковый пример EAV и методика для разработки других подобных типов данных!
4 фев 12, 20:33    [12033520]     Ответить | Цитировать Сообщить модератору
 Re: А может ну его нафиг MS SQL и да здравствуют базы No SQL?  [new]
vvm
Member

Откуда: Не помню
Сообщений: 9968
sp
vvm,

Сколько топиков и копий сломано вокруг EAV но до сих пор резюмэ так и нет - собрались бы знатоки и общими усилиями забацали бы схему БД типа каталог товаров - и наглядный толковый пример EAV и методика для разработки других подобных типов данных!

Имхо, ничего хорошего в этой схеме нет, все - от бедности.
Люди пытаются преодолеть некоторые ограничения на активную работу с модификацией структуры данных, так или иначе заложенную в физическую архитектуру конкретных СУБД.
4 фев 12, 22:41    [12034014]     Ответить | Цитировать Сообщить модератору
 Re: А может ну его нафиг MS SQL и да здравствуют базы No SQL?  [new]
sp
Member

Откуда:
Сообщений: 3947
vvm
sp
vvm,

Сколько топиков и копий сломано вокруг EAV но до сих пор резюмэ так и нет - собрались бы знатоки и общими усилиями забацали бы схему БД типа каталог товаров - и наглядный толковый пример EAV и методика для разработки других подобных типов данных!

Имхо, ничего хорошего в этой схеме нет, все - от бедности.
Люди пытаются преодолеть некоторые ограничения на активную работу с модификацией структуры данных, так или иначе заложенную в физическую архитектуру конкретных СУБД.


Ну тогда поясните как делать базу "Каталог товаров" в которой может быть до 100000 различных типов товаров с различным количеством и типами полей? Создавать на каждый вид товара новую таблицу???
5 фев 12, 11:51    [12035059]     Ответить | Цитировать Сообщить модератору
 Re: А может ну его нафиг MS SQL и да здравствуют базы No SQL?  [new]
SergSuper
Member

Откуда: SPb
Сообщений: 5488
sp
vvm
пропущено...

Имхо, ничего хорошего в этой схеме нет, все - от бедности.
Люди пытаются преодолеть некоторые ограничения на активную работу с модификацией структуры данных, так или иначе заложенную в физическую архитектуру конкретных СУБД.


Ну тогда поясните как делать базу "Каталог товаров" в которой может быть до 100000 различных типов товаров с различным количеством и типами полей? Создавать на каждый вид товара новую таблицу???
звучит как "ну поясните мне как тут на рояле играть, я пару роялей уже видел, а вот бы кто еще толково показал методику игры"
не может быть универсального решения, все зависит от конкретной задачи
в принципе для каких-то случаев может лучше и каждый раз таблицу создавать, для каких-то EAV или еще что
5 фев 12, 12:02    [12035076]     Ответить | Цитировать Сообщить модератору
 Re: А может ну его нафиг MS SQL и да здравствуют базы No SQL?  [new]
sp
Member

Откуда:
Сообщений: 3947
SergSuper
sp
пропущено...


Ну тогда поясните как делать базу "Каталог товаров" в которой может быть до 100000 различных типов товаров с различным количеством и типами полей? Создавать на каждый вид товара новую таблицу???
звучит как "ну поясните мне как тут на рояле играть, я пару роялей уже видел, а вот бы кто еще толково показал методику игры"
не может быть универсального решения, все зависит от конкретной задачи
в принципе для каких-то случаев может лучше и каждый раз таблицу создавать, для каких-то EAV или еще что


Звучит как "Написали бы просто - пива нет!" а то понаписали тут "Пива нет!"
А еще звучит как будто я один тут умный а вы все тупые, что вам тут объяснять...
5 фев 12, 12:06    [12035080]     Ответить | Цитировать Сообщить модератору
 Re: А может ну его нафиг MS SQL и да здравствуют базы No SQL?  [new]
sp
Member

Откуда:
Сообщений: 3947
Тем более вопрос поставлен по конкретному случаю - не надо юлить как тот шаман, который ничего не знает, но делает загадочный вид и таинственный взгляд - вопрос прямой -не увиливать! - для каталога товаров что вы конкретно предлагаете!?
5 фев 12, 12:12    [12035089]     Ответить | Цитировать Сообщить модератору
 Re: А может ну его нафиг MS SQL и да здравствуют базы No SQL?  [new]
SergSuper
Member

Откуда: SPb
Сообщений: 5488
sp
Тем более вопрос поставлен по конкретному случаю - не надо юлить как тот шаман, который ничего не знает, но делает загадочный вид и таинственный взгляд - вопрос прямой -не увиливать! - для каталога товаров что вы конкретно предлагаете!?
я не знаю что такое "каталог товаров", не уверен что те, кто считает что знают, думают одинаково
сформулируйте задачу, какие требования, объемы, быстродействие, как система будет обслуживаться, сколько пользователей, бюджет наконец
без этого "пива нет" как не пиши

и это - не надо обольщаться что перед Вами кто-то юлит
если Вам что-то подсказали - будьте благодарны, нет - примите как должное
5 фев 12, 13:24    [12035333]     Ответить | Цитировать Сообщить модератору
 Re: А может ну его нафиг MS SQL и да здравствуют базы No SQL?  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 54840

sp
для каталога товаров что вы конкретно предлагаете!?

Именно для каталога товаров я в своё время и использовал EAV (которая тогда так ещё не
называлась).

Posted via ActualForum NNTP Server 1.5

5 фев 12, 13:24    [12035337]     Ответить | Цитировать Сообщить модератору
 Re: А может ну его нафиг MS SQL и да здравствуют базы No SQL?  [new]
sp
Member

Откуда:
Сообщений: 3947
SergSuper
sp
Тем более вопрос поставлен по конкретному случаю - не надо юлить как тот шаман, который ничего не знает, но делает загадочный вид и таинственный взгляд - вопрос прямой -не увиливать! - для каталога товаров что вы конкретно предлагаете!?
я не знаю что такое "каталог товаров", не уверен что те, кто считает что знают, думают одинаково
сформулируйте задачу, какие требования, объемы, быстродействие, как система будет обслуживаться, сколько пользователей, бюджет наконец
без этого "пива нет" как не пиши

и это - не надо обольщаться что перед Вами кто-то юлит
если Вам что-то подсказали - будьте благодарны, нет - примите как должное


Позвольте ка! что же вы тут подсказали?? общие туманные фразы вокруг да около!??
такие подсказки не то что пива, да даже внимания не достойны! :)
Почему вместо конкретных ответов по сути вы воду льете? зачем ее и так на ветках по ЕАВ достаточно!!
5 фев 12, 13:32    [12035385]     Ответить | Цитировать Сообщить модератору
 Re: А может ну его нафиг MS SQL и да здравствуют базы No SQL?  [new]
sp
Member

Откуда:
Сообщений: 3947
Dimitry Sibiryakov
sp
для каталога товаров что вы конкретно предлагаете!?

Именно для каталога товаров я в своё время и использовал EAV (которая тогда так ещё не
называлась).


Дмитрий, вы использовали "чистый" ЕАВ или гибридную схему (где по-возможности отдельные структуры выносятся в реляционный слой)?
Не могли бы вы поделиться своими соображениями по поводу темы в свете того что уже реализовали это у себя?
Было бы очень интересно - потому как теоретиков тут много, а реальных решений практически нет и все тыкаются носом, пытаются в этой мутной воде выудить хоть что-нибудь ценное - а ценного в этой мутной воде просто нет! :)
5 фев 12, 13:36    [12035406]     Ответить | Цитировать Сообщить модератору
 Re: А может ну его нафиг MS SQL и да здравствуют базы No SQL?  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 54840

sp
Не могли бы вы поделиться своими соображениями по поводу темы в свете того что уже
реализовали это у себя?

Конечно же я использовал гибрид. В структуре Тенцера лежали только характеристики изделий.

По сабжу я уже всё что хотел сказать - сказал выше.

Posted via ActualForum NNTP Server 1.5

5 фев 12, 13:39    [12035415]     Ответить | Цитировать Сообщить модератору
 Re: А может ну его нафиг MS SQL и да здравствуют базы No SQL?  [new]
SergSuper
Member

Откуда: SPb
Сообщений: 5488
sp
SergSuper
пропущено...
я не знаю что такое "каталог товаров", не уверен что те, кто считает что знают, думают одинаково
сформулируйте задачу, какие требования, объемы, быстродействие, как система будет обслуживаться, сколько пользователей, бюджет наконец
без этого "пива нет" как не пиши

и это - не надо обольщаться что перед Вами кто-то юлит
если Вам что-то подсказали - будьте благодарны, нет - примите как должное


Позвольте ка! что же вы тут подсказали?? общие туманные фразы вокруг да около!??
такие подсказки не то что пива, да даже внимания не достойны! :)
Почему вместо конкретных ответов по сути вы воду льете? зачем ее и так на ветках по ЕАВ достаточно!!
я Вам подсказал как правильно задавать вопросы
на абстрактные вопросы глупо ждать конкретных ответов
5 фев 12, 13:58    [12035500]     Ответить | Цитировать Сообщить модератору
 Re: А может ну его нафиг MS SQL и да здравствуют базы No SQL?  [new]
Victor Metelitsa
Member

Откуда: Тюмень
Сообщений: 2559
Не знаю и совершенно неинтересно, что такое EAV, но если это имеет связь с "Тенцеровой схемой", то...

В Smalltalk'ах (одним из представителей которых является GemStone/S), коллекция (нормально) может содержать элементы любого класса (естественно, вы можете создать свой класс коллекций, для которых это условие не выполняется). Так что, если появилось что-то новое, со своим набором атрибутов, это совсем не проблема. Как и добавить что-то уже существующему классу (всё динамическое). "Атрибут" (нормально, т.е., если вы искуственно не ограничили), в свою очередь, может быть объектом любого класса (в том числе словариком, т.е. ассоциативным массивом, в качестве значений которого, в свою очередь, выступают объекты любых классов; кстати, не-объектов вроде int в Java там нет).

Но ведь в РСУБД дела тоже не так печальны, как может показаться. Если количество вариаций атрибутов не слишком велико, вы можете завести, скажем, по таблице на каждый вариант, и сделать view с union all по общим колонкам, если вам где-то надо иметь общую таблицу.
5 фев 12, 14:55    [12035723]     Ответить | Цитировать Сообщить модератору
 Re: А может ну его нафиг MS SQL и да здравствуют базы No SQL?  [new]
sp
Member

Откуда:
Сообщений: 3947
SergSuper
я Вам подсказал как правильно задавать вопросы
на абстрактные вопросы глупо ждать конкретных ответов


Странно, если каталог товаров - это абстракция, т.е. сферический конь в вакууме, ну тогдаж конечно, о чем речь! :)
5 фев 12, 16:36    [12036049]     Ответить | Цитировать Сообщить модератору
 Re: А может ну его нафиг MS SQL и да здравствуют базы No SQL?  [new]
locky
Member

Откуда: Харьков, Украина
Сообщений: 62034
sp
SergSuper
я Вам подсказал как правильно задавать вопросы
на абстрактные вопросы глупо ждать конкретных ответов


Странно, если каталог товаров - это абстракция, т.е. сферический конь в вакууме, ну тогдаж конечно, о чем речь! :)

Товары бывают разные
соответственно, каталоги товаров - тоже бывают разные.
5 фев 12, 16:58    [12036113]     Ответить | Цитировать Сообщить модератору
 Re: А может ну его нафиг MS SQL и да здравствуют базы No SQL?  [new]
SergSuper
Member

Откуда: SPb
Сообщений: 5488
locky
sp
пропущено...


Странно, если каталог товаров - это абстракция, т.е. сферический конь в вакууме, ну тогдаж конечно, о чем речь! :)

Товары бывают разные
соответственно, каталоги товаров - тоже бывают разные.
даже не столько товары разные, сколько цели использования этого каталога

например если это небольшой магазинчик и надо иногда чего-нибудь по каталогу сверять(какой-нибудь артикул уточнять), можно было бы предложить вести каталог в Екселе - 1-я колонка код товара(какой-нибудь артикул), 2-я - название, остальные колонки - всевозможные атрибуты, для каждого товара свои

никаких требований которые бы это решение отвергали ТС не привел
5 фев 12, 17:41    [12036292]     Ответить | Цитировать Сообщить модератору
 Re: А может ну его нафиг MS SQL и да здравствуют базы No SQL?  [new]
sp
Member

Откуда:
Сообщений: 3947
locky
sp
пропущено...


Странно, если каталог товаров - это абстракция, т.е. сферический конь в вакууме, ну тогдаж конечно, о чем речь! :)

Товары бывают разные
соответственно, каталоги товаров - тоже бывают разные.


странно это слышать! я то думал что товары вообще все одинаковые и нефиг делать сбацать схемку их хранить!!
Естественно все товары разные и нет никакой разницы для проектирования какие товары там будут храниться!
5 фев 12, 18:14    [12036407]     Ответить | Цитировать Сообщить модератору
 Re: А может ну его нафиг MS SQL и да здравствуют базы No SQL?  [new]
sp
Member

Откуда:
Сообщений: 3947
вот странно, вроде как мы все тут не глупые - но 2 страницы убили на то что притворяемся придурками! - мы говорим об ЕАВ, значит речь идет об универсальном справочнике, для сложных и универсальных нужд!
неужели если бы речь шла о простеньком справочнике тут велись бы баталии о техниках, тактиках и стратегиях!!
5 фев 12, 18:20    [12036431]     Ответить | Цитировать Сообщить модератору
 Re: А может ну его нафиг MS SQL и да здравствуют базы No SQL?  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 54840

sp
Естественно все товары разные и нет никакой разницы для проектирования какие товары там
будут храниться!

Ну вот тебе кусок базы МашИнформТЭК образца прошлого века:
/* Detail groups */

Create table DetGroup
( Link LinkField Constraint DGPrimary primary key,
   Code integer default 0 not null,
   Name VarChar(100) not null,
   Parent integer not null,
   Bases Char(21) default '                   X' not null,
   UserName Char(20) default user not null,
   LastModified Timestamp default 'now' not null);

Create table Detail
( Link LinkField Constraint DetailPrimary primary key,
   Name VarChar(100) not null Collate PXW_CYRL,
   CodeName VarChar(45) default '' not null,
   GroupRef integer Constraint DetailGroup references DetGroup,
   Code Char(50) not null,
   EdIzm integer Constraint DetEd references Units,
   Comment VarChar(120) default '' not null,
   Description BLOB Sub_type TEXT,
   Bases Char(21) default '                   X' not null,
   UserName Char(20) default USER not null,
   LastModified Timestamp default 'now' not null);

Create table Items
( Link LinkField Constraint ItemsPrimary Primary key,
   Ref LinkField Constraint ItemRef references Refinery,
   Det LinkField Constraint ItemDet references Detail,
   OutPrice VarChar(21) default '' not null,
   Percent VarChar(8) default '' not null,
   Decrease VarChar(80) default '' not null,
   GoTime VarChar(20) default '' not null,
   MinOut BLOB Sub_type TEXT,
   PayTerms BLOB Sub_type TEXT,
   Supply VarChar(80) default '' not null,
   Comment BLOB Sub_type TEXT,
   Special BLOB Sub_type TEXT,
   Visible Logical default 1);

/* Characteristic's names */

Create table PropName
( Link LinkField Constraint PropNamePrimary primary key,
   Name VarChar(151) not null Collate PXW_CYRL,
   EdIzm integer Constraint PropEd references Units,
   Parent integer,
   LastModified Timestamp default 'now' not null);

/* Characteristic's values */

Create table Props
( Link LinkField Constraint PropsPrimary Primary key,
   ItemType Integer default 0 not null,
/* 0-Prop of Item, 1-Prop of Detail, 2-Prop of Detail group */
   Item LinkField,
   Number Decimal(8,2) not null,
   Prop LinkField Constraint PropsName references PropName,
   SValue VarChar(40) default '' not null,
   MValue BLOB Sub_type TEXT);

Этому куску без разницы какие изделия хранить. Полегчало?..

Posted via ActualForum NNTP Server 1.5

5 фев 12, 18:32    [12036468]     Ответить | Цитировать Сообщить модератору
 Re: А может ну его нафиг MS SQL и да здравствуют базы No SQL?  [new]
sp
Member

Откуда:
Сообщений: 3947
Dimitry Sibiryakov,

Ужас, и это разговор умных интеллигентных людей!!!
5 фев 12, 18:36    [12036481]     Ответить | Цитировать Сообщить модератору
 Re: А может ну его нафиг MS SQL и да здравствуют базы No SQL?  [new]
sp
Member

Откуда:
Сообщений: 3947
С такими настроениями я думаю что на форум не стоит заходит и писать а бы что попало - люди сюда заходят для конструктивных обсуждений а не выслушивать о том что у кого-то нет желания на что-то или на получи подачку...
Спасибо, за очень продуктивное, конструктивное и полное полезной информации общение!
5 фев 12, 18:40    [12036490]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: Ctrl  назад   1 2 3 4 [5] 6 7   вперед  Ctrl      все
Все форумы / Сравнение СУБД Ответить