powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Как лучше хранить значения атрибутов разных типов в EAV
25 сообщений из 120, страница 2 из 5
Как лучше хранить значения атрибутов разных типов в EAV
    #37021002
Бредятина
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZivВообще в мире-то глупых людей больше, чем умных. Статистика ...

То есть, вариант 1) выбирают глупые люди:) А почему же прямо так не сказать?
...
Рейтинг: 0 / 0
Как лучше хранить значения атрибутов разных типов в EAV
    #37021021
Бредятина
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_модцелостность и EAV несовместимы. сравнения нужно делать после преобразования. 90% данных в типовых системах обработки данных - строки.
По количеству символов? Или по количеству типов характеристик (свойств, атрибутов) соответствующих типов? Поскольку второе корректнее, то 90% - это не верная оценка. Причем сильно не верная:)
...
Рейтинг: 0 / 0
Как лучше хранить значения атрибутов разных типов в EAV
    #37021047
guest_20040621
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
> В данном случае без EAV не обойтись.

Исходную задачу сформулируйте.
...
Рейтинг: 0 / 0
Как лучше хранить значения атрибутов разных типов в EAV
    #37021090
OLEG_2005
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
guest_20040621> В данном случае без EAV не обойтись.

Исходную задачу сформулируйте.

Нужно хранить сущности, которые могут иметь заданные пользователей атрибуты и иметь возможность фильтровать по ним.
...
Рейтинг: 0 / 0
Как лучше хранить значения атрибутов разных типов в EAV
    #37021110
_мод
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
OLEG_2005При преобразовании данных, например, строк в числа, индексы использоваться уже не будут.
Я храню все в строках. Есть индекс по значению. При поиске данные преобраз. в строки. Даты формата dd.mm.yyyy. Числа целые или с точкой.
...
Рейтинг: 0 / 0
Как лучше хранить значения атрибутов разных типов в EAV
    #37021120
OLEG_2005
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_модOLEG_2005При преобразовании данных, например, строк в числа, индексы использоваться уже не будут.
Я храню все в строках. Есть индекс по значению. При поиске данные преобраз. в строки. Даты формата dd.mm.yyyy. Числа целые или с точкой.

Не понятно, как ты ищешь в BLOB значения и поддерживаешь целостность данных.
Ненормализованные данные - это не очень здорово.
...
Рейтинг: 0 / 0
Как лучше хранить значения атрибутов разных типов в EAV
    #37021200
guest_20040621
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
> Нужно хранить сущности, которые могут иметь заданные пользователей атрибуты и иметь возможность фильтровать по ним.

;) А, вечный двигатель. Понятно.

Я бы не отдавал пользователю возможность определять что бы то ни было в базе данных. Но если без этого никак, то как хранить значения - на мой взгляд - определяющей роли не играет, проверки при добавлении данных достаточно. Мне кажется, пользовательские атрибуты - это уже мусор, с чем бы он ни был связан, он мусором и останется.
...
Рейтинг: 0 / 0
Как лучше хранить значения атрибутов разных типов в EAV
    #37021205
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
OLEG_2005,

храни в еав по типам данных, держи метаданные отдельно
формируй выпрямляющую команду (лучше в динамике с изменением кол атрибутов и храни) и и делай что как хошь
...
Рейтинг: 0 / 0
Как лучше хранить значения атрибутов разных типов в EAV
    #37021396
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ViPRosMasterZivOn 17.12.2010 3:12, ViPRos wrote:

> NULL тут нефиг хранить

Если в одной строке хранить один атрибут, а
полей в строке столько, сколько возможных типов данных атбирутов,
то остальные поля, кроме поля с типом данного атрибута будут NULL.

Я NULL не храню, храню метаданные об атрибутном составе

Это как это ? Ну ка поясни ...
...
Рейтинг: 0 / 0
Как лучше хранить значения атрибутов разных типов в EAV
    #37021420
OLEG_2005
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
guest_20040621> Нужно хранить сущности, которые могут иметь заданные пользователей атрибуты и иметь возможность фильтровать по ним.

;) А, вечный двигатель. Понятно.

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

Мне кажется, что проверка типов на уровне БД вряд ли бывает лишней в любом случае.
...
Рейтинг: 0 / 0
Как лучше хранить значения атрибутов разных типов в EAV
    #37021537
guest_20040621
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
> проверка типов на уровне БД вряд ли бывает лишней в любом случае

Конечно. Хотел подчеркнуть, что если мусор уже есть, то стоит ли бороться за его идеальную чистоту?
...
Рейтинг: 0 / 0
Как лучше хранить значения атрибутов разных типов в EAV
    #37021557
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZiv,

ну че тут не ясно?
Атрибуты объекта хранятся отдельно
Есть идентифицированный Объект
Есть таблица типизированных Атрибутов этого Объекта
При появлении нового Атрибута он включается в список типизированных атрибутов Объекта
а соответствующую по типу ЕАВ таблицу добавляется Имя и Значение этого Атрибута
потихоньку все это фиговина динамически типизируется и превращется в статическую структуру
в БД всегда сосуществуют типизированные, частично типизированные и не типизированные Объекты
все мтоды доступа генерятся автоматом хранятся по мере прихода объектов
...
Рейтинг: 0 / 0
Как лучше хранить значения атрибутов разных типов в EAV
    #37021849
OLEG_2005
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
guest_20040621> проверка типов на уровне БД вряд ли бывает лишней в любом случае

Конечно. Хотел подчеркнуть, что если мусор уже есть, то стоит ли бороться за его идеальную чистоту?

Не понятно, что вы называете мусором.
...
Рейтинг: 0 / 0
Как лучше хранить значения атрибутов разных типов в EAV
    #37022115
Фотография iscrafm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
OLEG_2005В данном случае без EAV не обойтись.
тяжело даже придумать такие случаи.
...
Рейтинг: 0 / 0
Как лучше хранить значения атрибутов разных типов в EAV
    #37022116
Фотография iscrafm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
OLEG_2005guest_20040621> В данном случае без EAV не обойтись.

Исходную задачу сформулируйте.

Нужно хранить сущности, которые могут иметь заданные пользователей атрибуты и иметь возможность фильтровать по ним.
просто задайте требуемые пользователю атрибуты. Наверное нет более проблемной выдумки чем EAV, но насколько популярен...
...
Рейтинг: 0 / 0
Как лучше хранить значения атрибутов разных типов в EAV
    #37022122
Фотография iscrafm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
любые варианты получения золота из ртути так и останутся алхимией. Равно как и извраты, типа получения типа "объектов" из РБД.
...
Рейтинг: 0 / 0
Как лучше хранить значения атрибутов разных типов в EAV
    #37022144
guest_20040621
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
> Не понятно, что вы называете мусором.

Написал чуть выше: "пользовательские атрибуты - это уже мусор, с чем бы он ни был связан, он мусором и останется".
...
Рейтинг: 0 / 0
Как лучше хранить значения атрибутов разных типов в EAV
    #37022146
guest_20040621
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
> тяжело даже придумать такие случаи

Легко. Нормальный способ для хранения, например, переменных. Правда, структура сильно сложнее подразумеваемой, но в целом идея та же. Пример из жизни - ставка рефинансирования. Это не таймсерия, поскольку изменения не регулярны, разные финансовые институты оперируют разными моделями рынков и разными ставками, которые меняются не синхронно. По-другому действительно никак. Но в данном случае шаловливые ручонки юзеров не оказывают влияние на качество структуры данных, так что проблем нет.

> Равно как и извраты, типа получения типа "объектов" из РБД

Изврат - это использовать "объектную" терминологию. Судя по этому форуму, люди, которые это делают, слабо понимают смысл определения "объектный". Речь идет, как правило, о типизированных сущностях и связях, что никакого отношения к объектам, конечно, не имеет.
...
Рейтинг: 0 / 0
Как лучше хранить значения атрибутов разных типов в EAV
    #37023026
OLEG_2005
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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

Списки атрибутов для каждого списка могут задаваться пользователем, они могут быть разными, так как назначение списков могут быть очень разными.
Предполагается, что типы атрибутов будут одного из типов пока: строковые, числовые и дата.
...
Рейтинг: 0 / 0
Как лучше хранить значения атрибутов разных типов в EAV
    #37023039
guest_20040621
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
> Пример: списки объектов (пользователей)

Задача решается стандартным набором атрибутов, исчерпывающе полно описывающих пользователей. Юзеры могут поддерживать актуальность только тех данных, которые необходимы. В данном случае сложность может представлять только группировка этих атрибутов (антропометрические, социальные, коммуникативные, профессиональные и пр.), что при известном навыке задача вполне решаемая.
...
Рейтинг: 0 / 0
Как лучше хранить значения атрибутов разных типов в EAV
    #37023040
OLEG_2005
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
guest_20040621> Пример: списки объектов (пользователей)

Задача решается стандартным набором атрибутов, исчерпывающе полно описывающих пользователей. Юзеры могут поддерживать актуальность только тех данных, которые необходимы. В данном случае сложность может представлять только группировка этих атрибутов (антропометрические, социальные, коммуникативные, профессиональные и пр.), что при известном навыке задача вполне решаемая.

Набор атрибутов заранее не определен и от списка к списку он может сильно отличаться.
Задать набор атрибутов на все случае жизни в данном случае не представляется возможным.
...
Рейтинг: 0 / 0
Как лучше хранить значения атрибутов разных типов в EAV
    #37023046
OLEG_2005
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
guest_20040621> Пример: списки объектов (пользователей)

Задача решается стандартным набором атрибутов, исчерпывающе полно описывающих пользователей. Юзеры могут поддерживать актуальность только тех данных, которые необходимы. В данном случае сложность может представлять только группировка этих атрибутов (антропометрические, социальные, коммуникативные, профессиональные и пр.), что при известном навыке задача вполне решаемая.

Так как набор атрибутов заранее не определено, то и паттерны вроде Single Table Inheritance, Concrete Table Inheritance и т. д. здесь применить не получится.
...
Рейтинг: 0 / 0
Как лучше хранить значения атрибутов разных типов в EAV
    #37023064
guest_20040621
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
> Задать набор атрибутов на все случае жизни в данном случае не представляется возможным.

Это стандартная отговорка. В данном случае в зависимости от конечной задачи набор атрибутов будет разным, но конечным. С одной стороны он ограничен требованями о защите персональных данных (которые будут различаться от государства к государству), с другой - практической целесообразностью.

> то и паттерны вроде

Слово "паттерны" применительно к проектированию баз данных придумали бараны. Есть смысл решать задачи, а не повторять чужие ошибки.
...
Рейтинг: 0 / 0
Как лучше хранить значения атрибутов разных типов в EAV
    #37023066
Бредятина
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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 имела бы, по крайней мере, теоретическое обоснование, если пользователям нужно постоянно произвольно добавлять отношения (таблицы) (или "классы", хотя, хорошо известно, что "таблица" в реляционной системе - это не "класс" в объектной). То есть, объекты, а не характеристики объектов.
...
Рейтинг: 0 / 0
Как лучше хранить значения атрибутов разных типов в EAV
    #37023068
OLEG_2005
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
guest_20040621> Задать набор атрибутов на все случае жизни в данном случае не представляется возможным.

Это стандартная отговорка. В данном случае в зависимости от конечной задачи набор атрибутов будет разным, но конечным. С одной стороны он ограничен требованями о защите персональных данных (которые будут различаться от государства к государству), с другой - практической целесообразностью.

> то и паттерны вроде

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

Набор возможных атрибутов может и конечный, но довольно большой и заранее предугадать его не представляется возможным.
Представьте себе десятки тысяч пользователей, которые используют списки для своей предметной области, они работают в разных отраслях и соответственно набор атрибутов разный.
Кто-то использует списка для того, чтобы делать рассылку пользователям о фильмах и набор атрибутов может описывать предпочтения по поводу фильмов, для рассылки информации о ПО набор атрибутов может быть другой, вариантов может быть очень много.
...
Рейтинг: 0 / 0
25 сообщений из 120, страница 2 из 5
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Как лучше хранить значения атрибутов разных типов в EAV
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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