Какую таблицу использовать для системы тегов? - PullRequest
2 голосов
/ 10 декабря 2010

Я хочу внедрить систему тегов на сайт, над которым я работаю.У меня есть теоретический вопрос по этому поводу.Как мне хранить эти теги в моей базе данных?

Если, например, я использую таблицу с двумя столбцами, тегами и postId, я могу иметь определенный тег невероятное количество раз, если он будет популярен!Поэтому я не уверен, что это лучший способ.

Если я хочу добавить теги к сообщениям, и у меня есть 3 сообщения с тегом "круто", у меня будет что-то вроде этого:

tag-----id
cool----23
cool----12
cool----39

Есть ли лучшие способы добиться этого?

1 Ответ

6 голосов
/ 10 декабря 2010

Вы хотите таблицу сообщений, таблицу тегов и таблицу соединений:

CREATE TABLE posts (id, title, body)
CREATE TABLE tags (id, tag)
CREATE TABLE posts_tags (tag_id, post_id)

Это нормально.Убедитесь, что вы добавили индексы в столбцы tag, tag_id и post_id.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...