powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Связь таблиц-сущностей с тегами: общая таблица связей или отдельные таблицы связей ?
7 сообщений из 57, страница 3 из 3
Связь таблиц-сущностей с тегами: общая таблица связей или отдельные таблицы связей ?
    #40012925
Cyrax_02
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
stenfordЕсли утверждается, что сущности симантически не связаны друг с другом, то должно быть по отдельной таблице для связки с тэгами один ко многим для каждой из сущностей, мешать список тэгов для несвязанных между собой сущностей в одной таблице нельзя
Если утверждается что сущности все-же симантически связаны и список тэгов это их общая характеристика, то рассматривается один из 3х вариантов с наследованием. Соответственно в случае ТРС у тебя будет по таблице с тэгами на каждую таблицу с сущностями, а в случае ТРН одна таблица с тэгами на общую таблицу со всеми сущностями
+100 . Вы, собственно, и озвучили мои мысли/выводы. А реализовал я первый вариант. Для случая отдельных таблиц-сущностей это самый чистый, самый легковесный (минимум дисковой памяти), самый быстрый (скорость выборки) и самый правильный (с точки зрения классической реляционной модели). Ну а дальше на рабочих нагрузках при необходимости можно выполнять поэтапную денормализацию для ускорения виборки/фильтрации.

P.S . Dimitry Sibiryakov почему-то принципиально отказывается рассматривать вариант отдельных таблиц-сущностей (даже на личности перейти успел). Ведь очевидно, что наличие тегов в предметной области вовсе не является определяющим фактором способа реализации иерархии ( TPH или TPC ). И тем более необходимости перехода на модель EAV .
...
Рейтинг: 0 / 0
Связь таблиц-сущностей с тегами: общая таблица связей или отдельные таблицы связей ?
    #40012963
17-77
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
сам лично такую штуку не делал, но покопал бы еще следующий вариант: текстовое поле + where like + оптимизации для like запросов, например pg_trgm у постгреса:
https://niallburkley.com/blog/index-columns-for-like-in-postgres
https://www.cybertec-postgresql.com/en/postgresql-more-performance-for-like-and-ilike-statements

плюсы:
* проще структура БД
* меньше кода, чтобы это дело сохранять и обновлять
* на UI достаточно tag editor, который через запятую складывает значения

минусы:
* думаю трудно будет сделать запрос - кол-во сущностей по тегам
* вставка дольше из-за индекса
...
Рейтинг: 0 / 0
Связь таблиц-сущностей с тегами: общая таблица связей или отдельные таблицы связей ?
    #40012991
Cyrax_02
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
17-77сам лично такую штуку не делал, но покопал бы еще следующий вариант: текстовое поле + where like + оптимизации для like запросов, например pg_trgm у постгреса...
на UI достаточно tag editor, который через запятую складывает значенияЕсли рассматривать вариант хранения тегов сущности в одном поле (в таблице сущностей), то здесь возможны 2 варианта:
1 ) ваш вариант с тегами через запятую (LIKE + индекс по триграммам)
2 ) вариант с массивом json (этот вариант также упоминал graycode )

В варианте с json , судя по всему, индекс по jsonb будет кушать меньше дисковой памяти. Да и поиск, наверняка, будет работать быстрее, чем по триграммам.
...
Рейтинг: 0 / 0
Связь таблиц-сущностей с тегами: общая таблица связей или отдельные таблицы связей ?
    #40013019
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Cyrax_02Ведь очевидно, что наличие тегов в предметной области вовсе не является определяющим
фактором способа реализации иерархии (/TPH/ или /TPC/). И тем более необходимости перехода
на модель /EAV/.

Повторюсь в третий раз: если для вас всё очевидно, то начните уже реализацию.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Связь таблиц-сущностей с тегами: общая таблица связей или отдельные таблицы связей ?
    #40013263
Фотография vmag
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov
Повторюсь в третий раз: если для вас всё очевидно, то начните уже реализацию.


вот прям вчера еще хотел сказать, - да сделай уже как думаешь, а то скоро самому уже надоест всё...
...
Рейтинг: 0 / 0
Связь таблиц-сущностей с тегами: общая таблица связей или отдельные таблицы связей ?
    #40013269
graycode
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Cyrax_02
А реализовал я первый вариант. Для случая отдельных таблиц-сущностей это самый чистый, самый легковесный (минимум дисковой памяти), самый быстрый (скорость выборки) и самый правильный (с точки зрения классической реляционной модели).

Ну да, ну да, главное себя в этом убедить))

Разницы между вашим первым и вторым вариантом практически нет, партицируете таблицу связей по entity_type и вуаля)
...
Рейтинг: 0 / 0
Связь таблиц-сущностей с тегами: общая таблица связей или отдельные таблицы связей ?
    #40013304
Cyrax_02
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vmag , Dimitry Sibiryakov , хорош кричать, сделал я уже давно...
...
Рейтинг: 0 / 0
7 сообщений из 57, страница 3 из 3
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Связь таблиц-сущностей с тегами: общая таблица связей или отдельные таблицы связей ?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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