1.1: Что такое MySQL ?
Главная Страница » Книги по PHP » MySQL уроки для начинающих с нуля » Что такое MySQL?
MySQL представляет собой очень популярную систему управления базами данных (СУБД), разрабатываемую фирмой MySQL АВ. MySQL АВ является коммерческой компанией, строящей свой бизнес на сервисах, сосредоточенных на базе данных MySQL и базирующейся в Швеции. Дальнейшую поддержку MySQL осуществляет корпорация Oracle, получившая права на торговую марку вместе с поглощённой Sun Microsystems, которая ранее приобрела шведскую компанию MySQL AB.
Официально MySQL произносится как «Май-Эс-Ку-Эль», а не как MY-SEQUEL. Это столь распространенная ошибка, что разработчики MySQL даже поместили соответствующее объявление на своем сайте.
Название возникло из сокращения (а вернее, слияния) слов My SQL, что на английском языке значит «мой SQL». Названию около десяти лет, оно прижилось еще в те времена, когда пакет не был коммерческой разработкой.
Авторы пакета хотят, чтобы MySQL всегда был:
- самой лучшей и наиболее используемой базой данных в мире;
- доступным для всех;
- легким в использовании, насколько это возможно для такого пакета;
- непрерывно совершенствующимся, быстрым и безопасным;
- не содержащим ошибок.
Пока им это удается. Рассмотрим все это более подробно и введем некоторые базовые термины.
MySQL представляет собой систему управления базами данных (СУБД)
Базой данных называют структурированный набор данных. Это может быть что угодно: от простого перечня покупок до галереи изображений. Чтобы добавлять, обращаться и обрабатывать данные, сохраненные в компьютерной базе данных, вы нуждаетесь в системе управления базой данных, например MySQL.
Так как компьютеры очень хороши при обработке больших количеств данных, базы данных играют центральную роль в вычислениях. Человек способен понять данные, представленные в какой угодно форме, лишь бы их было не очень много. Компьютер же наоборот: количество данных для него почти не имеет значения, но вот их структура должна строго соответствовать критериям программы.
MySQL является реляционной СУБД
Реляционная база данных сохраняет данные в отдельных таблицах (реляциях). Это улучшает быстродействие и гибкость. Таблицы связаны определенными отношениями, делающими возможным объединять данные из нескольких таблиц в одном запросе для поиска информации. Таким образом, краеугольным понятием для вашей последующей работы должна стать таблица. Именно в таблицах MySQL хранит все, даже свои внутренние структуры и данные.
MySQL использует язык запросов SQL
Поскольку данных много, нужен какой-то способ быстро получать именно те, которые сейчас понадобились. Для этого надо иметь возможность указать серверу найти данные, отвечающие неким критериям. С этой целью был разработан язык SQL (Structured Query Language, язык структурированных запросов), наиболее общий стандартизированный язык, используемый, чтобы обращаться к компьютерным базам данных. Именно с этим языком работают почти все современные СУБД. Вот тут возникает одна проблема. Дело в том, что если уж создается некий универсальный язык для работы с базами данных, то он должен быть четко стандартизован.
Не так все просто. В процессе разработки языка SQL несколько фирм, которые тогда определяли ситуацию на рынке СУБД, так и не смогли толком договориться об окончательных стандартах. Дело затягивалось, и фирмы начали применять в своих системах разные версии SQL: каждая фирма вносила свои улучшения, что погубило саму идею единого языка.
В конце концов, после бурных дебатов, в 1992 году стандарт на SQL был наконец принят и получил название ANSI SQL92 (также его назвали классическим SQL). Но было уже поздно. В разных СУБД SQL уже использовался везде, но свой у каждого разработчика.
Были попытки привести их к общему знаменателю, но ничего не вышло: стандарт определил лишь общие понятия и правила, очень многое оставив на совести разработчиков конкретной реализации. Так появились диалекты SQL. В частности, MySQL использует весьма специфический диалект SQL, далеко не во всем соответствующий стандарту. Именно он и рассмотрен в здесь, в самоучителе. В нём отмечены наиболее принципиальные отличия MySQL от ANSI SQL.
Вообще-то MySQL старается соответствовать ANSI SQL, где это возможно. Более того, сервер MySQL может быть запущен в режиме полного соответствия ANSI SQL, но тогда отменятся многие дополнительные возможности MySQL.
SQL представляет собой язык управления базами данных. Часто его называют языком программирования, но это не так. Хоть он и является языком для общения с компьютерными программами, но к программированию управление базами данных не имеет никакого отношения. Это совсем другая область компьютерной технологии.