Для веб-сайта, как правильно хранить комментарии в базе данных? - PullRequest
0 голосов
/ 12 июня 2011

Интересно, как правильно хранить комментарии к статье / изображению / что-либо в базе данных?

Должна ли это быть одна таблица со всеми комментариями, например

comment_id INTEGER PRIMARY KEY,
is_on      INTEGER REFERENCES content(content_id),
is_by      INTEGER REFERENCES users(user_id),
comment    TEXT

или я должен создать отдельную таблицу для каждой записи и хранить там комментарии?

Если это имеет какое-либо значение, я использую sqlite.

Ответы [ 3 ]

2 голосов
/ 12 июня 2011

У вас есть 1 статья для многих комментариев.Комментарий может быть связан только с одной статьей.Так что в этом случае должно хватить 2 таблицы.Ваш дизайн выглядит достаточно.is_on может относиться к таблице статьи в отношении «многие к 1», а is_by будет относиться к таблице пользователей в отношении «1-1».

Если ваш дизайн требует, чтобы комментарий был связан с несколькими статьями, тогда имеет смысл иметь структуру из трех таблиц с таблицей перекрестных ссылок ArticleComment (с CommentID и ArticleID).

1 голос
/ 12 июня 2011

Вы имеете это право в своем примере - или, по крайней мере, правильная идея ...

Что тебе, наверное, нужно 3 отношения:

статья Комментарии article_comment

Тогда вы сохраните article_id и comment_id в комментариях к статье.

1 голос
/ 12 июня 2011

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

Так что ваш подход в порядке.

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