<MyRusakov.ru />

Вёрстка сайта с нуля 2.0

Вёрстка сайта с нуля 2.0

Система "Вёрстка сайта с нуля 2.0" содержит в себе не только сами видеоуроки по адаптивной вёрстке сайтов с примерами, но и вспомогательную систему для более эффективного обучения.

Сам курс обучит Вас абсолютно с нуля HTML5 и CSS3, а также научит верстать сайты с помощью реальных примеров вёрстки. Обучение идёт от простого к сложному. В последнем разделе курса идёт обучение адаптивной вёрстке сайтов: Вы узнаете всю необходимую теорию, а также увидите пример реальной адаптивной вёрстки сайта.

Как итог, курс совмещает в себе всё, что нужно по HTML, CSS и адаптивной вёрстке сайтов, с наглядными примерами, с обучением от простого к сложному и без необходимости иметь начальных знаний, а благодаря вспомогательной системе психологически курс проходится очень легко, а на выходе Вы сможете сделать адаптивную вёрстку любого сайта любой сложности.

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

Подписавшись по 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
...
и т.д.

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

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