Какова структура базы данных идентификатора темы?

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

Кроме того, я записываю идентификатор темы или имя темы, и если это идентификатор, как мне их переключать?

Большое спасибо, я работаю в PHP

2 ответа

вам нужно создать таблицу разделов с уникальным идентификатором, это должно быть так

Topic_id | topic_name
1 | PHP
2 | Ajax


Post_table
id | topic_id | Post_Title | Post_Detail
1 | 2 | title | post detail text
2 | 1 | title | post detail text

и когда вы показываете сообщения на страницах, поэтому вам нужно сделать это в mysql_query

Почему мы используем отдельную таблицу для тем, потому что если 3 сообщения связаны с темой php и 5 сообщениями, связанными с темой ajax, чтобы мы могли вычислить наш фактический расчет данных. и лучше всего это делать с отдельными таблицами.


Если вы с темой называете категории на форуме, у вас обязательно должна быть отдельная таблица для тем. Есть множество причин, почему, но вот несколько:

  1. Для нормализации db
  2. Гораздо проще поддерживать, если вы хотите, например, изменить название темы.
  3. Избегает ненужных данных, так как вы не сохраняете имя темы для каждого вопроса.

Вы сохраняете идентификатор темы вместе с каждым опубликованным почтовым сообщением, чтобы вы знали, к какой теме относится конкретный пост.

licensed under cc by-sa 3.0 with attribution.