powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Вопрос про jsonb
10 сообщений из 10, страница 1 из 1
Вопрос про jsonb
    #39461076
nov17
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте,

Вопрос немного теоретический. Допустим есть таблицы:

attributes

id, title

products

id, title, attr (jsonb)

В поле attr ключом является название атрибута. Допустим название атрибута поменялось, как в таком случае решается проблема ссылочной целостности? Я так понимаю в jsonb внешние ключи не поддерживаются. Просьба опытным товарищам подсказать. Спасибо.
...
Рейтинг: 0 / 0
Вопрос про jsonb
    #39461106
nov17
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
nov17Здравствуйте,

Вопрос немного теоретический. Допустим есть таблицы:

attributes

id, title

products

id, title, attr (jsonb)

В поле attr ключом является название атрибута . Допустим название атрибута поменялось, как в таком случае решается проблема ссылочной целостности? Я так понимаю в jsonb внешние ключи не поддерживаются. Просьба опытным товарищам подсказать. Спасибо.

Имеется ввиду, в поле attr ключом является название атрибута из таблицы attributes.
...
Рейтинг: 0 / 0
Вопрос про jsonb
    #39461182
Фотография Maxim Boguk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
nov17Здравствуйте,

Вопрос немного теоретический. Допустим есть таблицы:

attributes

id, title

products

id, title, attr (jsonb)

В поле attr ключом является название атрибута. Допустим название атрибута поменялось, как в таком случае решается проблема ссылочной целостности? Я так понимаю в jsonb внешние ключи не поддерживаются. Просьба опытным товарищам подсказать. Спасибо.

Никак. json/jsonb Это не про ссылочную целостность а про хранение ненормализованных данных.
Нужна ссылочная целостность такого рода - используйте нормальные поля.

--
Maxim Boguk
dataegret.ru
...
Рейтинг: 0 / 0
Вопрос про jsonb
    #39461335
qwwq
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Maxim Boguk,
если обеспечить неудаляемость атрибутов (отглагольное сущ-е), и ключами в жейсоне сделать их (несменяемые)id а не тайтлы, то "в некотором роде" ссылочная целкосность обнуружиццо взад.

но в некотором не слишком достаточном.

и вообще, сваливаться в нереляционность нужно очень осторожно. когда нормальные формы не срабатывают. или когда базенка игрушечных размеров.
...
Рейтинг: 0 / 0
Вопрос про jsonb
    #39465639
nov17
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Т.е если атрибуты удаляются и редактируются, то более подходящим является EAV?
...
Рейтинг: 0 / 0
Вопрос про jsonb
    #39465720
qwwq
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
nov17,

>если обеспечить неудаляемость атрибутов

читать:
"если обеспечить неудаляемость атрибутов ИЗ СЛОВАРЯ атрибутов"
//оставив в нем редактируемость имен

т.к. fk у вас нет . и ни cascade ни restrict вы обеспечить не в состоянии
а триггер на delete /truncate -- вполне


про лучшесть ЕАВ-а расскажите попа дробнее.
...
Рейтинг: 0 / 0
Вопрос про jsonb
    #39466280
nov17
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
qwwqnov17,

>если обеспечить неудаляемость атрибутов

читать:
"если обеспечить неудаляемость атрибутов ИЗ СЛОВАРЯ атрибутов"
//оставив в нем редактируемость имен

т.к. fk у вас нет . и ни cascade ни restrict вы обеспечить не в состоянии
а триггер на delete /truncate -- вполне


про лучшесть ЕАВ-а расскажите попа дробнее.

Про то, что лучше не могу ничего сказать. Я в данный момент только изучаю работу с postgre. Для практики делаю интернет магазин, с произвольным количеством атрибутов. Сделал EAV, вроде ссылочная целостность с помощью внешних ключей есть и при поиске товаров по атрибутам работают индексы, но что-то смущает количество INNER JOIN - ов. Решил попробовать атрибуты товаров хранить в json, но даже если ключами делать id атрибутов, при удалении атрибутов придется вручную удалять так же и ключи во всех товарах.
...
Рейтинг: 0 / 0
Вопрос про jsonb
    #39466287
nov17
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
qwwqа триггер на delete /truncate -- вполне
.

А как насчет производительности при огромном количестве товаров?
...
Рейтинг: 0 / 0
Вопрос про jsonb
    #39466571
qwwq
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
nov17qwwqа триггер на delete /truncate -- вполне
.

А как насчет производительности при огромном количестве товаров?
кхм, стесняюсь спросить, как насчет производительности каскадов для любой схемы поддержания ссылочной целостности, допускающей удаление атрибута из справочника (т.е. порождающей каскад "в огромном количестве товаров")

или вы о чём-то другом ?


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

всё остальное -- на ваше усмотрение. творите, выдумывайте, пробуйте
я как-то не в восторге от перспективы частого редактирования записей с широкими тостами под размещение 1000-чь тегов/атрибутов. но если количество индивидуальных атрибутов много меньше, а (частая) редактируемость скорее теоретическая, чем реальная потребность -- то можно пробовать array-и, hstore и прочие json-ы
...
Рейтинг: 0 / 0
Вопрос про jsonb
    #39467219
nov17
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
qwwq,

Ясно, спасибо
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Вопрос про jsonb
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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