MySQL является открытым программным обеспечением, созданным для управления реляционными базами данных и основанном на языке запросов структуры (SQL). Стандартные команды SQL, такие как ADD, DROP, INSERT и UPDATE, могут использоваться в MySQL.
Составляющие
База данных
База данных – это просто набор структурированных данных. Представьте, как вы делаете селфи: вы нажимаете кнопку и фотографируете себя. Ваша фотография – это данные, а галерея вашего телефона – это база данных. База данных – это место, в котором хранятся и структурируются данные. Слово «реляционный» означает, что данные, хранящиеся в наборе данных, организованы в виде таблиц. Каждая таблица связана в некотором роде. Если программное обеспечение не поддерживает реляционную модель данных, просто назовите ее СУБД (Система управления базами данных).
Открытый исходный код
Наличие открытого исходного кода означает, что вы можете свободно использовать и изменять его. Любой пользователь сможет без каких-либо затрат установить такое программное обеспечение. Вы также можете изучить и модифицировать исходный код, чтобы он мог лучше соответствовать вашим потребностям. Однако GPL (GPU Public License) также определяет, что конкретно вы можете сделать в зависимости от дополнительных условий. Впрочем, доступна и коммерчески лицензированная версия на случай, если вам нужно более гибкие условия владения и расширенная поддержка.
Модель клиент-сервер
Компьютеры, которые устанавливают и запускают программное обеспечение СУБД, называются клиентами. Когда им нужно получить доступ к данным, они подключаются к серверу РСУБД. Это и называется моделью «клиент-сервер».
MySQL является одним из многих вариантов программного обеспечения СУБД. Считается, что RDBMS и MySQL одинаковы из-за популярности MySQL. Вспомните несколько крупных веб-приложений, таких как Facebook, Twitter, YouTube, Google и Yahoo! – все они используют MySQL для хранения данных. Хотя изначально он был создан для ограниченного использования, теперь это программное обеспечение совместимо со многими важными компьютерными платформами, такими как Linux, macOS, Microsoft Windows и Ubuntu.
SQL
MySQL и SQL – это две разные вещи. Следует помнить, что MySQL является одной из самых популярных торговых марок программного обеспечения СУБД, которая реализует модель клиент-сервер. Итак, как клиент и сервер взаимодействуют в среде СУБД? Они используют специфичный для домена язык – язык структурированных запросов (SQL). Если вы когда-либо сталкивались с другими именами, в которых есть SQL, такими как PostgreSQL и сервер Microsoft SQL, они, скорее всего, являются брендами, которые также используют синтаксис SQL. Программное обеспечение СУБД часто пишется на других языках программирования, но всегда использует SQL в качестве основного языка для взаимодействия с базой данных. Сам MySQL написан на C и C++. Подумайте о странах Южной Америки, все они географически различны и имеют разную историю, но все их жители в основном говорят по-испански.
Инженер-компьютерщик Эдгар Кодд разработал SQL в начале 1970-х годов на основе реляционной модели IBM. Он стал более широко использоваться в 1974 году и быстро заменил аналогичные, тогда устаревшие языки, ISAM и VISAM. SQL разрабатывался, чтобы сообщать серверу, что делать с данными. Это что-то вроде вашего пароля или кода WordPress. Вы вводите его в систему, чтобы получить доступ к области панели управления. В этом случае операторы SQL могут указать серверу выполнить определенные операции:
- Запрос данных: запрос конкретной информации из существующей базы данных;
- Обработка данных: добавление, удаление, изменение, сортировка и другие операции для изменения данных, значений или визуальных элементов;
- Идентификация данных: определение типов данных. Например, изменение числовых данных в целочисленные переменные. Сюда также входит определение схемы или взаимосвязи каждой таблицы в базе данных;
- Контроль доступа к данным: предоставление методов защиты для обеспечения целостности данных, в том числе принятие решения о том, кто может просматривать или использовать любую информацию, хранящуюся в базе данных.
Как работает MySQL?
Данное изображение объясняет базовую механику клиент-серверной структуры. Одно или несколько устройств (клиентов) подключаются к серверу через определенную сеть. Каждый клиент может сделать запрос из графического интерфейса пользователя (GUI) на своих экранах, и сервер выдаст желаемый результат, если оба конца понимают инструкцию. Не вдаваясь в технические аспекты, основные процессы, происходящие в среде MySQL, одинаковы:
- MySQL создает базу данных для хранения и манипулирования данными, определяя отношения каждой таблицы.
- Клиенты могут делать запросы, вводя определенные SQL-операторы на MySQL.
- Серверное приложение ответит запрошенной информацией и появится на стороне клиента.
Вот и все. Со стороны клиентов обычно подчеркивается, какой MySQL GUI использовать. Чем легче и удобнее графический пользовательский интерфейс, тем быстрее и проще будут выполняться операции по управлению данными. Некоторыми из самых популярных графических интерфейсов MySQL являются MySQL WorkBench, SequelPro, DBVisualizer и Navicat DB Admin Tool. Некоторые из них бесплатны, а некоторые коммерческие, некоторые работают исключительно для macOS, а некоторые совместимы с основными операционными системами. Клиенты должны выбирать графический интерфейс в зависимости от своих потребностей. Для управления веб-базами данных, включая сайт WordPress, наиболее очевидным шагом является phpMyAdmin.
Почему MySQL так популярен?
MySQL действительно не единственная (Реляционная) СУБД на рынке, но является одной из самых популярных и занимает второе место после Oracle Database. Это обуславливается тем, что она может использовать такие важные параметры, как количество упоминаний в результатах поиска, профессиональные профили в LinkedIn и частота технических дискуссий на интернет-форумах. Тот факт, что многие крупные технологические гиганты полагаются на MySQL, еще больше укрепляет его заслуженную позицию. Почему так? Вот некоторые причины:
Гибкость и простота в использовании
Вы можете изменить исходный код, чтобы он соответствовал вашим собственным требованиям, и вам не придется ничего платить за такой уровень свободы, включая варианты обновления до расширенной коммерческой версии. Процесс установки относительно прост и не должен занимать более 30 минут.
Высокая производительность
Широкий спектр кластерных серверов поддерживает MySQL. Независимо от того, храните ли вы огромные объемы данных электронной коммерции или выполняете тяжелые бизнес-аналитические операции, MySQL может помочь вам с этим с оптимальной скоростью.
Промышленный стандарт
Различные отрасли промышленности используют MySQL в течение многих лет, а это означает, что для опытных разработчиков не составит труда найти себе хорошее рабочее место. Владельцы MySQL-серверов могут ожидать быстрой разработки программного обеспечения и экспертов-фрилансеров, готовых работать над менее значимыми поручениями, если они когда-либо понадобятся.
Безопасность
Ваши данные должны быть главным приоритетом при выборе правильного программного обеспечения RDBMS. С помощью своей системы доступа и управления учетными записями MySQL устанавливает высокий уровень безопасности. Доступна проверка на основе хоста и шифрование пароля.
Типы данных MySQL
- Числовой – эти типы данных включают целые числа различных размеров, числа с плавающей точкой (действительные) различной точности и отформатированные числа.
- Текстовая строка – эти типы данных имеют фиксированное или различное количество символов. Этот тип данных также имеет строку переменной длины, которая называется CHARACTER LARGE OBJECT (CLOB), которая используется для указания столбцов с большими текстовыми значениями.
- Битовая строка – эти типы данных имеют либо фиксированную длину, либо переменную длину битов. Существует также тип данных битовой строки переменной длины, называемый BINARY LARGE OBJECT (BLOB), который доступен для указания столбцов с большими двоичными значениями, таких как изображения.
- Булевские значения (Boolean) – этот тип данных имеет значения TRUE или FALSE. Поскольку SQL имеет значения NULL, используется трехзначная логика, которая UNKNOWN.
- Дата и время – тип данных DATE имеет: год, месяц и день в формате ГГГГ-ММ-ДД. Аналогично, тип данных TIME имеет компоненты час, минута и секунда в формате HH: MM: SS. Эти форматы могут меняться в зависимости от конкретных требований.
- Timestamp & Interval – тип данных TIMESTAMP включает минимум шесть позиций для десятичных долей секунд и необязательный квалификатор WITH TIME ZONE в дополнение к полям DATE и TIME. Тип данных INTERVAL указывает относительное значение, которое можно использовать для увеличения или уменьшения абсолютного значения даты, времени или отметки времени.
Лучшие GUI для MySQL
Workbench
Этот визуальный интерфейс проектирования баз данных, разработанный Sun Systems/Oracle, объединяет разработку, администрирование, проектирование, создание и обслуживание SQL. Все перечисленные функции доступны в графической среде. Workbench является производной от DBDesigner 4, первоначально опубликованной fabFORCE.net в качестве пакета инструментов GUI.
Распространение: Лицензия GPL
Поддерживаемые платформы: Microsoft Windows, Mac OS X и Linux
Sequel Pro
Sequel Pro, созданный The Sequel Project, является бесплатным приложением с открытым исходным кодом, которое пришло на смену CocoaMySQL. Поскольку это проект на основе Какао, Sequel Pro доступен только для OS X. Sequel Pro позволяет вам управлять базами данных MySQL либо локально, либо через удаленное соединение. В нем можно добавлять или удалять базы данных, а также осуществлять управление таблицами, полями и индексами. Вы можете добавлять, редактировать и удалять строки, выполнять пользовательские запросы и выгружать все из таблиц во все базы данных.
Распространение: GNU GPL 2.0
Поддерживаемые платформы: Mac OS X 10.6 Snow Leopard или новее
HeidiSQL
HeidiSQL является клиентом с открытым исходным кодом для MySQL. После аутентификации в базе данных MySQL через локальное или удаленное соединение пользователи могут управлять своей базой данных во время сеанса. Хотя набор его функций не такой большой, как у других клиентов, его достаточно для выполнения наиболее распространенных задач и некоторых сложных операций с базами данных, таблицами и записями. Он все еще находится в разработке, а потому его функционал продолжает расширяться. Java-версия существовала для совместимости с любой системой, но этот проект был заброшен еще в 2010 году. Поэтому пользователям Linux лучше всего использовать Wine для запуска версии Windows.
Распространение: GNU General Public License
Поддерживаемые платформы: Windows XP, Vista, 7, 8, 10 (может работать на любом Linux с Wine)