<MyRusakov.ru />

Создание движка на PHP и MySQL 2.0

Создание движка на PHP и MySQL 2.0

Видеокурс "Создание движка на PHP и MySQL 2.0" научит Вас создавать профессиональные движки для сайтов на PHP и MySQL с использованием ООП и паттерна MVC.

В курсе разобрана вся теория по структуре движка: как всё устроено, какие должны быть объекты, какая у них иерархия и как они взаимодействуют между собой.

В практической части будет создан движок с чистого листа. Будет создано ядро, все адаптеры, все вспомогательные классы, а также классы для работы с объектами базы данных. И чтобы курс был максимально полезным, будет создан движок для сайта MyRusakov.ru.

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

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

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

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

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

Каким движком Вы предпочитаете пользоваться?

Как правильно создавать структуру базы данных

Как правильно создавать структуру базы данных

У меня уже несколько раз спрашивали, как создаётся структура базы данных. Как понять: какие таблицы нужны и какие поля в них потребуются? Я постараюсь в этой статье если и не дать точный ответ на этот вопрос, то хотя бы направить мышление в нужное русло.

У любого сайта, где требуется база данных, имеется набор неких объектов, сущностей. Например, если это форум, то, очевидно, потребуются такие объекты: пользователи, темы, сообщения. Для социальной сети, например, потребуются такие объекты: пользователи, сообщения, друзья, записи на стене и так далее.

То есть Ваша самая первая задача - это выделить объекты, которые будут использоваться на сайте.

Вторая задача - это у каждого объекта выделить свойства. Например, свойства у таблицы с сообщениями. Очевидно, что это уникальный идентификатор, заголовок сообщения, сам текст, дата добавления, информации о пользователей, который добавил это сообщение, и прочее. Вот для каждого свойства и нужно создавать отдельное поле в таблице. Ничего лишнего быть не должно, только то, что потом потребуется при выводе этой информации.

Третья задача - это убрать дублирование. Например, в той же таблице с сообщениями информация о пользователе может быть разной. Но нужно избегать, например, e-mail пользователя или его логин. Гораздо лучше будет поставить id_пользователя. А этот id связывает таблицу с сообщениями с таблицей с пользователями, где по этому id можно однозначно определить пользователя и все его данные.

Четвёртая задача - это продумать ключи и индексы. Очевидно, что id должен быть PRIMARY KEY. Но есть ещё и уникальные поля, для которых нужно поставить UNIQUE. Например, это могут быть логин пользователя и его e-mail. Также если по каким-то данным будет часто вестись выборка, то имеет смысл сделать для них индекс, тогда такая выборка будет проходить быстрее.

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

Итак, подведу итог по тому, как правильно создавать структуру базы данных:

  1. Выделить объекты (сущности) на сайте.
  2. Продумать свойства для каждого из объектов.
  3. Минимизировать дублирование.
  4. Добавить ключи и индексы.
  5. Создать все таблицы, например, в phpMyAdmin.

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

Копирование материалов разрешается только с указанием автора (Михаил Русаков) и индексируемой прямой ссылкой на сайт (http://myrusakov.ru)!

Добавляйтесь ко мне в друзья ВКонтакте: http://vk.com/myrusakov.
Если Вы хотите дать оценку мне и моей работе, то напишите её в моей группе: http://vk.com/rusakovmy.

Если Вы не хотите пропустить новые материалы на сайте,
то Вы можете подписаться на обновления: Подписаться на обновления

Если у Вас остались какие-либо вопросы, либо у Вас есть желание высказаться по поводу этой статьи, то Вы можете оставить свой комментарий внизу страницы.

Порекомендуйте эту статью друзьям:

Если Вам понравился сайт, то разместите ссылку на него (у себя на сайте, на форуме, в контакте):

  1. Кнопка:

    Она выглядит вот так: Как создать свой сайт

  2. Текстовая ссылка:

    Она выглядит вот так: Как создать свой сайт

  3. BB-код ссылки для форумов (например, можете поставить её в подписи):

Комментарии (4):

ghhgghhggh ghhgghhggh 27.02.2013 13:54:48

Очень полезная статья спасибо Михаил.

Ответить

kalyan kalyan 10.03.2013 17:27:12

Дааа ну на моем уровне пока этого не понять...Но все равно интересно хоть и сложно.

Ответить

rysich rysich 08.06.2013 08:07:53

Чего не понять-то? Рисуете таблицы сначала на бумажке, каждый тип объекта должен иметь свою таблицу. Пример: таблица для постов, таблица для комментов, таблица для пользователей, таблица для товаров в магазине и т.д. Потом поля, через которые ваши таблицы связаны, соединяете стрелочками, ну примерно так, как на картинке к статье. Дальше уже после такого рисунка забить базу в phpmyadmin или сделать командами через консоль - дело техники.

Ответить

sanya_lampard sanya_lampard 04.08.2013 21:20:19

Спасибо, очень полезная статья!

Ответить

Для добавления комментариев надо войти в систему.
Если Вы ещё не зарегистрированы на сайте, то сначала зарегистрируйтесь.