SQL – структурированный язык запросов, позволяющий заниматься созданием и работой в реляционных базах данных. Благодаря универсальности и четко выраженной структуре предназначен для оптимизации и обслуживания БД. Составители рейтинга TIOBE отмечают, что за последние 12 месяцев язык SQL является одним из самых стабильных – год назад он поднялся в первую десятку и ниже пока не опускался.
История SQL
В 70-х годах компания IBM разработала пробную реляционную систему управления базами данных. Под нее создавался язык SEQUEL, при помощи которого было легче контролировать данные СУБД. Разработчики планировали создать непроцедурный язык, понятный любому пользователю.
Системы же, которые поддерживали язык, появились через несколько лет. Тогда уже существовали различные варианты систем управления базами данных со своей реализацией запросов. Впервые зашла речь о стандартизации языка, которая гарантировала переносимость программного обеспечения с различных СУБД. Изменения вносились стабильно каждые пару лет. Действующий стандарт был принят в 2003 году, последние модификации и изменения производились в 2016-м.
В настоящее время SQL (по юридическим аспектам переименованный SEQUEL) – популярный инструмент в среде разработчиков, тестировщиков и аналитиков.
Состав SQL
Одно из основных предназначений языка – управление содержимым РБД и руководство правами доступа многопользовательской среды. Вследствие этого компонентами SQL являются:
- язык манипулирования (команды Select, Insert, Update, Delete);
- язык определения (команды Create…, Alter…, Drop…);
- управления (команды Grant, Revoke, Deny).
Разделение по такому принципу обусловлено функциональными особенностями команд.
Преимущества SQL
Среди основных преимуществ языка можно выделить следующие:
- Вместимость
Оперативная взаимосвязь с базами данных даже при условии, что речь идет о Big Data.
- Доступность
Эффективно пользоваться языком SQL реально даже при отсутствии глубоких знаний кода.
- Переносимость
Благодаря независимости от единственной СУБД, запросы SQL могут свободно перемещаться между ними. Есть такие системы, которые ориентированы, как минимум, на несколько СУБД.
- Наличие стандартов
Это свойство делает язык стабильным. Но специалисты отмечают тот факт, что стандартизации порой уделяется слишком много текстовой формальности.
- Декларативность
Используя язык SQL, необходимо описать только данные, требующиеся для модификации или извлечения. Как это произойдет, определит система управления базами данных в процессе взаимодействия запроса SQL. От сложности запроса зависит то, сколько версий написания получится в итоге. Они будут отличаться скоростью выполнения, при этом данные будут идентичны.
- Архитектура “клиент-сервер”
Язык выполняет функцию крепежа между системой клиента и сервера. Благодаря этому каждая сторона фокусируется на своих задачах.
Недостатки SQL
Как и многих других языков, у этого тоже есть свои минусы:
- не способен к существованию в виде отдельного языка программирования;
- работа осуществляется исключительно с реляционными базами данных;
- язык не поддерживает циклы, рекурсии, некоторые функции пользователя.
Разновидности СУБД
В глобальном масштабе СУБД = SQL+специализированное ПО. Это вполне логично: понятия не существуют друг без друга, чисто физически сама база не отличается от обычного документа со строками. Данные нуждаются в изучении и управлении.
Среди самых популярных и востребованных СУБД выделяют:
- MySQL,
- Oracle Database,
- Microsoft SQL Server,
- PostgreSQL.
Не совсем понял, чем отличается SQL от MySQL
Язык, система
Язык вообще ни разу не простой, чисто для программистов
Есть масса ресурсов, где простым языком все написано. Ясно и понятно