В настоящее время я пишу блог, чтобы получить опыт работы с php (я создал MVC-Framework), поэтому я все еще новичок в этом.
У меня есть две таблицы, важные для этого вопроса:
user(id, username, password, registrated)
comments(id, content, post_id, comment_author, date, editedAt, editedBy)
В comments
-таблице comment_author
еще не связано с идентификатором пользователя, потому что я не был уверен, какна самом деле это сделать.
Пользователь может написать столько комментариев, сколько ему угодно, но у комментария может быть только один автор.
comment_author
имеет username
в нем на данный момент,но я знаю, что мне нужен id
(если пользователь будет удален, и кто-то еще зарегистрируется с этим именем пользователя, комментарий будет его).
Как мне теперь структурировать таблицы?
1.) comments_author_id
в comments
-таблице, id
в user
в качестве внешнего ключа:
В этом случае у меня будет id
комментарияавтор в comments
-таблице, но user
не будет знать о комментариях, которые он написал.Если я хочу показать последние комментарии пользователя в своем профиле, могу ли я получить их с помощью запроса inner-join
, тогда?
2.) Создайте новую таблицу user_comments(id, user_id, comment_id)
В этом случае user
и comments
не будут знать об их авторе / комментариях.
Также у меня есть 'editedBy', в котором указано имя пользователя последнего редактирующего пользователя.Могу ли я как-то связать его с именем пользователя в users
-таблице или я должен также связать его с id
?
Я действительно потерян с этим вопросом, так как я мало что знаю о базах данных;Поэтому я ценю любую помощь и совет, которые я могу получить.
Пожалуйста, также дайте мне знать, если мне нужно предоставить какую-либо дополнительную информацию или изменить что-то для лучшего понимания.