Помогите с настройкой логики моей таблицы базы данных - PullRequest
1 голос
/ 15 марта 2011

Я работаю над своим первым интегрированным веб-сайтом (использующим codeigniter) и не могу придумать лучший способ настройки таблиц моей базы данных. Этот веб-сайт, по сути, функционирует как урезанный reddit и hackernews. Пользователи будут регистрироваться, создавать тему, которая имеет 2 возможных категории и вложенные комментарии. До сих пор я придумал эту настройку:

Пользователи

идентификатор название пароль Дата создания shortbio

Сообщения

Идентификатор заглавие содержание категория CreationDate

комментарии

идентификатор родительский идентификатор содержание CreationDate

Теперь я не знаю, как идти отсюда. Был бы лучший способ установить это? У меня больше всего проблем с визуализацией, как имена пользователей связываются с постами, которые они делают, и где комментарии вступают в игру. Любая помощь или направление приветствуется !!

Ответы [ 2 ]

1 голос
/ 15 марта 2011

Первый шаг, который вам нужно сделать, это выяснить отношения.ERD (диаграмма отношений сущностей) очень помогает в этом.Вы также можете использовать такой инструмент, как MySQL Workbench, чтобы нарисовать, как таблицы связаны друг с другом.Это очень просто, это просто показывает вам отношения между вашими сущностями.Я перечислю наиболее очевидные из них, чтобы вы знали, с чего начать.

  1. Комментарии принадлежат посту. Это означает, что таблице комментариев необходим столбец post_id для хранения идентификатора поста.это владелец этого комментария.

  2. Сообщения принадлежат пользователю. Как и ранее, в таблице сообщений необходим столбец user_id для обозначения владельца.

  3. Сообщение относится к категории: Вы правильно добавили столбец категории для обозначения владельца.

После того, как вы наметили отношения, вы можете использовать codeigniter для записи ваших моделей, соответствующих этим основным объектам.

0 голосов
/ 15 марта 2011

Будет полезно добавить:

  • поля статуса (tinyint) для таблиц, чтобы можно было отключить / включить пост, пользователей, комментарии.
  • писем для пользователей
  • shortbio - хорошая идея, лучше хранить био-кусочки отдельно (дата рождения, фамилия и т. Д.), Поэтому они будут более гибкими
  • для комментариев добавить поля post_id, user_id - идентификатор родительского сообщения
  • извлекать кошек в отдельную таблицу и связывать их по cat_id (может быть, у вас будет более 2 кошек)

Пользователи

идентификатор адрес электронной почты дата создания пароля dob

Сообщения

id title status cat_id категория контента дата создания

комментарии

id post_id user_id parent_id status дата создания контента

Категория

cat_id title status

Дополнительные опции для добавления и улучшения станут очевидны при дальнейшей разработке)

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