powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Спорим как лучше. Теги и посты.
10 сообщений из 10, страница 1 из 1
Спорим как лучше. Теги и посты.
    #36056319
lamsi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ситуация такая. Есть таблица постов, в которой: id и куча другой всякой фигни. Есть таблица тегов, которая хранит: id, post_id, tag

Предполагалось, что пользователь указывает в посте теги (не больше 5). Получалось, что таблица тегов будет примерно такая:
1 - 101010 - яблоки
2 - 101010 - апельсины
3 - 101010 - мандарины
4 - 222010 - апельсины
5 - 222010 - груши
6 - 222010 - вишня

Нужно найти все посты с тегом "апельсины". Легко. Ищем их по таблице tag и находим id всех постов. Нужно нам отобразить все теги для поста "бла бла бла". нахоим его id, по id в таблице tag нашли его теги.

Всё вроде гут. Но вот появилось мнение, что нужно сделать совсем по другому...

Таблица post:
id name
1 Отдых
2 Баня

Таблица tag:
id tag
1 С*ськи
2 Вино
3 Ночь
4 Пар
5 Пиво

Таблица PostTag
id_post id_tag
1 1
1 2
1 3
2 4
2 1
2 5


Да, получается во втором случае связь многие ко многим.


В обоих случаях происходит дублирование. Только в первом случае это дублирование тегов, а во втором случае это дублирование id, причём добавляется 3я таблица.

Вопросы на обсуждение. Какой из вариантов правильный?
...
Рейтинг: 0 / 0
Спорим как лучше. Теги и посты.
    #36056716
Naf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2-й лучше:
нет там никакого дублирования, просто связь многие-ко-многим
в 1-м случае дублирование есть, может быть так:
2 - 101010 - апЕльсины
3 - 101020 - апЯльсины
С уважением, Naf
...
Рейтинг: 0 / 0
Спорим как лучше. Теги и посты.
    #36056790
test_user
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
во втором также может быть. юзер тоже может написать и апИльсины и апельсины.
...
Рейтинг: 0 / 0
Спорим как лучше. Теги и посты.
    #36057175
lamsi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
test_userво втором также может быть. юзер тоже может написать и апИльсины и апельсины.
тьфу! в первом.
...
Рейтинг: 0 / 0
Спорим как лучше. Теги и посты.
    #36057182
lamsi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Naf2-й лучше:
нет там никакого дублирования, просто связь многие-ко-многим
в 1-м случае дублирование есть, может быть так:
2 - 101010 - апЕльсины
3 - 101020 - апЯльсины
С уважением, Naf
а какой смысл в связи многие-ко-многим при таких маленьких таблицах?
...
Рейтинг: 0 / 0
Спорим как лучше. Теги и посты.
    #36057206
Naf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
lamsiNaf2-й лучше:
нет там никакого дублирования, просто связь многие-ко-многим
в 1-м случае дублирование есть, может быть так:
2 - 101010 - апЕльсины
3 - 101020 - апЯльсины
С уважением, Naf
а какой смысл в связи многие-ко-многим при таких маленьких таблицах?
в согласованности. Меняем "апельсины" на "orange" в одном месте, в 1-м варианте менять нужно все записи. И дело не в размере
...
Рейтинг: 0 / 0
Спорим как лучше. Теги и посты.
    #36057337
lamsi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
NaflamsiNaf2-й лучше:
нет там никакого дублирования, просто связь многие-ко-многим
в 1-м случае дублирование есть, может быть так:
2 - 101010 - апЕльсины
3 - 101020 - апЯльсины
С уважением, Naf
а какой смысл в связи многие-ко-многим при таких маленьких таблицах?
в согласованности. Меняем "апельсины" на "orange" в одном месте, в 1-м варианте менять нужно все записи. И дело не в размере
А зачем там их менять? Для этих таблиц будет только INSERT и SELECT и никаких UPDATE'ов.
...
Рейтинг: 0 / 0
Спорим как лучше. Теги и посты.
    #36057344
lamsi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
про то, что многие-ко-многим - это логично вполне. Тут вопрос в том, насколько это необходимо для данной задачи.
...
Рейтинг: 0 / 0
Спорим как лучше. Теги и посты.
    #36057402
Naf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
разговор автора сам с собой, откуда я знаю, что там будет?!
С уважением, Naf
...
Рейтинг: 0 / 0
Спорим как лучше. Теги и посты.
    #36057488
lamsi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Nafразговор автора сам с собой, откуда я знаю, что там будет?!
С уважением, Naf
ну вот я написал что будет. =)
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Спорим как лучше. Теги и посты.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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