Создание базы данных в MySQL

Первые шаги перед созданием базы данных MySQL

От автора: если пришла пора создавать качественный динамический сайт, значит нужно создание базы данных MySQL. До определенного момента, у вас получится хранить всю информацию в файловой системе, но, когда речь идет о массивном и функциональном веб-приложении, то БД – единственный выход из положения. Многие начинающие разработчики привыкли считать СУБД чем-то очень сложным, сродни системе, на которую нужно потратить много времени, чтобы научится хорошо ею управлять. Что ж, они правы. Но перед тем как перейти ко всем сложностям, связанным с MySQL, давайте научимся устанавливать необходимое программное обеспечение.

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

Если вы только начинаете путь веб-разработчика и создаете простые одностраничные сайты, не пренебрегайте СУБД. Если приучить себя к подключению MySQL к каждому вашему проекту, то, впоследствии, не возникнет трудностей с освоением этого софта. Тем более, если вы сделаете скрипт авторизации, пусть даже и примитивный. Ну, а когда речь идет о том, чтобы сформировать небольшое обсуждение на странице, или даже чат, то база данных сможет сделать из студенческой поделки настоящий интерактивный портал, где каждому участнику будет присвоен идентификатор: в файле базы сохранится информация о каждом участнике беседы, чтобы сделать его неповторимым для других пользователей.

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

JavaScript. Быстрый старт

Изучите основы JavaScript на практическом примере по созданию веб-приложения

К тому же, не стоит забывать о том, что база данных – это разгрузка сервера. Обернутая в СУБД информация не расходует ресурсы с тем энтузиазмом, который присущ обычным файлам. Несмотря на то, что такая big data немного «тяжелеет» в СУБД, она будет оперироваться внутри ее. Таким образом, сервер не получит высоких нагрузок. Не то чтобы мы защищали мощности серверов, но, таким образом, владелец заплатит гораздо меньшую сумму за хостинг.

Не стоит забывать о важности подключения MySQL для безопасности сайта. Несмотря на то, что SQL-инъекция – один из самых известных способов взлома, современные СУБД умеют противостоять такому внедрению.

Подключение к серверу и создание новой базы

Все операции будем показывать на двух примерах: консольный клиент и phpMyAdmin. Если у вас другой инструмент для подключения к серверу, почитайте его документацию или используйте SQL-команды, которые мы будем выполнять при работе через консольный клиент. Они универсальны и подойдут для любого инструмента.

Через консоль

Подключимся к удаленному серверу MySQL:

После ввода этой команды нужно ввести пароль от пользователя root, который вы указывали на этапе установки и первоначальной настройки СУБД.

Для начала посмотрим, какие уже есть созданные базы данных:

Это все служебные базы. Мы не будем их трогать, а создадим свою БД. Для этого выполним команду для создания новой базы данных MySQL:

Снова посмотрим список всех баз:

Видим, что наша БД появилась в списке:

Через phpMyAdmin

Чтобы указать сервер для подключения, нужно отредактировать файл config.inc.php. В зависимости от вашей ОС или дистрибутива Linux, этот файл может находиться в разных директориях, поэтому мы не будем указывать конкретный путь. Откройте файл и добавьте в него строчку:

Теперь откройте интерфейс phpMyAdmin и залогиньтесь на сервер. В левой части экрана находится список созданных баз данных. Мы видим уже созданную нами ранее базу my_db_cli.

Создадим еще одну базу. Для этого над списком БД нажмите кнопку «Создать БД».

Создание БД в phpMyAdmin

Укажем имя новой базы, а кодировку оставим по умолчанию. В нашем примере это:

Имя новой базы

База данных создана, и теперь она появилась в списке слева:

Наша БД в списке

2.2. Создание таблиц

Далее, мы создадим три таблицы, типичные для любого простого блога: таблицу post , содержащую посты, таблицу comment , содержащую комментарии к ним и таблицу tag , содержащую теги (тег является своего рода ключом, описывающим пост блога).

Кроме этого, мы создадим вспомогательную четвертую таблицу post_tag , которая будет использоваться для создания отношения «многие-ко-многим» между таблицами post и tag .

Сделаем базу данных blog текущей, набрав из командной строки MySQL следующее:

Чтобы создать таблицу post , наберите следующий оператор SQL:

Клиент MySQL позволяет легко вводить многострочные команды. Для перевода каретки на новую строку просто нажмите Enter. Команда считается введенной при встрече с символом «точка с запятой» (;).

Ожидаемый результат этой команды:

Query OK, 0 rows affected (0.22 sec)

Теперь создадим таблицу comment следующим образом:

После этого создадим таблицу tag :

И наконец, создадим таблицу post_tag :

Давайте заполним созданные нами таблицы примерами данных:

При необходимости базу данных вместе со всеми ее таблицами и данными легко можно удалить, набрав следующую команду из консоли MySQL:

DROP DATABASE blog;

Рисунок 12.3 графически иллюстрирует сущности нашей базы данных и отношения между ними.

Рисунок 12.3. Графическое представление схемы базы данных

Рисунок 12.3. Графическое представление схемы базы данных

Как видите из рисунка, таблицы post и comment имеют связь один-ко-многим, так как у одного поста может быть несколько комментариев. Это также называется отношением «один-ко-многим».

Таблицы post и tag имеют связь многие-ко-многим. У одного поста может быть много тегов, а один тег, в свою очередь, может принадлежать нескольким постам. Отношение «многие-ко-многим», как правило, реализуется через вспомогательную таблицу (в нашем случае это таблица post_tag ).

Что такое PHP?

PHP — это, дословно, препроцессор гипертекста. PHP — это скриптовый язык программирования, созданный и использующийся для генерации страниц веб-сервером. В наше время язык php поддерживается практически всеми хостинг-провайдерами и является основным инструментом разработки веб-сайтов. Популярность PHP обусловлена простотой, скоростью выполнения и огромным количеством уже готовых «модулей-расширений».

Проще говоря, PHP — это язык программирования, специально разработанный для написания web-приложений (сценариев) (читай сайтов в нашем случае), исполняющихся на Web-сервере.

Т.е. web-страница формируется на сервере и отдается посетителю в уже готовом виде. Например мой сайт http://www.LuksWeb.ru/ использует в своей работе именно связку PHP и MySQL. Подробнее про PHP и MySQL мы поговорим в следующих уроках и статьях.

А сегодня у нас конкретная задача: Научиться создавать Базы Данных на Локальном сервере (Денвере) для web-приложений использующих связку PHP и MySQL. Например для скрипта форума или для сайта, на базе готового движка например DLE.

Любой скрипт работающий с Базами Данных, обязательно «спросит» у Вас при установке, три основных параметра:

Этим мы сейчас и займемся.

Создание базы данных mySQL локально (insitute)

Создадим базу данных с названием insitute:

Создание базы данных mySQL

Подключение к удаленной базе данных

(пропустите это, если вы подключаетесь к локальной базе данных). Чтобы подключиться к вашей удаленной базе данных, часто предоставляемой хостинг-провайдером, вы должны знать IP-адрес или имя хоста вашей базы данных (и, возможно, номер порта, если он был изменен от значения по умолчанию — 3306). Вы будете подключаться к такой базе точно так же,как если бы вы подключались к локальной базе данных, просто заменяя аргументы хоста и порта в зависимости от конфигурации вашего хостинга.

Чтобы отключиться от сеанса MySQL, отправьте команду QUIT (или q).

Установка и настройка MySQL

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

  • Если вы устанавливаете на дистрибутиве на основе RedHat (например: CentOS), следовать этой статье: Установка MySQL на Ubuntu с помощью rpm
  • Вы можете также использовать yum groupinstall для установки группы базы данных MySQL.
  • Если вы хотите установить MySQL вместе с другими компонентами LAMP (Apache и PHP), следовать этой статье: Как установить или обновить LAMP

Сжатие баз данных в MySQL

К сожалению, в MySQL изменение или ограничение размера баз данных не поддерживается. Из средств, встроенных в PHPMyAdmin для этого можно использовать лишь оптимизацию таблиц. Данная операция является еще одним параметром из выпадающего списка, изображенного выше.

Также для уменьшения размеров базы данных рекомендуется сохранять ее резервные копии в виде архивов. Сжатие ( компрессия ) резервных копий настраивается в одноименном пункте на вкладке « Экспорт » в разделе « Вывод »:

Сжатие баз данных в MySQL

Еще одним способом уменьшения размера БД MySQL является следующий набор действий:

  • Создание дампа ( копии ) через командную строку с использованием команды mysqldump ;
  • Удаление всех баз данных;
  • Остановка всех службы MySQL ;
  • Последующее восстановление удаленных баз данных из дампа:

Сжатие баз данных в MySQL - 2

Такой подход применим лишь для локальных серверов баз данных. Но никак не для баз, использующихся в интернете. Не каждый ресурс может позволить себе остановку и перезапись всех данных. Уж слишком высока вероятность потери информации и работоспособности всего сайта.

Поэтому для популярных движков разработано большое количество специальных расширений и плагинов. Они позволяют сразу после создания базы данных MySQL настроить ее оптимизацию с помощью периодической очистки всех таблиц и журналов.

Как видите, MySQL является оптимальной СУБД для построения движков на основе php. А PHPMyAdmin – основным средством администрирования баз данных MySQL в интернете.

Оцените статью
Fobosworld.ru
Добавить комментарий

Adblock
detector