[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Организовать теги к картинкам
Страницы: 1, 2
philya
Как лучше это сделать: хранить id тэгов в одной таблице с картинкой, либо создать отдельную таблицу id | id_foto | id_tag. Или есть вариант лучше?
Hello
Второй вариант

_____________
VPS от 5$, первые 2 месяца - бесплатно.
philya
почему
Zzepish
Гибче можно манипулировать
SlavaFr


Цитата (philya @ 16.11.2012 - 22:13)
почему


Не исклюичено, что одна картинка относится к нескольким tags.


_____________
↓↓↓↓↓↓↓↓↓↓
ответ может быть здесь
или в mysql_error();
Michael
Цитата (philya @ 17.11.2012 - 00:13)
почему

И как ты бы стал:
Цитата
хранить id тэгов в одной таблице с картинкой

?
На каждый тег - новая строка? Тогда аномалия дублирования информации о картинке.
Если теги полями, то это вообще не дело.

_____________
There never was a struggle in the soul of a good man that was not hard
philya
Цитата
И как ты бы стал:


Использовал бы строку, в которой хранились id всех тэгов для изображения, вроде этого: 1 4 18 9.
Далее собрал бы все эти id для текущей страницы, запросом вытащил бы из базы соответствующие названия тэгов и расставил их к фото.
Michael
Ты бы этим нарушил Первый закон нормализации. Учи основы.

_____________
There never was a struggle in the soul of a good man that was not hard
philya
Учил я основы. Просто подумал, что используя отдельную таблицу для сопоставления изображения и тэгов, ее размер будет в 2 раза(если на каждое изображение будет в среднем 2 тэга) больше, чем таблица, содержащая информацию о самих картинках, и запрос, выводящий все фото и их тэги из базы, будет медленнее работать, чем предложенный мной вариант, но я не уверен, поэтому и спросил здесь.
Michael
Цитата (philya)
Учил я основы.

плохо учил

_____________
There never was a struggle in the soul of a good man that was not hard
SlavaFr
Цитата (philya @ 17.11.2012 - 10:02)
запрос, выводящий все фото и их тэги из базы, будет медленнее работать, чем предложенный мной вариант,


@philya
1) потестирой с запросами типа покажи именна всех тегов к определенной картинке. Тоесть тебе прийдется делать делать jojn по полю которое состаит из "1 34 хх yy"

2) попробуй изменить таг_ид у 1000 картинок с X на Y посредством sql

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




_____________
↓↓↓↓↓↓↓↓↓↓
ответ может быть здесь
или в mysql_error();
philya
1. SELECT `name` FROM tags WHERE id IN (SELECT tags FROM foto WHERE id = ID)
2. UPDATE `foto` SET `tags`= REPLACE(foto.tags, '2,', '3,');
rooor
тебе сказали как надо правильно делать, чего упираешься?
Не хочешь так, делай по-своему, к чему тогда топик создавался?

Цитата
2. UPDATE `foto` SET `tags`= REPLACE(foto.tags, '2,', '3,');

а если кроме 2 или 3 там будут 22, 23 и т.п.?
philya
Хорошо, я неправильно написал, правильно будет так: 2. UPDATE `foto` SET `tags`= REPLACE(foto.tags, ' 2,', ' 3,');
Я не упираюсь, мне просто интересно
rooor
Цитата
правильно будет так:

не вижу разницы)

если в поле tags будет строка 2, 5, 8, 10, то по указанному запросу поле будет выглядеть так:
3, 5, 8, 10
а если в поле tags будет строка 2, 5, 20, 22, 24, то там уже будет
3, 5, 30, 33, 34
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.