LINUX.ORG.RU

[мой первый индускод][php+mysql] как лучше хранить ключевые слова?


0

0

скоро буду делать примитивную админку (загрузка фоток и написание ключевиков к ним) для своего сайта.

пока думаю над структурой этого поделия.
задумался как лучше хранить ключевики:
все подряд (через ", ") в одной строке или по одному на строку

нафига это нужно? чтоб потом можно было сортировать фотки по ключевому сллову.

глупость и простоту вопроса осознаю, а выбрать решение не могу = )


создать отдельную таблицу для тегов и связывать их m2m связью с сущностями.

При добавлении строки вида «история успеха, лор, говно» распарсить и разобрать на «история успеха», «лор», «говно». Поискать в таблице, при необходимости добавить. и связать m2m

anonymous
()

самый лучший способ - хранить все данные в одной таблице. вобще все - в одной. потом из пхп делаешь select * from tablename и уже в пхп все обсчитываешь.

heisenberg ★★
()
Ответ на: комментарий от heisenberg

>самый лучший способ - хранить все данные в одной таблице. вобще все - в одной. потом из пхп делаешь select * from tablename и уже в пхп все обсчитываешь

ужас!

Вот просой вариант:

1) Создаешь таблицу ключевых слов t_keywords с полями kw_id, kw_name
2) Создаешь таблицу связей t_kw_relations с полями kw_id (ключевое слово), photo_id (фото)

aydar ★★★★★
()
Ответ на: комментарий от heisenberg

>самый лучший способ - хранить все данные в одной таблице. вобще все - в одной. потом из пхп делаешь select * from tablename и уже в пхп все обсчитываешь.

спасибо, давно не смеялся.

Turbid ★★★★★
()

Был бы постгрес, можно было бы сделать поле типа varchar[]. Работать с такими массивами удобно, длина динамическая, скорость приличная, есть индексы.

anonymous
()
Ответ на: комментарий от aydar

пасиба. примерно такое и друзья уже посоветовали.

в kw_id из t_kw_relations писать всеж не само слово а его ид?

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

посоветуете какой-либо фреймворк?
мне в прошлом треде советовали симфонию... думаю не перебор ли для начала?

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

dk-
() автор топика
Ответ на: комментарий от dk-

>создаст ли постойнный селект по немаленькой таблице излишнюю нагрузку на проц?

Создаст:) У тебя там, при желании, один селект с LEFT JOIN на вывод всех объектов. Затратнее, чем просто селект по одной таблице, но ненамного.

А вообще кэшируй, особенно если объекты меняются не раз в секунду. Хоть в файлы. Как вариант - делать fastcgi и кэшировать в память при постоянно висящем процессе, впрочем, я не знаю, как в пхп с fastcgi сейчас. Говорят стало лучше.

мне в прошлом треде советовали симфонию... думаю не перебор ли для начала?

Мне она показалась переусложнённой. Есть всякие codeigniter, которые полегче. Впрочем, это вопрос вкуса.

мне что-то простое, чтоб была подсветка, автодополнение когда

Фреймворк не имеет отношение к IDE, про которую ты написал. Бери любой известный IDE. А вообще я бы взял емакс (я и пользуюсь, собственно), но он требует некоторой привычки.

anonymous
()
Ответ на: комментарий от Apkawa

>varchar находится в стандарте sql

И? В mysql появились массивы?

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.