|
|
|
Как лучше хранить значения атрибутов разных типов в EAV
|
|||
|---|---|---|---|
|
#18+
Здравствуйте. Здесь много раз обсуждался EAV, но по этому вопросу ничего стоящего найти не удалось. Скажите, пожалуйста, как, по вашему мнению, лучше хранить значения атрибутов разных типов в EAV? Варианты, которые кажутся возможными: 1. Хранить в таблице значений несколько полей для значений атрибутов, что-то вроде: entity_id attribute_id string_value integer_value date_value. 2. Создать несколько таблиц, каждая их которых хранит значения атрибутов определенного типа: таблица для хранения строк VARCHAR(255), таблица для хранения чисел (UNSIGNED BIGINT), таблица для хранения дат (DATE type). 3. Хранить значения атрибутов как строки, но данный вариант заведомо не подходит, так как нужно производить фильтрацию по атрибутам, например, сравнивать числа, к тому же в этом случае, например, в поля, которые должны хранить числа, можно добавить любые символы. Сейчас есть представления, что атрибуты могут быть: строковыми, числовыми или датой, но возможно в будущем добавятся новые типы. Спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.12.2010, 21:43 |
|
||
|
Как лучше хранить значения атрибутов разных типов в EAV
|
|||
|---|---|---|---|
|
#18+
OLEG_2005Здесь много раз обсуждался EAV, но по этому вопросу ничего стоящего найти не удалось.Этот EAV здесь столько раз перетирали, что очевидно Вам просто не хочется разгребать портянки на множество страниц. Или просто лень читать. авторХранить значения атрибутов как строки, но данный вариант заведомо не подходитТак может выбран заведомо неправильный подхо и ну его к бису этот ЕАV? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.12.2010, 22:40 |
|
||
|
Как лучше хранить значения атрибутов разных типов в EAV
|
|||
|---|---|---|---|
|
#18+
а можно сцылы, где это перетиралось? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2010, 00:05 |
|
||
|
Как лучше хранить значения атрибутов разных типов в EAV
|
|||
|---|---|---|---|
|
#18+
On 16.12.2010 21:43, OLEG_2005 wrote: > Скажите, пожалуйста, как, по вашему мнению, лучше хранить значения атрибутов > разных типов в EAV? Это: > 2. Создать несколько таблиц, каждая их которых хранит значения атрибутов > определенного типа: > таблица для хранения строк VARCHAR(255), таблица для хранения чисел (UNSIGNED > BIGINT), таблица для хранения дат (DATE type).\ 3 -- это вообще не вариант. А вот интересно именно ПОЧЕМУ 2 лучше, чем 1. На самом деле не так в них много разницы. Но вот мне не нравится, что NULL-ы в записях с другим типом данных будут портить статистику распределения значений по данному атрибуту. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2010, 01:08 |
|
||
|
Как лучше хранить значения атрибутов разных типов в EAV
|
|||
|---|---|---|---|
|
#18+
MasterZiv, NULL тут нефиг хранить ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2010, 03:12 |
|
||
|
Как лучше хранить значения атрибутов разных типов в EAV
|
|||
|---|---|---|---|
|
#18+
On 17.12.2010 3:12, ViPRos wrote: > NULL тут нефиг хранить Если в одной строке хранить один атрибут, а полей в строке столько, сколько возможных типов данных атбирутов, то остальные поля, кроме поля с типом данного атрибута будут NULL. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2010, 09:33 |
|
||
|
Как лучше хранить значения атрибутов разных типов в EAV
|
|||
|---|---|---|---|
|
#18+
MasterZivOn 16.12.2010 21:43, OLEG_2005 wrote: > Скажите, пожалуйста, как, по вашему мнению, лучше хранить значения атрибутов > разных типов в EAV? Это: > 2. Создать несколько таблиц, каждая их которых хранит значения атрибутов > определенного типа: > таблица для хранения строк VARCHAR(255), таблица для хранения чисел (UNSIGNED > BIGINT), таблица для хранения дат (DATE type).\ 3 -- это вообще не вариант. А вот интересно именно ПОЧЕМУ 2 лучше, чем 1. На самом деле не так в них много разницы. Но вот мне не нравится, что NULL-ы в записях с другим типом данных будут портить статистику распределения значений по данному атрибуту. Что вы имеете виду? Вариант с разными таблицами рассмотрен как попытка уйти от NULL в одной таблице с несколькими столбцами для хранения значений разных типов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2010, 09:47 |
|
||
|
Как лучше хранить значения атрибутов разных типов в EAV
|
|||
|---|---|---|---|
|
#18+
В варианте с несколькими таблицами смущает необходимость собирать атрибуты из нескольких таблиц, а не из одной таблицы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2010, 10:03 |
|
||
|
Как лучше хранить значения атрибутов разных типов в EAV
|
|||
|---|---|---|---|
|
#18+
Извиняюсь за неточность формулировки. Что касается третьего варианта, то я имел в виду следующее: 3. Использовать EAV и хранить значения атрибутов как строки (VARCHAR), но данный вариант заведомо не подходит, так как нужно производить фильтрацию по атрибутам, например, сравнивать числа, к тому же в этом случае, например, в поля, которые должны хранить числа, можно добавить любые символы, но данный вариант заведомо не подходит, так как нужно производить фильтрацию по атрибутам, например, сравнивать числа, к тому же в этом случае, например, в поля, которые должны хранить числа, можно добавить любые символы. То есть этот вариант подразумевает: entity_id attribute_id value (VARCHAR) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2010, 10:07 |
|
||
|
Как лучше хранить значения атрибутов разных типов в EAV
|
|||
|---|---|---|---|
|
#18+
On 17.12.2010 10:03, OLEG_2005 wrote: > В варианте с несколькими таблицами смущает необходимость собирать атрибуты из > нескольких таблиц, а не из одной таблицы. А какая в .опу разница ? Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2010, 11:09 |
|
||
|
Как лучше хранить значения атрибутов разных типов в EAV
|
|||
|---|---|---|---|
|
#18+
On 17.12.2010 10:07, OLEG_2005 wrote: > 3. Использовать EAV и хранить значения атрибутов как строки (VARCHAR), но данный > вариант заведомо не подходит, так как нужно производить фильтрацию по атрибутам, > например, сравнивать числа, к тому же в этом случае, например, в поля, которые > должны хранить числа, можно добавить любые символы, но данный вариант заведомо > не подходит, так как нужно производить фильтрацию по атрибутам, например, > сравнивать числа, к тому же в этом случае, например, в поля, которые должны > хранить числа, можно добавить любые символы. > > То есть этот вариант подразумевает: > entity_id attribute_id value (VARCHAR) Ещё раз, это вообще не вариант. Это -- нарушение доменной целостности данных, грубейшая ошибка проектирования БД. Потом последствия её будут очень горькими. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2010, 11:10 |
|
||
|
Как лучше хранить значения атрибутов разных типов в EAV
|
|||
|---|---|---|---|
|
#18+
MasterZivOn 17.12.2010 10:07, OLEG_2005 wrote: > 3. Использовать EAV и хранить значения атрибутов как строки (VARCHAR), но данный > вариант заведомо не подходит, так как нужно производить фильтрацию по атрибутам, > например, сравнивать числа, к тому же в этом случае, например, в поля, которые > должны хранить числа, можно добавить любые символы, но данный вариант заведомо > не подходит, так как нужно производить фильтрацию по атрибутам, например, > сравнивать числа, к тому же в этом случае, например, в поля, которые должны > хранить числа, можно добавить любые символы. > > То есть этот вариант подразумевает: > entity_id attribute_id value (VARCHAR) Ещё раз, это вообще не вариант. Это -- нарушение доменной целостности данных, грубейшая ошибка проектирования БД. Потом последствия её будут очень горькими. Я пояснил вариант 3, так как его изначально он был сформулирован непонятно и его неправильно понимали Выбор главным образом между вариантами хранить в одной таблице в нескольких полях и в разных таблицах для каждого типа. Это выбор не кажется простым. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2010, 11:16 |
|
||
|
Как лучше хранить значения атрибутов разных типов в EAV
|
|||
|---|---|---|---|
|
#18+
MasterZivOn 17.12.2010 10:03, OLEG_2005 wrote: > В варианте с несколькими таблицами смущает необходимость собирать атрибуты из > нескольких таблиц, а не из одной таблицы. А какая в .опу разница ? Мне представляется, что в общем случае собирать данных из одной таблице быстрее и проще, чем из трех. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2010, 11:20 |
|
||
|
Как лучше хранить значения атрибутов разных типов в EAV
|
|||
|---|---|---|---|
|
#18+
MasterZivOn 17.12.2010 10:03, OLEG_2005 wrote: > В варианте с несколькими таблицами смущает необходимость собирать атрибуты из > нескольких таблиц, а не из одной таблицы. А какая в .опу разница ? То есть, если мы храним данные, например, в трех таблицах, что мы для получения атрибутов должны сделать три запроса. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2010, 11:23 |
|
||
|
Как лучше хранить значения атрибутов разных типов в EAV
|
|||
|---|---|---|---|
|
#18+
OLEG_2005, Я уже как-то говорил, что вариант 1) я неоднократно встречал в различных программных продуктах крупных компаний. То есть, статистика, так сказать, говорит в его пользу:) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2010, 12:27 |
|
||
|
Как лучше хранить значения атрибутов разных типов в EAV
|
|||
|---|---|---|---|
|
#18+
OLEG_20053. Хранить значения атрибутов как строки, но данный вариант заведомо не подходит, так как нужно производить фильтрацию по атрибутам, например, сравнивать числа, к тому же в этом случае, например, в поля, которые должны хранить числа, можно добавить любые символы. Именно этот вариант. Проверку корректности производить на клиенте. Фильтрация идет, нет проблем. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2010, 13:18 |
|
||
|
Как лучше хранить значения атрибутов разных типов в EAV
|
|||
|---|---|---|---|
|
#18+
_модOLEG_20053. Хранить значения атрибутов как строки, но данный вариант заведомо не подходит, так как нужно производить фильтрацию по атрибутам, например, сравнивать числа, к тому же в этом случае, например, в поля, которые должны хранить числа, можно добавить любые символы. Именно этот вариант. Проверку корректности производить на клиенте. Фильтрация идет, нет проблем. С этим вариантом связаны проблемы с целостностью данных и кроме того выполнять эффективно фильтрацию становиться проблематичным, все данные будут сравниваться как строки, а это не то, что нужно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2010, 13:21 |
|
||
|
Как лучше хранить значения атрибутов разных типов в EAV
|
|||
|---|---|---|---|
|
#18+
On 17.12.2010 11:20, OLEG_2005 wrote: > Мне представляется, что в общем случае собирать данных из одной таблице быстрее > и проще, чем из трех. Да нет, как раз ровно наоборот. Если N -- общее кол-во атрибутов, а Ni -- кол-во атрибутов i-го типа, то N = N1 + N2 + N3 .... Nk и время выполнения запросов будет O( m * N ) или O( m * log N ) -- для решения с одной общей таблицей, ( m -- кол-во получаемых атрибутов) или O( m * Ni ) или O( m * log Ni ) -- для решения с индивидуальной таблицей для каждого атрибута. Поскольку Ni <= N то как минимум проишрыша не будет, чаще всего будет выигрыш. Другое дело, что естественно он будет далеко не решающий, в общем незначительный. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2010, 13:38 |
|
||
|
Как лучше хранить значения атрибутов разных типов в EAV
|
|||
|---|---|---|---|
|
#18+
On 17.12.2010 11:23, OLEG_2005 wrote: > То есть, если мы храним данные, например, в трех таблицах, что мы для получения > атрибутов должны сделать три запроса. Почему ? один запрос с тремя JOIN-ами одной и той же таблицы атрибутов, либо один запрос с тремя JOIN-ами трёх разных таблиц атрибутов. Вот я и говорю -- разницы немного. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2010, 13:39 |
|
||
|
Как лучше хранить значения атрибутов разных типов в EAV
|
|||
|---|---|---|---|
|
#18+
On 17.12.2010 12:27, Бредятина wrote: > Я уже как-то говорил, что вариант 1) я неоднократно встречал в различных > программных продуктах крупных компаний. То есть, статистика, так сказать, > говорит в его пользу:) Вообще в мире-то глупых людей больше, чем умных. Статистика ... Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2010, 13:39 |
|
||
|
Как лучше хранить значения атрибутов разных типов в EAV
|
|||
|---|---|---|---|
|
#18+
MasterZivOn 17.12.2010 3:12, ViPRos wrote: > NULL тут нефиг хранить Если в одной строке хранить один атрибут, а полей в строке столько, сколько возможных типов данных атбирутов, то остальные поля, кроме поля с типом данного атрибута будут NULL. Я NULL не храню, храню метаданные об атрибутном составе ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2010, 14:31 |
|
||
|
Как лучше хранить значения атрибутов разных типов в EAV
|
|||
|---|---|---|---|
|
#18+
OLEG_2005С этим вариантом связаны проблемы с целостностью данных и кроме того выполнять эффективно фильтрацию становиться проблематичным, все данные будут сравниваться как строки, а это не то, что нужно. целостность и EAV несовместимы. сравнения нужно делать после преобразования. 90% данных в типовых системах обработки данных - строки. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2010, 14:43 |
|
||
|
Как лучше хранить значения атрибутов разных типов в EAV
|
|||
|---|---|---|---|
|
#18+
_модOLEG_2005С этим вариантом связаны проблемы с целостностью данных и кроме того выполнять эффективно фильтрацию становиться проблематичным, все данные будут сравниваться как строки, а это не то, что нужно. целостность и EAV несовместимы. сравнения нужно делать после преобразования. 90% данных в типовых системах обработки данных - строки. По крайней мере обеспечить целостность, настолько насколько возможно, кажется логичным. При преобразовании данных, например, строк в числа, индексы использоваться уже не будут. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2010, 14:50 |
|
||
|
Как лучше хранить значения атрибутов разных типов в EAV
|
|||
|---|---|---|---|
|
#18+
_модOLEG_2005С этим вариантом связаны проблемы с целостностью данных и кроме того выполнять эффективно фильтрацию становиться проблематичным, все данные будут сравниваться как строки, а это не то, что нужно. целостность и EAV несовместимы. сравнения нужно делать после преобразования. 90% данных в типовых системах обработки данных - строки. Понятно, что, если есть возможность не использовать EAV, лучше этого не делать. В данном случае без ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2010, 15:09 |
|
||
|
Как лучше хранить значения атрибутов разных типов в EAV
|
|||
|---|---|---|---|
|
#18+
В данном случае без EAV не обойтись. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2010, 15:10 |
|
||
|
Как лучше хранить значения атрибутов разных типов в EAV
|
|||
|---|---|---|---|
|
#18+
MasterZivВообще в мире-то глупых людей больше, чем умных. Статистика ... То есть, вариант 1) выбирают глупые люди:) А почему же прямо так не сказать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2010, 15:23 |
|
||
|
Как лучше хранить значения атрибутов разных типов в EAV
|
|||
|---|---|---|---|
|
#18+
_модцелостность и EAV несовместимы. сравнения нужно делать после преобразования. 90% данных в типовых системах обработки данных - строки. По количеству символов? Или по количеству типов характеристик (свойств, атрибутов) соответствующих типов? Поскольку второе корректнее, то 90% - это не верная оценка. Причем сильно не верная:) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2010, 15:29 |
|
||
|
Как лучше хранить значения атрибутов разных типов в EAV
|
|||
|---|---|---|---|
|
#18+
> В данном случае без EAV не обойтись. Исходную задачу сформулируйте. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2010, 15:38 |
|
||
|
Как лучше хранить значения атрибутов разных типов в EAV
|
|||
|---|---|---|---|
|
#18+
guest_20040621> В данном случае без EAV не обойтись. Исходную задачу сформулируйте. Нужно хранить сущности, которые могут иметь заданные пользователей атрибуты и иметь возможность фильтровать по ним. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2010, 15:54 |
|
||
|
Как лучше хранить значения атрибутов разных типов в EAV
|
|||
|---|---|---|---|
|
#18+
OLEG_2005При преобразовании данных, например, строк в числа, индексы использоваться уже не будут. Я храню все в строках. Есть индекс по значению. При поиске данные преобраз. в строки. Даты формата dd.mm.yyyy. Числа целые или с точкой. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2010, 16:02 |
|
||
|
Как лучше хранить значения атрибутов разных типов в EAV
|
|||
|---|---|---|---|
|
#18+
_модOLEG_2005При преобразовании данных, например, строк в числа, индексы использоваться уже не будут. Я храню все в строках. Есть индекс по значению. При поиске данные преобраз. в строки. Даты формата dd.mm.yyyy. Числа целые или с точкой. Не понятно, как ты ищешь в BLOB значения и поддерживаешь целостность данных. Ненормализованные данные - это не очень здорово. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2010, 16:05 |
|
||
|
Как лучше хранить значения атрибутов разных типов в EAV
|
|||
|---|---|---|---|
|
#18+
> Нужно хранить сущности, которые могут иметь заданные пользователей атрибуты и иметь возможность фильтровать по ним. ;) А, вечный двигатель. Понятно. Я бы не отдавал пользователю возможность определять что бы то ни было в базе данных. Но если без этого никак, то как хранить значения - на мой взгляд - определяющей роли не играет, проверки при добавлении данных достаточно. Мне кажется, пользовательские атрибуты - это уже мусор, с чем бы он ни был связан, он мусором и останется. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2010, 16:27 |
|
||
|
Как лучше хранить значения атрибутов разных типов в EAV
|
|||
|---|---|---|---|
|
#18+
OLEG_2005, храни в еав по типам данных, держи метаданные отдельно формируй выпрямляющую команду (лучше в динамике с изменением кол атрибутов и храни) и и делай что как хошь ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2010, 16:28 |
|
||
|
Как лучше хранить значения атрибутов разных типов в EAV
|
|||
|---|---|---|---|
|
#18+
ViPRosMasterZivOn 17.12.2010 3:12, ViPRos wrote: > NULL тут нефиг хранить Если в одной строке хранить один атрибут, а полей в строке столько, сколько возможных типов данных атбирутов, то остальные поля, кроме поля с типом данного атрибута будут NULL. Я NULL не храню, храню метаданные об атрибутном составе Это как это ? Ну ка поясни ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2010, 17:20 |
|
||
|
Как лучше хранить значения атрибутов разных типов в EAV
|
|||
|---|---|---|---|
|
#18+
guest_20040621> Нужно хранить сущности, которые могут иметь заданные пользователей атрибуты и иметь возможность фильтровать по ним. ;) А, вечный двигатель. Понятно. Я бы не отдавал пользователю возможность определять что бы то ни было в базе данных. Но если без этого никак, то как хранить значения - на мой взгляд - определяющей роли не играет, проверки при добавлении данных достаточно. Мне кажется, пользовательские атрибуты - это уже мусор, с чем бы он ни был связан, он мусором и останется. Мне кажется, что проверка типов на уровне БД вряд ли бывает лишней в любом случае. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2010, 17:24 |
|
||
|
Как лучше хранить значения атрибутов разных типов в EAV
|
|||
|---|---|---|---|
|
#18+
> проверка типов на уровне БД вряд ли бывает лишней в любом случае Конечно. Хотел подчеркнуть, что если мусор уже есть, то стоит ли бороться за его идеальную чистоту? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2010, 18:03 |
|
||
|
Как лучше хранить значения атрибутов разных типов в EAV
|
|||
|---|---|---|---|
|
#18+
MasterZiv, ну че тут не ясно? Атрибуты объекта хранятся отдельно Есть идентифицированный Объект Есть таблица типизированных Атрибутов этого Объекта При появлении нового Атрибута он включается в список типизированных атрибутов Объекта а соответствующую по типу ЕАВ таблицу добавляется Имя и Значение этого Атрибута потихоньку все это фиговина динамически типизируется и превращется в статическую структуру в БД всегда сосуществуют типизированные, частично типизированные и не типизированные Объекты все мтоды доступа генерятся автоматом хранятся по мере прихода объектов ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2010, 18:13 |
|
||
|
Как лучше хранить значения атрибутов разных типов в EAV
|
|||
|---|---|---|---|
|
#18+
guest_20040621> проверка типов на уровне БД вряд ли бывает лишней в любом случае Конечно. Хотел подчеркнуть, что если мусор уже есть, то стоит ли бороться за его идеальную чистоту? Не понятно, что вы называете мусором. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2010, 20:56 |
|
||
|
Как лучше хранить значения атрибутов разных типов в EAV
|
|||
|---|---|---|---|
|
#18+
OLEG_2005В данном случае без EAV не обойтись. тяжело даже придумать такие случаи. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2010, 01:54 |
|
||
|
Как лучше хранить значения атрибутов разных типов в EAV
|
|||
|---|---|---|---|
|
#18+
OLEG_2005guest_20040621> В данном случае без EAV не обойтись. Исходную задачу сформулируйте. Нужно хранить сущности, которые могут иметь заданные пользователей атрибуты и иметь возможность фильтровать по ним. просто задайте требуемые пользователю атрибуты. Наверное нет более проблемной выдумки чем EAV, но насколько популярен... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2010, 01:56 |
|
||
|
Как лучше хранить значения атрибутов разных типов в EAV
|
|||
|---|---|---|---|
|
#18+
любые варианты получения золота из ртути так и останутся алхимией. Равно как и извраты, типа получения типа "объектов" из РБД. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2010, 02:03 |
|
||
|
Как лучше хранить значения атрибутов разных типов в EAV
|
|||
|---|---|---|---|
|
#18+
> Не понятно, что вы называете мусором. Написал чуть выше: "пользовательские атрибуты - это уже мусор, с чем бы он ни был связан, он мусором и останется". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2010, 04:46 |
|
||
|
Как лучше хранить значения атрибутов разных типов в EAV
|
|||
|---|---|---|---|
|
#18+
> тяжело даже придумать такие случаи Легко. Нормальный способ для хранения, например, переменных. Правда, структура сильно сложнее подразумеваемой, но в целом идея та же. Пример из жизни - ставка рефинансирования. Это не таймсерия, поскольку изменения не регулярны, разные финансовые институты оперируют разными моделями рынков и разными ставками, которые меняются не синхронно. По-другому действительно никак. Но в данном случае шаловливые ручонки юзеров не оказывают влияние на качество структуры данных, так что проблем нет. > Равно как и извраты, типа получения типа "объектов" из РБД Изврат - это использовать "объектную" терминологию. Судя по этому форуму, люди, которые это делают, слабо понимают смысл определения "объектный". Речь идет, как правило, о типизированных сущностях и связях, что никакого отношения к объектам, конечно, не имеет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2010, 05:01 |
|
||
|
Как лучше хранить значения атрибутов разных типов в EAV
|
|||
|---|---|---|---|
|
#18+
iscrafmOLEG_2005В данном случае без EAV не обойтись. тяжело даже придумать такие случаи. Пример: списки объектов (пользователей), каждый список хранить - набор пользовательских атрибутов, которые должны храниться для каждого пользователя списка. То есть все пользователи имеют постоянные атрибуты - общие для всех список, а есть атрибуты специфичные для списка. Допустим во всех списках всех атрибутов есть общий атрибут: email_address. Допустим в списке List1 есть пользовательский атрибуты: FirstName, LastName, Age. Допустим в списке List2 есть пользовательский атрибуты: Date_Birth, Weight, Height. В списке List3 вообще нет пользовательских атрибутов. Для списка List1 мы должны хранить: email_address FirstName LastName Age test Vasya Ivanov 20 Для списка List2 мы должны хранить: email_address Date_Birt Weight Height test1 1983.03.09 80 185 Для списка List3: email_address test3 Списки атрибутов для каждого списка могут задаваться пользователем, они могут быть разными, так как назначение списков могут быть очень разными. Предполагается, что типы атрибутов будут одного из типов пока: строковые, числовые и дата. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.12.2010, 10:30 |
|
||
|
Как лучше хранить значения атрибутов разных типов в EAV
|
|||
|---|---|---|---|
|
#18+
> Пример: списки объектов (пользователей) Задача решается стандартным набором атрибутов, исчерпывающе полно описывающих пользователей. Юзеры могут поддерживать актуальность только тех данных, которые необходимы. В данном случае сложность может представлять только группировка этих атрибутов (антропометрические, социальные, коммуникативные, профессиональные и пр.), что при известном навыке задача вполне решаемая. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.12.2010, 10:54 |
|
||
|
Как лучше хранить значения атрибутов разных типов в EAV
|
|||
|---|---|---|---|
|
#18+
guest_20040621> Пример: списки объектов (пользователей) Задача решается стандартным набором атрибутов, исчерпывающе полно описывающих пользователей. Юзеры могут поддерживать актуальность только тех данных, которые необходимы. В данном случае сложность может представлять только группировка этих атрибутов (антропометрические, социальные, коммуникативные, профессиональные и пр.), что при известном навыке задача вполне решаемая. Набор атрибутов заранее не определен и от списка к списку он может сильно отличаться. Задать набор атрибутов на все случае жизни в данном случае не представляется возможным. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.12.2010, 10:58 |
|
||
|
Как лучше хранить значения атрибутов разных типов в EAV
|
|||
|---|---|---|---|
|
#18+
guest_20040621> Пример: списки объектов (пользователей) Задача решается стандартным набором атрибутов, исчерпывающе полно описывающих пользователей. Юзеры могут поддерживать актуальность только тех данных, которые необходимы. В данном случае сложность может представлять только группировка этих атрибутов (антропометрические, социальные, коммуникативные, профессиональные и пр.), что при известном навыке задача вполне решаемая. Так как набор атрибутов заранее не определено, то и паттерны вроде Single Table Inheritance, Concrete Table Inheritance и т. д. здесь применить не получится. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.12.2010, 11:03 |
|
||
|
Как лучше хранить значения атрибутов разных типов в EAV
|
|||
|---|---|---|---|
|
#18+
> Задать набор атрибутов на все случае жизни в данном случае не представляется возможным. Это стандартная отговорка. В данном случае в зависимости от конечной задачи набор атрибутов будет разным, но конечным. С одной стороны он ограничен требованями о защите персональных данных (которые будут различаться от государства к государству), с другой - практической целесообразностью. > то и паттерны вроде Слово "паттерны" применительно к проектированию баз данных придумали бараны. Есть смысл решать задачи, а не повторять чужие ошибки. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.12.2010, 11:37 |
|
||
|
Как лучше хранить значения атрибутов разных типов в EAV
|
|||
|---|---|---|---|
|
#18+
OLEG_2005Пример: списки объектов (пользователей), каждый список хранить - набор пользовательских атрибутов, которые должны храниться для каждого пользователя списка. То есть все пользователи имеют постоянные атрибуты - общие для всех список, а есть атрибуты специфичные для списка. Допустим во всех списках всех атрибутов есть общий атрибут: email_address. Допустим в списке List1 есть пользовательский атрибуты: FirstName, LastName, Age. Допустим в списке List2 есть пользовательский атрибуты: Date_Birth, Weight, Height. В списке List3 вообще нет пользовательских атрибутов. Для списка List1 мы должны хранить: email_address FirstName LastName Age test Vasya Ivanov 20 Для списка List2 мы должны хранить: email_address Date_Birt Weight Height test1 1983.03.09 80 185 Для списка List3: email_address test3 Списки атрибутов для каждого списка могут задаваться пользователем, они могут быть разными, так как назначение списков могут быть очень разными. Предполагается, что типы атрибутов будут одного из типов пока: строковые, числовые и дата. Для этого EAV, конечно, не нужна. Видимо, одна из Ваших задач, обязательно использовать некую "реляционную" СУБД, в которой пользователи не могут добавлять сколько угодно характеристик объекта, и как угодно их группировать. И именно поэтому Вам приходится смотреть в сторону EAV. EAV имела бы, по крайней мере, теоретическое обоснование, если пользователям нужно постоянно произвольно добавлять отношения (таблицы) (или "классы", хотя, хорошо известно, что "таблица" в реляционной системе - это не "класс" в объектной). То есть, объекты, а не характеристики объектов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.12.2010, 11:41 |
|
||
|
Как лучше хранить значения атрибутов разных типов в EAV
|
|||
|---|---|---|---|
|
#18+
guest_20040621> Задать набор атрибутов на все случае жизни в данном случае не представляется возможным. Это стандартная отговорка. В данном случае в зависимости от конечной задачи набор атрибутов будет разным, но конечным. С одной стороны он ограничен требованями о защите персональных данных (которые будут различаться от государства к государству), с другой - практической целесообразностью. > то и паттерны вроде Слово "паттерны" применительно к проектированию баз данных придумали бараны. Есть смысл решать задачи, а не повторять чужие ошибки. Набор возможных атрибутов может и конечный, но довольно большой и заранее предугадать его не представляется возможным. Представьте себе десятки тысяч пользователей, которые используют списки для своей предметной области, они работают в разных отраслях и соответственно набор атрибутов разный. Кто-то использует списка для того, чтобы делать рассылку пользователям о фильмах и набор атрибутов может описывать предпочтения по поводу фильмов, для рассылки информации о ПО набор атрибутов может быть другой, вариантов может быть очень много. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.12.2010, 11:44 |
|
||
|
Как лучше хранить значения атрибутов разных типов в EAV
|
|||
|---|---|---|---|
|
#18+
Бредятина, Задача хранить списки пользователя с заданным пользователем набором атрибутов и иметь возможность фильтровать по ним, что позволить обеспечить сегментацию данных. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.12.2010, 11:47 |
|
||
|
Как лучше хранить значения атрибутов разных типов в EAV
|
|||
|---|---|---|---|
|
#18+
guest_20040621> Задать набор атрибутов на все случае жизни в данном случае не представляется возможным. Это стандартная отговорка. В данном случае в зависимости от конечной задачи набор атрибутов будет разным, но конечным. С одной стороны он ограничен требованями о защите персональных данных (которые будут различаться от государства к государству), с другой - практической целесообразностью. > то и паттерны вроде Слово "паттерны" применительно к проектированию баз данных придумали бараны. Есть смысл решать задачи, а не повторять чужие ошибки. Слово "паттерны" мне кажется можно использовать в самых разных отраслях для быстрого описания решения некоторой типовой задачи. Хотя я думаю, что терминология в данном случае не имеет большого значения. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.12.2010, 11:49 |
|
||
|
Как лучше хранить значения атрибутов разных типов в EAV
|
|||
|---|---|---|---|
|
#18+
БредятинаOLEG_2005Пример: списки объектов (пользователей), каждый список хранить - набор пользовательских атрибутов, которые должны храниться для каждого пользователя списка. То есть все пользователи имеют постоянные атрибуты - общие для всех список, а есть атрибуты специфичные для списка. Допустим во всех списках всех атрибутов есть общий атрибут: email_address. Допустим в списке List1 есть пользовательский атрибуты: FirstName, LastName, Age. Допустим в списке List2 есть пользовательский атрибуты: Date_Birth, Weight, Height. В списке List3 вообще нет пользовательских атрибутов. Для списка List1 мы должны хранить: email_address FirstName LastName Age test Vasya Ivanov 20 Для списка List2 мы должны хранить: email_address Date_Birt Weight Height test1 1983.03.09 80 185 Для списка List3: email_address test3 Списки атрибутов для каждого списка могут задаваться пользователем, они могут быть разными, так как назначение списков могут быть очень разными. Предполагается, что типы атрибутов будут одного из типов пока: строковые, числовые и дата. Для этого EAV, конечно, не нужна. Видимо, одна из Ваших задач, обязательно использовать некую "реляционную" СУБД, в которой пользователи не могут добавлять сколько угодно характеристик объекта, и как угодно их группировать. И именно поэтому Вам приходится смотреть в сторону EAV. EAV имела бы, по крайней мере, теоретическое обоснование, если пользователям нужно постоянно произвольно добавлять отношения (таблицы) (или "классы", хотя, хорошо известно, что "таблица" в реляционной системе - это не "класс" в объектной). То есть, объекты, а не характеристики объектов. У вас есть предложения, как решить задачу с возможностью хранить произвольный набор атрибутов и фильтровать по ним без EAV? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.12.2010, 11:52 |
|
||
|
Как лучше хранить значения атрибутов разных типов в EAV
|
|||
|---|---|---|---|
|
#18+
БредятинаOLEG_2005Пример: списки объектов (пользователей), каждый список хранить - набор пользовательских атрибутов, которые должны храниться для каждого пользователя списка. То есть все пользователи имеют постоянные атрибуты - общие для всех список, а есть атрибуты специфичные для списка. Допустим во всех списках всех атрибутов есть общий атрибут: email_address. Допустим в списке List1 есть пользовательский атрибуты: FirstName, LastName, Age. Допустим в списке List2 есть пользовательский атрибуты: Date_Birth, Weight, Height. В списке List3 вообще нет пользовательских атрибутов. Для списка List1 мы должны хранить: email_address FirstName LastName Age test Vasya Ivanov 20 Для списка List2 мы должны хранить: email_address Date_Birt Weight Height test1 1983.03.09 80 185 Для списка List3: email_address test3 Списки атрибутов для каждого списка могут задаваться пользователем, они могут быть разными, так как назначение списков могут быть очень разными. Предполагается, что типы атрибутов будут одного из типов пока: строковые, числовые и дата. Для этого EAV, конечно, не нужна. Видимо, одна из Ваших задач, обязательно использовать некую "реляционную" СУБД, в которой пользователи не могут добавлять сколько угодно характеристик объекта, и как угодно их группировать. И именно поэтому Вам приходится смотреть в сторону EAV. EAV имела бы, по крайней мере, теоретическое обоснование, если пользователям нужно постоянно произвольно добавлять отношения (таблицы) (или "классы", хотя, хорошо известно, что "таблица" в реляционной системе - это не "класс" в объектной). То есть, объекты, а не характеристики объектов. Значения произвольного набора атрибутов нужно не только хранить, но и фильтровать по ним. Даже нереляционные БД не очень здесь могут помочь. Допустим мы может в MongoDb хранить произвольный набор атрибутов, но чтобы осуществлять фильтрацию по атрибутам, нам нужно добавлять для них произвольный набор индексов, а это проблематично. К тому же такие системы имеют много других разных ограничений. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.12.2010, 12:00 |
|
||
|
Как лучше хранить значения атрибутов разных типов в EAV
|
|||
|---|---|---|---|
|
#18+
> используют списки для своей предметной области Профессиональные навыки и профессиональное образование - вот источники специфичных отраслевых атрибутов. Но и они могут быть формализованы. > Кто-то использует списка для того, чтобы делать рассылку пользователям о фильмах Пользователь может выступать в двух ролях в данном случае - как субъект отраслевого рынка или как субъект потребительского рынка. Оба типа опять же хорошо формализуются. У меня нет задача вас уговорить. Я хочу, чтобы вы понимали, что задача имеет другое решение, отличное от выбранного вами. Оно сложнее, но на мой взгляд перспективнее. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.12.2010, 12:01 |
|
||
|
Как лучше хранить значения атрибутов разных типов в EAV
|
|||
|---|---|---|---|
|
#18+
guest_20040621> используют списки для своей предметной области Профессиональные навыки и профессиональное образование - вот источники специфичных отраслевых атрибутов. Но и они могут быть формализованы. > Кто-то использует списка для того, чтобы делать рассылку пользователям о фильмах Пользователь может выступать в двух ролях в данном случае - как субъект отраслевого рынка или как субъект потребительского рынка. Оба типа опять же хорошо формализуются. У меня нет задача вас уговорить. Я хочу, чтобы вы понимали, что задача имеет другое решение, отличное от выбранного вами. Оно сложнее, но на мой взгляд перспективнее. Списки могут использоваться для самых разных отраслей. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.12.2010, 12:03 |
|
||
|
Как лучше хранить значения атрибутов разных типов в EAV
|
|||
|---|---|---|---|
|
#18+
guest_20040621> используют списки для своей предметной области Профессиональные навыки и профессиональное образование - вот источники специфичных отраслевых атрибутов. Но и они могут быть формализованы. > Кто-то использует списка для того, чтобы делать рассылку пользователям о фильмах Пользователь может выступать в двух ролях в данном случае - как субъект отраслевого рынка или как субъект потребительского рынка. Оба типа опять же хорошо формализуются. У меня нет задача вас уговорить. Я хочу, чтобы вы понимали, что задача имеет другое решение, отличное от выбранного вами. Оно сложнее, но на мой взгляд перспективнее. Вы предлагает придумать набор атрибутов, который подошел бы для использования в самых различных отраслях? Мне не совсем понятно, какое другое решение вы имеете в виду. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.12.2010, 12:05 |
|
||
|
Как лучше хранить значения атрибутов разных типов в EAV
|
|||
|---|---|---|---|
|
#18+
> Списки могут использоваться для самых разных отраслей. Конечно. Но количество отраслей также конечно. Причем, относительно невелико. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.12.2010, 12:07 |
|
||
|
Как лучше хранить значения атрибутов разных типов в EAV
|
|||
|---|---|---|---|
|
#18+
guest_20040621> Списки могут использоваться для самых разных отраслей. Конечно. Но количество отраслей также конечно. Причем, относительно невелико. Набор возможных атрибутов для разных целей конечный, но, как мне кажется достаточной большой. Хранить весь возможный набор атрибутов кажется проблематичным. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.12.2010, 12:10 |
|
||
|
Как лучше хранить значения атрибутов разных типов в EAV
|
|||
|---|---|---|---|
|
#18+
guest_20040621> Списки могут использоваться для самых разных отраслей. Конечно. Но количество отраслей также конечно. Причем, относительно невелико. Непонятно, как иметь информацию о всевозможных отраслях и о наборе атрибутов для всех применений, могут появляться новые применения для списков и как это все предугадать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.12.2010, 12:14 |
|
||
|
Как лучше хранить значения атрибутов разных типов в EAV
|
|||
|---|---|---|---|
|
#18+
guest_20040621> Списки могут использоваться для самых разных отраслей. Конечно. Но количество отраслей также конечно. Причем, относительно невелико. Если бы задача решалась для какой-то определенной отрасли с четко очерченной предметной областью, тогда думаю может быть набор атрибутов был более или менее определенным. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.12.2010, 12:17 |
|
||
|
Как лучше хранить значения атрибутов разных типов в EAV
|
|||
|---|---|---|---|
|
#18+
> Непонятно, как иметь информацию о всевозможных отраслях и о наборе атрибутов для всех применений Наверное, будет глупо рассказывать вам об источниках данных. > могут появляться новые применения для списков Могут. Но и жизненый цикл ПО не "сдал - забыл". > как это все предугадать? Если цель вашего проекта - глобальная конкуренция сервисам от google, например, с задачей выйти на капитализацию лавки пару миллиардов через пару лет, то вопрос звучит странно. Видимо, должны быть люди, в задачу которых должен входить мониторинг рынков и прессы. Если же у вашего проекта другая цель, вопрос звучит еще более странно. Начните с малого, если появится необходимость решения задачи - вы знаете, как ее решать. Сахават, по-моему, на предыдущей странице совершенно четко рассказал о содержимом базы данных: если что-то вы можете описать стандартным образом - описывайте. Для того, что не можете (нет данных, например, или нет понимания востребованности данных), оставьте мусорный коллектор (структуру, о которой вы говорите). Возможно, часть данных из него с течением времени будет описана стандартным образом. Или выброшена. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.12.2010, 12:25 |
|
||
|
Как лучше хранить значения атрибутов разных типов в EAV
|
|||
|---|---|---|---|
|
#18+
guest_20040621> Непонятно, как иметь информацию о всевозможных отраслях и о наборе атрибутов для всех применений Наверное, будет глупо рассказывать вам об источниках данных. > могут появляться новые применения для списков Могут. Но и жизненый цикл ПО не "сдал - забыл". > как это все предугадать? Если цель вашего проекта - глобальная конкуренция сервисам от google, например, с задачей выйти на капитализацию лавки пару миллиардов через пару лет, то вопрос звучит странно. Видимо, должны быть люди, в задачу которых должен входить мониторинг рынков и прессы. Если же у вашего проекта другая цель, вопрос звучит еще более странно. Начните с малого, если появится необходимость решения задачи - вы знаете, как ее решать. Сахават, по-моему, на предыдущей странице совершенно четко рассказал о содержимом базы данных: если что-то вы можете описать стандартным образом - описывайте. Для того, что не можете (нет данных, например, или нет понимания востребованности данных), оставьте мусорный коллектор (структуру, о которой вы говорите). Возможно, часть данных из него с течением времени будет описана стандартным образом. Или выброшена. В подобных системах функциональность с произвольным набором атрибутов реализована. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.12.2010, 12:54 |
|
||
|
Как лучше хранить значения атрибутов разных типов в EAV
|
|||
|---|---|---|---|
|
#18+
guest_20040621> Непонятно, как иметь информацию о всевозможных отраслях и о наборе атрибутов для всех применений Наверное, будет глупо рассказывать вам об источниках данных. > могут появляться новые применения для списков Могут. Но и жизненый цикл ПО не "сдал - забыл". > как это все предугадать? Если цель вашего проекта - глобальная конкуренция сервисам от google, например, с задачей выйти на капитализацию лавки пару миллиардов через пару лет, то вопрос звучит странно. Видимо, должны быть люди, в задачу которых должен входить мониторинг рынков и прессы. Если же у вашего проекта другая цель, вопрос звучит еще более странно. Начните с малого, если появится необходимость решения задачи - вы знаете, как ее решать. Сахават, по-моему, на предыдущей странице совершенно четко рассказал о содержимом базы данных: если что-то вы можете описать стандартным образом - описывайте. Для того, что не можете (нет данных, например, или нет понимания востребованности данных), оставьте мусорный коллектор (структуру, о которой вы говорите). Возможно, часть данных из него с течением времени будет описана стандартным образом. Или выброшена. В качестве ориентира выбрана аналогичная система, в которой для каждого списка можно указать, набор атрибутов, который можно хранить, кроме стандартных. На данный момент эта система обслуживает около 400000 пользователей, каждый из которых имеет свои списки. По умолчанию для каждого нового списка набор пользовательских атрибутов два поля First Name и LastName (эти атрибуты могут быть удалены) и можно добавлять пользовательские атрибуты до 30 атрибутов, по-моему. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.12.2010, 13:03 |
|
||
|
Как лучше хранить значения атрибутов разных типов в EAV
|
|||
|---|---|---|---|
|
#18+
OLEG_2005можно добавлять пользовательские атрибуты до 30 атрибутов, по-моему. откуда взялось такое ограничение? Почему не 25 или 48? EAV же без разницы... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.12.2010, 13:08 |
|
||
|
Как лучше хранить значения атрибутов разных типов в EAV
|
|||
|---|---|---|---|
|
#18+
iscrafmOLEG_2005можно добавлять пользовательские атрибуты до 30 атрибутов, по-моему. откуда взялось такое ограничение? Почему не 25 или 48? EAV же без разницы... В большем количестве думаю нет надобности, думаю ограничение связано, с ограничением ресурсов используемым пользователем. Когда количество клиентов, использующих систему составляет десятки или сотни тысяч и каждый список может содержать тысячи, десятки, а иногда и сотни тысяч пользователей, думаю экономия ресурсов ограничением числа атрибутов может быть значительной. Использует ли система, о которой я говорил, EAV или нет я достоверно не знаю. Насколько я знаю они используют MYSQL. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.12.2010, 13:21 |
|
||
|
Как лучше хранить значения атрибутов разных типов в EAV
|
|||
|---|---|---|---|
|
#18+
OLEG_2005Значения произвольного набора атрибутов нужно не только хранить, но и фильтровать по ним. Даже нереляционные БД не очень здесь могут помочь. Это же очевидно. Что все эти, хоть атрибуты отношения, хоть характеристики объекта, используются в поисковых запросах. При чем здесь происхождение атрибута - разработчик его описал или пользователь? О чем Вы говорите? Опять же получается, что Вы находитесь в плену каких-то устоявшихся, и в корне неверных, представлений:) OLEG_2005Допустим мы может в MongoDb хранить произвольный набор атрибутов, но чтобы осуществлять фильтрацию по атрибутам, нам нужно добавлять для них произвольный набор индексов, а это проблематично. К тому же такие системы имеют много других разных ограничений. Ничего не понимаю. Зачем Вы приводите примеры "таких систем" со "многими другими разными ограничениями"?:) Ваша задача тривиальна, и не требует EAV. При чем здесь "такие системы"? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.12.2010, 13:34 |
|
||
|
Как лучше хранить значения атрибутов разных типов в EAV
|
|||
|---|---|---|---|
|
#18+
БредятинаOLEG_2005Значения произвольного набора атрибутов нужно не только хранить, но и фильтровать по ним. Даже нереляционные БД не очень здесь могут помочь. Это же очевидно. Что все эти, хоть атрибуты отношения, хоть характеристики объекта, используются в поисковых запросах. При чем здесь происхождение атрибута - разработчик его описал или пользователь? О чем Вы говорите? Опять же получается, что Вы находитесь в плену каких-то устоявшихся, и в корне неверных, представлений:) OLEG_2005Допустим мы может в MongoDb хранить произвольный набор атрибутов, но чтобы осуществлять фильтрацию по атрибутам, нам нужно добавлять для них произвольный набор индексов, а это проблематично. К тому же такие системы имеют много других разных ограничений. Ничего не понимаю. Зачем Вы приводите примеры "таких систем" со "многими другими разными ограничениями"?:) Ваша задача тривиальна, и не требует EAV. При чем здесь "такие системы"? Какое решение вы имеете в виду? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.12.2010, 13:35 |
|
||
|
Как лучше хранить значения атрибутов разных типов в EAV
|
|||
|---|---|---|---|
|
#18+
БредятинаOLEG_2005Значения произвольного набора атрибутов нужно не только хранить, но и фильтровать по ним. Даже нереляционные БД не очень здесь могут помочь. Это же очевидно. Что все эти, хоть атрибуты отношения, хоть характеристики объекта, используются в поисковых запросах. При чем здесь происхождение атрибута - разработчик его описал или пользователь? О чем Вы говорите? Опять же получается, что Вы находитесь в плену каких-то устоявшихся, и в корне неверных, представлений:) OLEG_2005Допустим мы может в MongoDb хранить произвольный набор атрибутов, но чтобы осуществлять фильтрацию по атрибутам, нам нужно добавлять для них произвольный набор индексов, а это проблематично. К тому же такие системы имеют много других разных ограничений. Ничего не понимаю. Зачем Вы приводите примеры "таких систем" со "многими другими разными ограничениями"?:) Ваша задача тривиальна, и не требует EAV. При чем здесь "такие системы"? Какое решение не связанное с EAV вы имеете в виду? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.12.2010, 13:37 |
|
||
|
Как лучше хранить значения атрибутов разных типов в EAV
|
|||
|---|---|---|---|
|
#18+
OLEG_2005Какое решение вы имеете в виду? Любое, основанное на классической объектной модели данных. Я за 28 лет не видел ни разу, чтобы в таких решениях были бы ограничения на добавление пользовательских "атрибутов" в "таблицы". Если у Вас нет такого решения, то реализовать его, например, в GT.M элементарно:) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.12.2010, 13:47 |
|
||
|
Как лучше хранить значения атрибутов разных типов в EAV
|
|||
|---|---|---|---|
|
#18+
БредятинаOLEG_2005Какое решение вы имеете в виду? Любое, основанное на классической объектной модели данных. Я за 28 лет не видел ни разу, чтобы в таких решениях были бы ограничения на добавление пользовательских "атрибутов" в "таблицы". Если у Вас нет такого решения, то реализовать его, например, в GT.M элементарно:) Как без EAV вы представляете себе хранение произвольного набора атрибутов? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.12.2010, 13:49 |
|
||
|
Как лучше хранить значения атрибутов разных типов в EAV
|
|||
|---|---|---|---|
|
#18+
БредятинаOLEG_2005Какое решение вы имеете в виду? Любое, основанное на классической объектной модели данных. Я за 28 лет не видел ни разу, чтобы в таких решениях были бы ограничения на добавление пользовательских "атрибутов" в "таблицы". Если у Вас нет такого решения, то реализовать его, например, в GT.M элементарно:) Классический подход - это использование таблиц с фиксированным числом столбцов, в которых хранятся значения? А как быть, когда набор атрибутов заранее неизвестен? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.12.2010, 13:55 |
|
||
|
Как лучше хранить значения атрибутов разных типов в EAV
|
|||
|---|---|---|---|
|
#18+
БредятинаOLEG_2005Какое решение вы имеете в виду? Любое, основанное на классической объектной модели данных. Я за 28 лет не видел ни разу, чтобы в таких решениях были бы ограничения на добавление пользовательских "атрибутов" в "таблицы". Если у Вас нет такого решения, то реализовать его, например, в GT.M элементарно:) Что касается GT.M, я не знаком с этой этим продуктом и слабо представляю, как такое решение может помочь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.12.2010, 13:57 |
|
||
|
Как лучше хранить значения атрибутов разных типов в EAV
|
|||
|---|---|---|---|
|
#18+
OLEG_2005Бредятинапропущено... Любое, основанное на классической объектной модели данных. Я за 28 лет не видел ни разу, чтобы в таких решениях были бы ограничения на добавление пользовательских "атрибутов" в "таблицы". Если у Вас нет такого решения, то реализовать его, например, в GT.M элементарно:) Как без EAV вы представляете себе хранение произвольного набора атрибутов? Понадобилась еще одна характеритика объекта - добавили. Что здесь нужно представлять?:) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.12.2010, 13:57 |
|
||
|
Как лучше хранить значения атрибутов разных типов в EAV
|
|||
|---|---|---|---|
|
#18+
БредятинаOLEG_2005пропущено... Как без EAV вы представляете себе хранение произвольного набора атрибутов? Понадобилась еще одна характеритика объекта - добавили. Что здесь нужно представлять?:) Вы имеете в виду, каждый раз изменять структуру таблицы? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.12.2010, 13:58 |
|
||
|
Как лучше хранить значения атрибутов разных типов в EAV
|
|||
|---|---|---|---|
|
#18+
БредятинаOLEG_2005пропущено... Как без EAV вы представляете себе хранение произвольного набора атрибутов? Понадобилась еще одна характеритика объекта - добавили. Что здесь нужно представлять?:) Решение с изменением структуры таблицы является нежизнеспособным. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.12.2010, 14:00 |
|
||
|
Как лучше хранить значения атрибутов разных типов в EAV
|
|||
|---|---|---|---|
|
#18+
OLEG_2005Классический подход - это использование таблиц с фиксированным числом столбцов, в которых хранятся значения? Такой подход не предписывает и реляционная технология. Его вели в практику (и, тем самым, - Вас в заблуждение) разработчики "реляционных" СУБД. OLEG_2005А как быть, когда набор атрибутов заранее неизвестен? Добавить, когда станет известным - это же очевидно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.12.2010, 14:00 |
|
||
|
Как лучше хранить значения атрибутов разных типов в EAV
|
|||
|---|---|---|---|
|
#18+
OLEG_2005Что касается GT.M, я не знаком с этой этим продуктом и слабо представляю, как такое решение может помочь. В этом и заключается Ваша проблема. Я об этом и говорю. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.12.2010, 14:02 |
|
||
|
Как лучше хранить значения атрибутов разных типов в EAV
|
|||
|---|---|---|---|
|
#18+
БредятинаOLEG_2005Классический подход - это использование таблиц с фиксированным числом столбцов, в которых хранятся значения? Такой подход не предписывает и реляционная технология. Его вели в практику (и, тем самым, - Вас в заблуждение) разработчики "реляционных" СУБД. OLEG_2005А как быть, когда набор атрибутов заранее неизвестен? Добавить, когда станет известным - это же очевидно. Могли бы вы объяснить вашу идею, она непонятна. Когда вы говорить добавить атрибут, в имеете в виду добавить столбец в таблицу? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.12.2010, 14:04 |
|
||
|
Как лучше хранить значения атрибутов разных типов в EAV
|
|||
|---|---|---|---|
|
#18+
OLEG_2005Вы имеете в виду, каждый раз изменять структуру таблицы? Я имею в виду, что пользователь, конечно, может, добавлять характеристики объектов (даже в реляционной технологии нет понятия "таблица"), точнее ему просто должна быть предоставлена такая возможность. Иначе - это вообще не СУБД. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.12.2010, 14:05 |
|
||
|
Как лучше хранить значения атрибутов разных типов в EAV
|
|||
|---|---|---|---|
|
#18+
OLEG_2005Решение с изменением структуры таблицы является нежизнеспособным. Так точно, но Вы опять забыли добавить ключевые слова - в СУБД, которую мне навязали "жизненные обстоятельства":) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.12.2010, 14:07 |
|
||
|
Как лучше хранить значения атрибутов разных типов в EAV
|
|||
|---|---|---|---|
|
#18+
БредятинаOLEG_2005Вы имеете в виду, каждый раз изменять структуру таблицы? Я имею в виду, что пользователь, конечно, может, добавлять характеристики объектов (даже в реляционной технологии нет понятия "таблица"), точнее ему просто должна быть предоставлена такая возможность. Иначе - это вообще не СУБД. Вариант с постоянным изменением структуры таблицы неприменим. Во-первых, в многопользовательской системе это небезопасно, во-вторых, в одной таблице хранятся данные многих пользователей и соответственно независимо изменить структуру для каждого из тысяч пользователей не представляется возможным. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.12.2010, 14:09 |
|
||
|
Как лучше хранить значения атрибутов разных типов в EAV
|
|||
|---|---|---|---|
|
#18+
OLEG_2005Могли бы вы объяснить вашу идею, она непонятна. Когда вы говорить добавить атрибут, в имеете в виду добавить столбец в таблицу? Это не моя идея. В классической объектной модели, как и в реляционной, нет понятий "столбец" и "таблица". Добавить характеристику в объект. Только и всего. Конечно, Вы можете использовать такую аналогию - "столбец" в "таблицу", но, учитывая отсутсвие у Вас знаний даже о таких фундаментальных продуктах технологии баз данных, как GT.M, эта аналогия может Вас привести к заблуждению:) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.12.2010, 14:12 |
|
||
|
Как лучше хранить значения атрибутов разных типов в EAV
|
|||
|---|---|---|---|
|
#18+
БредятинаOLEG_2005Решение с изменением структуры таблицы является нежизнеспособным. Так точно, но Вы опять забыли добавить ключевые слова - в СУБД, которую мне навязали "жизненные обстоятельства":) Да, я говорю об РСУБД, так как большая часть данных отлична опивывается в терминах РСУБД, но я также не вижу решения данной задачи в нереляционных СУБД. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.12.2010, 14:12 |
|
||
|
Как лучше хранить значения атрибутов разных типов в EAV
|
|||
|---|---|---|---|
|
#18+
OLEG_2005Вариант с постоянным изменением структуры таблицы неприменим. Во-первых, в многопользовательской системе это небезопасно, во-вторых, в одной таблице хранятся данные многих пользователей и соответственно независимо изменить структуру для каждого из тысяч пользователей не представляется возможным. Вы опять забыли про ключевую фразу:) Мне остается только принести соболезнования... Надеюсь, что товарищи по несчастью, которые тоже используют "Вашу" СУБД, в которой практически ничего не представляется возможным, Вам, все-таки, помогут найти единственно верное решение:) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.12.2010, 14:15 |
|
||
|
Как лучше хранить значения атрибутов разных типов в EAV
|
|||
|---|---|---|---|
|
#18+
БредятинаOLEG_2005Могли бы вы объяснить вашу идею, она непонятна. Когда вы говорить добавить атрибут, в имеете в виду добавить столбец в таблицу? Это не моя идея. В классической объектной модели, как и в реляционной, нет понятий "столбец" и "таблица". Добавить характеристику в объект. Только и всего. Конечно, Вы можете использовать такую аналогию - "столбец" в "таблицу", но, учитывая отсутсвие у Вас знаний даже о таких фундаментальных продуктах технологии баз данных, как GT.M, эта аналогия может Вас привести к заблуждению:) В объектной СУБД есть, наверное, понятие объект и атрибут. Мне непонятно, как происходит поиск в таких системах по вновь добавленному атрибуту. В РСУБД для эффективного использования запросов, мы создаем схему БД и соответствующие индексы. А как происходит поиск по атрибуту, например, в GT.M? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.12.2010, 14:17 |
|
||
|
Как лучше хранить значения атрибутов разных типов в EAV
|
|||
|---|---|---|---|
|
#18+
БредятинаOLEG_2005Вариант с постоянным изменением структуры таблицы неприменим. Во-первых, в многопользовательской системе это небезопасно, во-вторых, в одной таблице хранятся данные многих пользователей и соответственно независимо изменить структуру для каждого из тысяч пользователей не представляется возможным. Вы опять забыли про ключевую фразу:) Мне остается только принести соболезнования... Надеюсь, что товарищи по несчастью, которые тоже используют "Вашу" СУБД, в которой практически ничего не представляется возможным, Вам, все-таки, помогут найти единственно верное решение:) Походе в наших рассуждениях мы сильно ушли от темы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.12.2010, 14:19 |
|
||
|
Как лучше хранить значения атрибутов разных типов в EAV
|
|||
|---|---|---|---|
|
#18+
OLEG_2005Да, я говорю об РСУБД, так как большая часть данных отлична опивывается в терминах РСУБД, но я также не вижу решения данной задачи в нереляционных СУБД. Да, конечно, отлично описывается. Это видно по форуму:) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.12.2010, 14:19 |
|
||
|
Как лучше хранить значения атрибутов разных типов в EAV
|
|||
|---|---|---|---|
|
#18+
БредятинаOLEG_2005Да, я говорю об РСУБД, так как большая часть данных отлична опивывается в терминах РСУБД, но я также не вижу решения данной задачи в нереляционных СУБД. Да, конечно, отлично описывается. Это видно по форуму:) Это только часть задачи, остальная часть довольно хорошо описывается в РСУБД. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.12.2010, 14:21 |
|
||
|
Как лучше хранить значения атрибутов разных типов в EAV
|
|||
|---|---|---|---|
|
#18+
OLEG_2005Походе в наших рассуждениях мы сильно ушли от темы. Да, больше не буду отвлекать от "EAV в реляционной СУБД". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.12.2010, 14:21 |
|
||
|
Как лучше хранить значения атрибутов разных типов в EAV
|
|||
|---|---|---|---|
|
#18+
OLEG_2005В объектной СУБД есть, наверное, понятие объект и атрибут. Мне непонятно, как происходит поиск в таких системах по вновь добавленному атрибуту. Атрибут - это другое. Объект и характеристика - так правильно (у характеристики может быть много артибутов: тип, наименование и т.д.). Поиск происходит точно так же, как и по ранее добавленным. Я даже не могу представить какая тут может быть проблема. А что в "реляционной системе" есть какая-то проблема с поиском, когда, как Вы говорите, добавляется "столбец" в "таблицу"??? OLEG_2005В РСУБД для эффективного использования запросов, мы создаем схему БД и соответствующие индексы. А как происходит поиск по атрибуту, например, в GT.M? GT.M - это среда для создания СУБД:) В СУБД, основанных на классической объектной модели, запросы используются намного эффективнее, чем в "Р"СУБД. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.12.2010, 14:27 |
|
||
|
Как лучше хранить значения атрибутов разных типов в EAV
|
|||
|---|---|---|---|
|
#18+
OLEG_2005Бредятинапропущено... Да, конечно, отлично описывается. Это видно по форуму:) Это только часть задачи, остальная часть довольно хорошо описывается в РСУБД. Конечно, все время какие-то "части" путаются под ногами. То одна, то другая. Но, в целом, довольно хорошо (чуть выше, Ваше мнение было более оптимистичны - "ОТЛИЧНО ОПИСЫВАЕТСЯ"):) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.12.2010, 14:31 |
|
||
|
Как лучше хранить значения атрибутов разных типов в EAV
|
|||
|---|---|---|---|
|
#18+
> В качестве ориентира выбрана аналогичная система Из всех распространенныхз юзерспейс проектов не могу назвать ни одного, чей функционал казался бы мне интересным. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.12.2010, 14:32 |
|
||
|
Как лучше хранить значения атрибутов разных типов в EAV
|
|||
|---|---|---|---|
|
#18+
БредятинаOLEG_2005В объектной СУБД есть, наверное, понятие объект и атрибут. Мне непонятно, как происходит поиск в таких системах по вновь добавленному атрибуту. Атрибут - это другое. Объект и характеристика - так правильно (у характеристики может быть много артибутов: тип, наименование и т.д.). Поиск происходит точно так же, как и по ранее добавленным. Я даже не могу представить какая тут может быть проблема. А что в "реляционной системе" есть какая-то проблема с поиском, когда, как Вы говорите, добавляется "столбец" в "таблицу"??? OLEG_2005В РСУБД для эффективного использования запросов, мы создаем схему БД и соответствующие индексы. А как происходит поиск по атрибуту, например, в GT.M? GT.M - это среда для создания СУБД:) В СУБД, основанных на классической объектной модели, запросы используются намного эффективнее, чем в "Р"СУБД. А имел в виду, что изменяться структуру таблицы, когда система в работе недопустимо. Для эффективного запроса по столбцу нужно добавлять индексы в РСУБД, видимо нечто подобное и в объектных СУБД? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.12.2010, 14:33 |
|
||
|
Как лучше хранить значения атрибутов разных типов в EAV
|
|||
|---|---|---|---|
|
#18+
OLEG_2005А имел в виду, что изменяться структуру таблицы, когда система в работе недопустимо. Для эффективного запроса по столбцу нужно добавлять индексы в РСУБД, видимо нечто подобное и в объектных СУБД? Ничего подобного даже близко нет. Налитие и тип индекса - это просто атрибуты характеристики объекта. Добавляете характеристику, и все. При чем здесь в работе система или не в работе??? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.12.2010, 14:38 |
|
||
|
Как лучше хранить значения атрибутов разных типов в EAV
|
|||
|---|---|---|---|
|
#18+
БредятинаOLEG_2005А имел в виду, что изменяться структуру таблицы, когда система в работе недопустимо. Для эффективного запроса по столбцу нужно добавлять индексы в РСУБД, видимо нечто подобное и в объектных СУБД? Ничего подобного даже близко нет. Налитие и тип индекса - это просто атрибуты характеристики объекта. Добавляете характеристику, и все. При чем здесь в работе система или не в работе??? Я имею в виду, что решение с изменением структуры таблицы для добавления атрибутов в РСУБД, каждый раз когда пользователь добавляет новый атрибут, нереализуемо на практике. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.12.2010, 14:41 |
|
||
|
Как лучше хранить значения атрибутов разных типов в EAV
|
|||
|---|---|---|---|
|
#18+
OLEG_2005Я имею в виду, что решение с изменением структуры таблицы для добавления атрибутов в РСУБД, каждый раз когда пользователь добавляет новый атрибут, нереализуемо на практике. Это изначально понятно былою Это одна из тех "частей", а в целом "довольно хорошо":) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.12.2010, 14:47 |
|
||
|
Как лучше хранить значения атрибутов разных типов в EAV
|
|||
|---|---|---|---|
|
#18+
БредятинаOLEG_2005Я имею в виду, что решение с изменением структуры таблицы для добавления атрибутов в РСУБД, каждый раз когда пользователь добавляет новый атрибут, нереализуемо на практике. Это изначально понятно былою Это одна из тех "частей", а в целом "довольно хорошо":) Поэтому тема поста связана с EAV. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.12.2010, 14:49 |
|
||
|
Как лучше хранить значения атрибутов разных типов в EAV
|
|||
|---|---|---|---|
|
#18+
БредятинаOLEG_2005Я имею в виду, что решение с изменением структуры таблицы для добавления атрибутов в РСУБД, каждый раз когда пользователь добавляет новый атрибут, нереализуемо на практике. Это изначально понятно былою Это одна из тех "частей", а в целом "довольно хорошо":) Но если будут высказаны идеи реализации в не РСУБД, это тоже может быть интересно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.12.2010, 14:51 |
|
||
|
Как лучше хранить значения атрибутов разных типов в EAV
|
|||
|---|---|---|---|
|
#18+
OLEG_2005Поэтому тема поста связана с EAV. EAV в реляционных СУБД - будьте элементарно точнее:) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.12.2010, 14:57 |
|
||
|
Как лучше хранить значения атрибутов разных типов в EAV
|
|||
|---|---|---|---|
|
#18+
OLEG_2005Но если будут высказаны идеи реализации в не РСУБД, это тоже может быть интересно. Уже не смешно:) EAV принципиально не нужна для решения Вашей задачи. Что же тут "может быть интересно"? Вся эта тема интересна только для РСУБД. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.12.2010, 14:59 |
|
||
|
Как лучше хранить значения атрибутов разных типов в EAV
|
|||
|---|---|---|---|
|
#18+
БредятинаOLEG_2005Но если будут высказаны идеи реализации в не РСУБД, это тоже может быть интересно. Уже не смешно:) EAV принципиально не нужна для решения Вашей задачи. Что же тут "может быть интересно"? Вся эта тема интересна только для РСУБД. Тогда видимо корректнее говорить, что возможно решение без EAV, при использование не РСУБД. Может быть и так. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.12.2010, 16:04 |
|
||
|
Как лучше хранить значения атрибутов разных типов в EAV
|
|||
|---|---|---|---|
|
#18+
OLEG_2005Тогда видимо корректнее говорить, что возможно решение без EAV, при использование не РСУБД. Может быть и так. Видимо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.12.2010, 16:07 |
|
||
|
Как лучше хранить значения атрибутов разных типов в EAV
|
|||
|---|---|---|---|
|
#18+
Бредятина, А как в М можно получить общую схему схему? Как там переменные группируются в агрегаты, классифицируются? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.12.2010, 17:43 |
|
||
|
Как лучше хранить значения атрибутов разных типов в EAV
|
|||
|---|---|---|---|
|
#18+
ViPRos, Немного утомительно все время объяснять, что mumps - это среда для создания СУБД, а не СУБД. Но я терпеливый, как Вы уже знаете:) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.12.2010, 17:46 |
|
||
|
Как лучше хранить значения атрибутов разных типов в EAV
|
|||
|---|---|---|---|
|
#18+
Бредятина, ну не рботал я с ней и не изучал скажи одно там есть понятие похожее на класс, тип? или это куча которая динамически может выдать список объектов по подобию характеристик? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.12.2010, 18:42 |
|
||
|
Как лучше хранить значения атрибутов разных типов в EAV
|
|||
|---|---|---|---|
|
#18+
ViPRos, А кругозор надо расширять:) Для того что бы получить предcтавление о работе с глобалями в М, достаточно взглянуть на какой-нибудь блого-новостной сайт с облаком тегов. Каждая статья-объект помечена произвольным количетвом тегов-ключей. Читатель может отбирать статьи по некольким (1..n) тегам. Вот вобчемто и все о структуре БД в MUMPS. Глобали между собой не связаны. Выборка и запись императивные. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.12.2010, 00:41 |
|
||
|
Как лучше хранить значения атрибутов разных типов в EAV
|
|||
|---|---|---|---|
|
#18+
ViPRos, В Cache' поверх глобалей вводится собтвенная (продвинутая:)) объектная система с объектами, классами и отображенем в sql. Но поскольку "поверх", работает неколько медленей Ъ-М-глобалей. P.S. Не М-щик, ни разу, поэтому мог быть введен в заблуждение. С такими вопросами лучше все таки в соседний спец-форум. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.12.2010, 01:00 |
|
||
|
Как лучше хранить значения атрибутов разных типов в EAV
|
|||
|---|---|---|---|
|
#18+
antares0, А че тогда Бред мне лапшу вешал? У меня эти теги (классификаторы) могут образовать граф. Это я называю принудительной множественной классификацией. Там наверняка есть и классфикация по именам (если они именуются, что бы избежать жесткого порядка) и значениям характеристик. Это естественная классификация. Ну, посмотрю как-нить.Просто в России эти системы мало распостранены и боязно что нить на них разработать, не продашь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.12.2010, 01:22 |
|
||
|
Как лучше хранить значения атрибутов разных типов в EAV
|
|||
|---|---|---|---|
|
#18+
ViPRos, Бред. как обычно о своем объектном:) Но твою речь о графе тегов и НЕестетвенной класификации я понимаю еще менше :( Порядок там жесткий в том смысле что глобаль автоматически сортируетя. Данные текст и числа. В качетве структур локали. Оно и у них не чаще используется. Из реализаций только сильно-платный Cache' и nix-only GT.M без классов и sql-я зато с встроенным инкриментным компилятором. Ну и вобще ИМХО язык своеобразно-примитивный. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.12.2010, 01:48 |
|
||
|
Как лучше хранить значения атрибутов разных типов в EAV
|
|||
|---|---|---|---|
|
#18+
antares0, ну тады нафиг время терять на него и так некогда :( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.12.2010, 02:00 |
|
||
|
Как лучше хранить значения атрибутов разных типов в EAV
|
|||
|---|---|---|---|
|
#18+
Сахават, собственно, один момент остался непонятным. Вы говорили о глобальном поиске альтернативных вариантов. Понятно, что внешние источники, которыми вы будете пользоваться, вашу классификацию и ваши словари не поддерживают. Единственный вариант - индивидуальный маппинг. Я правильно понимаю? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.12.2010, 10:13 |
|
||
|
Как лучше хранить значения атрибутов разных типов в EAV
|
|||
|---|---|---|---|
|
#18+
guest_20040621, да, счас сделан для МССКЛ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.12.2010, 11:08 |
|
||
|
Как лучше хранить значения атрибутов разных типов в EAV
|
|||
|---|---|---|---|
|
#18+
ViPRosБредятина, ну не рботал я с ней и не изучал скажи одно там есть понятие похожее на класс, тип? или это куча которая динамически может выдать список объектов по подобию характеристик? Модератор удалил мое объяснение почему-то. Придется повторить. Там нет ни классов, ни типов, ни куч, ни списков объектов... Есть компактная и мощная среда, в которой очень удобно поддерживать то, что Вам удобно: классы, типы, кучи, списки объектов и т.д. В частности, идеальная среда для реализации "объектной технологии" в парадигме ООП. Что и сделали, в частности, в IS, развив mumps до COS. Mumps, как язык, был первым, в который стандартно встроен SQL, кстати:) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.12.2010, 13:32 |
|
||
|
Как лучше хранить значения атрибутов разных типов в EAV
|
|||
|---|---|---|---|
|
#18+
ViPRosА че тогда Бред мне лапшу вешал? У меня эти теги (классификаторы) могут образовать граф. Это я называю принудительной множественной классификацией. Ну не сочиняйте:) Лапшу, с надстройкой плохо формализованной модели (которой Вы названия никакого не дали) над другой плохо формализованной моделью (реляционной) вешали как раз ВЫ. Я, со своей строны, старательно разбирался во всех Ваших сумбурных сообщениях, и в той или иной степени помог Вам подойти к более строгой формализации (когда будете писать документацию:)). ViPRosТам наверняка есть и классфикация по именам (если они именуются, что бы избежать жесткого порядка) и значениям характеристик. Это естественная классификация. Где там? И почему она "естественная"? ViPRosНу, посмотрю как-нить. Просто в России эти системы мало распостранены и боязно что нить на них разработать, не продашь. Так и смотреть нечего тогда:) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.12.2010, 13:39 |
|
||
|
Как лучше хранить значения атрибутов разных типов в EAV
|
|||
|---|---|---|---|
|
#18+
antares0Бред. как обычно о своем объектном:) Не о своем, а о общеизвестном и наиболее перспективном:) antares0Но твою речь о графе тегов и НЕестетвенной класификации я понимаю еще менше :( А я вот стараюсь все понимать. И помогаю формализовать. Пока лучше всего формализована классическая объектная модель данных, так как в ней все три базовых структурных понятия четко определены, ограничения целостности намного проще и понятнее (чем в реляционной модели или в объектно-ориентированной модели на основе ООП), язык манипулирования предельно прост и компактен, и нет никаких проблем для применения языков типа SQL. antares0Ну и вобще ИМХО язык своеобразно-примитивный. Это не язык, а технология, вот чего Вы не поняли:) Вот SQL - это язык. На котором нельзя создать приложение, поэтому его и решили переделать сначала в процедурный, потом - в объектный, но не помогает:) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.12.2010, 13:49 |
|
||
|
Как лучше хранить значения атрибутов разных типов в EAV
|
|||
|---|---|---|---|
|
#18+
ViPRosну тады нафиг время терять на него и так некогда :( Именно для таких занятых IS и разработал массу всего, чтобы программировать на яве, бэйсике, скуле и т.п.:) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.12.2010, 13:51 |
|
||
|
Как лучше хранить значения атрибутов разных типов в EAV
|
|||
|---|---|---|---|
|
#18+
ViPRos[И снова о мэппинге из одной модели в другую (чего не нужно делать, если использовать классическую объектную модель данных)]: да, счас сделан для МССКЛ Так держать! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.12.2010, 13:54 |
|
||
|
Как лучше хранить значения атрибутов разных типов в EAV
|
|||
|---|---|---|---|
|
#18+
Бредятина, скачал вчера Кашэ, посмотрю, вдруг пригодится. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.12.2010, 18:10 |
|
||
|
Как лучше хранить значения атрибутов разных типов в EAV
|
|||
|---|---|---|---|
|
#18+
ViPRosскачал вчера Кашэ, посмотрю, вдруг пригодится. Может и пригодиться. Но там еще далеко до классической объектной модели данных. Связи там тоже не поддерживаются. И "серьезные заблуждения" по Дейту, как и в Oracle, имеются:) Но, как программисту, Вам должно быть интересно и полезно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.12.2010, 19:58 |
|
||
|
|

start [/forum/topic.php?all=1&fid=32&tid=1542393]: |
0ms |
get settings: |
8ms |
get forum list: |
11ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
159ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
76ms |
get tp. blocked users: |
1ms |
| others: | 227ms |
| total: | 497ms |

| 0 / 0 |
