EAV - Характеристики - хранение связей между таблицами

StalkerClasses

Новичок
Как в EAV хранить простые строковые, текстовые данные, логические данные известно.
Но как хранить связи?
 

c0dex

web.dev 2002-...
Команда форума
Партнер клуба
Отказался от реляционности в пользу EAV, а теперь наоборот надо?
 

WMix

герр M:)ller
Партнер клуба
если честно не понятно что ты хочешь, EAV - значение атрибута сущности - цвет глаз васи пупкина зеленый. какую связь ты хочешь хранить?
 

c0dex

web.dev 2002-...
Команда форума
Партнер клуба
Связь чего с чем? Сущность-сущность? Связи свойств и объектов у тебя и так уже есть.
 

WMix

герр M:)ller
Партнер клуба
как будто полей будет от этого меньше храни референт
 

grigori

( ͡° ͜ʖ ͡°)
Команда форума
Вопрос в стиле "как во время снегопада хранить снег?"

EAV - это данные и связи между ними. Если непонятно как хранить связи - это не EAV.
Вывод - ТС надо понять что значит "связи", и почему СУБД называются реляционными.
 

StalkerClasses

Новичок
Появился небольшой вопрос - когда человек сохраняет форму и значение Input = пустому значению.
В базе это как хранить?

Аналогично с флагом - если флаг = 0 нужно ли делать пустую строку в таблице значений атрибута или нет?
 

StalkerClasses

Новичок
Вопрос в том, когда строка пустая или флаг = 0 нужно ли это хранить как строку значения атрибута в базе или нет?
И как это выбрать потом если строки нет в базе с информацией о том, что значение пустое
 

Valick

Новичок
Все зависит от архитектуры и приложения и базы данных.
 

StalkerClasses

Новичок
Полагаю если нет значения нет строки.
И еще вопрос появился -

обычно Eav это две таблицы.

Сейчас понимаю что лучше иметь 1 таблицу где будут поля (тип сущности, 1 записи, тип атрибута, значение атрибута) - т.е. будет полиморфизм.

В чем разница между MM и полиморфизмом применительно к EAV?
Какие есть недостатки и плюсы у этих двух вариантов?
 

WMix

герр M:)ller
Партнер клуба
не путай полиморфизм и полиморфную связь, второе в отличии от первого советуют крайне избегать, в то время первое является предпочтением перед наследованием. на счет вопроса, если хочешь убрать EAV и оставить полиморфную связь, ну дык флаг в руки.
ЕАV никаким боком не приплетается к пс. тк второе самодостаточно.
в MM четко сохраняются связи и задачи согласованностей данных можно переложить на базу данных
 
Последнее редактирование:

StalkerClasses

Новичок
Просто хочу понять вот если нет необходимости атрибут создавать через админку, а их создаю скажем где-то в конфиге на PHP, получается у меня нет потребности в двух таблицах. А только в таблице где будет храниться значение.
 
Сверху