Введение в MySQL

Определение базы данных

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

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

Для управления базами данных используется специальное программное обеспечение - СУБД (Система управления базами данных).

Терминология баз данных

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

  • База данных - набор реляционных таблиц с данными.
  • Таблица - схожа с обычными таблицами, имеет столбцы и строки.
  • Колонка - группа полей, содержащих одинаковый формат данных.
  • Строка (запись) - группа полей, которые содержат данные из нескольких не повторяющихся колонок.
  • Поле - ячейка таблицы.
  • Первичный ключ - уникальное значение поля, которое не может повторятся. Часто в качестве первичного ключа используют поле с номером строки (id).
  • Вторичный ключ - значения полей по которым одна таблица связана с другой.
  • Индекс - уникальный идентификатор строки, в большинстве случаях это номер строки.

MySQL - это ...

MySQL - быстрая, легкая в использовании, система управления базами данных, которая часто применяется как в малых, так и в крупных веб-приложениях. MySQL была разработана шведской компанией MySQL AB, однако вскоре выкуплена компанией Oracle.

Архитектура клиент-сервер

MySQL использует клиент-серверную архитектуру. Сервер mysqld призван управлять базами данных. Однако для подключения к MySQL серверу используется клиент, который с помощью SQL-запросов посылает команды серверу, чтобы тот знал что и как ему делать в базах данных. 

Клиент-серверная архитектура
Клиент-серверная архитектура работы MySQL

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

MySQL сервер и MySQL клиент могут также работать на одном и том же компьютере.

Наиболее распространенными mysql-клиентами являются:

  • mysql-client - запускается и работает в терминале
  • workbench - устанавливается как обычная программа
  • phpmyadmin - клиент, который доступен удаленно и работает в окне браузера.

Почему MySQL?

MySQL очень популярная СУБД и вот почему:

  • Бесплатность - MySQL распространяется под свободной лицензией и не требует оплаты за ее использование.
  • Стандартный SQL - MySQL использует стандартный синтаксис языка запросов - SQL (с некоторыми исключениями).
  • Кроссплатформенность - MySQL работает на многих операционных системах и взаимодействует с разными серверными языками программирования, такие как PHP, Perl, C, C++, Java и др.
  • Производительность - MySQL работает с высокой скоростью даже с большим набором данных.
  • Отличная поддержка PHP - MySQL часто используется с PHP - одним из самых популярных серверных языков программирования.
  • Расширяемость - MySQL может работать с базами данных огромных размеров и позволяет хранить более 50 миллионов строк в одной таблице. Размер одной таблицы может достигать 4Гб и более.