|
|
|
Спорим как лучше. Теги и посты.
|
|||
|---|---|---|---|
|
#18+
Ситуация такая. Есть таблица постов, в которой: 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я таблица. Вопросы на обсуждение. Какой из вариантов правильный? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.06.2009, 18:39 |
|
||
|
Спорим как лучше. Теги и посты.
|
|||
|---|---|---|---|
|
#18+
2-й лучше: нет там никакого дублирования, просто связь многие-ко-многим в 1-м случае дублирование есть, может быть так: 2 - 101010 - апЕльсины 3 - 101020 - апЯльсины С уважением, Naf ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2009, 08:51 |
|
||
|
Спорим как лучше. Теги и посты.
|
|||
|---|---|---|---|
|
#18+
во втором также может быть. юзер тоже может написать и апИльсины и апельсины. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2009, 09:51 |
|
||
|
Спорим как лучше. Теги и посты.
|
|||
|---|---|---|---|
|
#18+
test_userво втором также может быть. юзер тоже может написать и апИльсины и апельсины. тьфу! в первом. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2009, 12:17 |
|
||
|
Спорим как лучше. Теги и посты.
|
|||
|---|---|---|---|
|
#18+
Naf2-й лучше: нет там никакого дублирования, просто связь многие-ко-многим в 1-м случае дублирование есть, может быть так: 2 - 101010 - апЕльсины 3 - 101020 - апЯльсины С уважением, Naf а какой смысл в связи многие-ко-многим при таких маленьких таблицах? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2009, 12:18 |
|
||
|
Спорим как лучше. Теги и посты.
|
|||
|---|---|---|---|
|
#18+
lamsiNaf2-й лучше: нет там никакого дублирования, просто связь многие-ко-многим в 1-м случае дублирование есть, может быть так: 2 - 101010 - апЕльсины 3 - 101020 - апЯльсины С уважением, Naf а какой смысл в связи многие-ко-многим при таких маленьких таблицах? в согласованности. Меняем "апельсины" на "orange" в одном месте, в 1-м варианте менять нужно все записи. И дело не в размере ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2009, 12:26 |
|
||
|
Спорим как лучше. Теги и посты.
|
|||
|---|---|---|---|
|
#18+
NaflamsiNaf2-й лучше: нет там никакого дублирования, просто связь многие-ко-многим в 1-м случае дублирование есть, может быть так: 2 - 101010 - апЕльсины 3 - 101020 - апЯльсины С уважением, Naf а какой смысл в связи многие-ко-многим при таких маленьких таблицах? в согласованности. Меняем "апельсины" на "orange" в одном месте, в 1-м варианте менять нужно все записи. И дело не в размере А зачем там их менять? Для этих таблиц будет только INSERT и SELECT и никаких UPDATE'ов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2009, 13:03 |
|
||
|
Спорим как лучше. Теги и посты.
|
|||
|---|---|---|---|
|
#18+
про то, что многие-ко-многим - это логично вполне. Тут вопрос в том, насколько это необходимо для данной задачи. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2009, 13:05 |
|
||
|
Спорим как лучше. Теги и посты.
|
|||
|---|---|---|---|
|
#18+
разговор автора сам с собой, откуда я знаю, что там будет?! С уважением, Naf ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2009, 13:27 |
|
||
|
|

start [/forum/topic.php?fid=32&msg=36057182&tid=1543180]: |
0ms |
get settings: |
7ms |
get forum list: |
13ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
167ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
31ms |
get tp. blocked users: |
1ms |
| others: | 201ms |
| total: | 433ms |

| 0 / 0 |
