<MyRusakov.ru />

WordPress 6 с Нуля до Гуру

WordPress 6 с Нуля до Гуру

Этот курс научит Вас созданию самых разных сайтов на самой популярной в мире CMS - WordPress. Вы увидите установку и настройку локального сервера, разбор каждой настройки, каждой кнопки и каждого пункта меню в панели WordPress.

Также Вы получите и всю практику, поскольку прямо в курсе с нуля создаётся полноценный Интернет-магазин, который затем публикуется в Интернете. И всё это прямо на Ваших глазах.

Помимо уроков к курсу идут упражнения для закрепления материала.

И, наконец, к курсу идёт ценнейший Бонус по тому, как используя ChatGPT и создавая контент для сайта, можно выйти на пассивный доход. Вы наглядно увидите, как зарегистрироваться в ChatGPT (в том числе, и если Вы из России), как правильно выбрать тему для сайта, как правильно генерировать статьи для него(чтобы они индексировались поисковыми системами) и как правильно монетизировать трафик на сайте.

Подробнее
Подписка

Подпишитесь на мой канал на YouTube, где я регулярно публикую новые видео.

YouTube Подписаться

Подписавшись по E-mail, Вы будете получать уведомления о новых статьях.

Подписка Подписаться

Добавляйтесь ко мне в друзья ВКонтакте! Отзывы о сайте и обо мне оставляйте в моей группе.

Мой аккаунт Мой аккаунт Моя группа
Опрос

Какая тема Вас интересует больше?

Форум сайта MyRusakov.ru

Структура БД для форума
30.10.2012 12:24:30 Структура БД для форума Сообщение #1
Casual

Casual

Освоившийся

Освоившийся

Дата регистрации:
13.10.2012 17:58:28

Сообщений: 20

Допустим мы разрабатываем некоторый форум. Форум разбит на разделы (например HTML, Javascript, PHP на данном сайте), разделы состоят из тем, которые уже содержат сами сообщения. Одним словом стандартная структура.

Как наиболее эффективно спроектировать базу под это дело? Какие таблицы создать? Что где хранить?

Я подумал и пришел к следующему результату. Хотелось бы услышать критику и советы по оптимизации.

Таблица users - информация о пользователях.
Поля:
id - уникальный ид
login - отображаемое имя
и другие.

Таблица sections - содержит информацию о разделах.
Поля:
id,
section_name - название раздела
и другие, если нужны.

Таблица threads - информация о темах.
Поля:
id,
thread_name - название темы
parent_id - id раздела из таблицы sections.
возможно еще какие-то поля.

Таблица messages - сами сообщения.
Поля:
id
parent_id - id темы из таблицы threads
user_id - id пользователя из таблицы users
message - сам текст сообщения.

Получается четыре таблицы: users, sections, threads и messages.

Пользователь заходит на главную страницу форума - ему надо показать список разделов. Легко! Просто отображаем содержимое таблицы sections.

Пользователь заходит в конкретный раздел - нужно показать список содержащихся в этом разделе тем.
Выбираем записи из таблицы threads у которых parent_id соответствует id нашего раздела. Всего один запрос к БД.

Пользователь заходит в конкретную тему - выбираем записи из таблицы messages с parent_id равным id данной темы и потом лезем в таблицу users за никами авторов сообщений. Таким образом два запроса получается в данном случае.

Создание новой темы - просто добавляем запись в threads и в messages. Можно легко переносить темы из раздела в раздел. Легко получить все сообщения конкретного пользователя. Также легко добавить еще уровень иерархии, который объединит в себе разделы, если понадобиться.

На практике еще возникнет ситуация, когда кол-во тем в разделе и сообщений в одной теме больше, чем мы хотим отображать на одной странице. Поэтому, вероятно, не лишним будет добавить в таблицы sections и threads счетчики кол-во тем\сообщений и обновлять их каждый раз когда добавляется\удаляется\переносится тема или сообщение. Это позволит избежать запроса COUNT.

Вообщем, можно ли здесь что-нибудь улучшить?
Профиль
07.11.2012 03:39:57 Структура БД для форума Сообщение #2
malina95

malina95

Мастер

Мастер

Дата регистрации:
15.07.2012 07:13:44

Сообщений: 208

Для меня так всё нормально в структуре, но есть один нюанс, имя пользователя по которому вы его встречаете должно быть отдельно от логина.

например

users

id
name
login
password
...
и т.д.

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

Это было моё мнение
Профиль