Что такое SQL?

Язык структурированных запросов (SQL) – это язык программирования для хранения и обработки информации в реляционной базе данных. Реляционная база данных хранит информацию в табличной форме со строками и столбцами, представляющими различные атрибуты данных и различные связи между значениями данных. Инструкции SQL можно использовать для хранения, обновления, удаления, поиска и извлечения информации из базы данных. Можно также использовать SQL для поддержания и оптимизации производительности базы данных.

Почему SQL так важен?

Язык структурированных запросов (SQL) – популярный язык запросов, который часто используется во всех типах приложений. Аналитики данных и разработчики изучают и используют SQL, потому что это решение хорошо интегрируется с различными языками программирования. Например, они могут внедрять SQL-запросы с языком программирования Java для создания высокопроизводительных приложений обработки данных с основными системами баз данных SQL, такими как Oracle или MS SQL Server. Решение SQL также довольно просто в освоении, так как в его утверждениях используются общепринятые английские ключевые слова.

История SQL

Решение SQL было изобретено в 1970-х годах на основе реляционной модели данных. Изначально оно было известен как структурированный английский язык запросов (SEQUEL). Позднее этот термин был сокращен до SQL. Компания Oracle, ранее – Relational Software, стала первым поставщиком, предложившим коммерческую систему управления реляционными базами данных SQL.

Каковы компоненты системы SQL?

Системы управления реляционными базами данных используют язык структурированных запросов (SQL) для хранения данных и управления ими. В системе хранится несколько таблиц базы данных, связанных друг с другом. MS SQL Server, MySQL или MS Access являются примерами систем управления реляционными базами данных. Ниже перечислены компоненты такой системы. 

Таблица SQL

Таблица SQL – это базовый элемент реляционной базы данных. Таблица базы данных SQL состоит из строк и столбцов. Инженеры баз данных создают связи между несколькими таблицами базы данных, чтобы оптимизировать пространство для хранения данных.

Например, инженер баз данных создает таблицу SQL для продуктов в магазине: 

Идентификатор продукта

Название продукта

Идентификатор цвета

0001

Матрас

Цвет 1

0002

Подушка

Цвет 2

Затем инженер базы данных связывает таблицу продуктов с таблицей цветов с идентификатором цвета:

Идентификатор цвета

Название цвета

Цвет 1

Голубой

Цвет 2

Красный

Операторы SQL

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

Например, следующая инструкция SQL использует команду SQL INSERT для хранения матраса марки A стоимостью 499 долларов США в таблице с именем Mattress_table с именами столбцов brand_name и cost:

ВСТАВКА В MATTRESS_TABLE (brand_name, cost)

VALUES(‘A’,’499’);

Хранимые процедуры

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

Как работает SQL?

Реализация языка структурированных запросов (SQL) включает серверную машину, которая обрабатывает запросы к базе данных и возвращает результаты. Процесс SQL проходит через несколько программных компонентов, включая указанные ниже. 

Парсер

Синтаксический анализатор начинает с токенизации или замены некоторых слов в инструкции SQL специальными символами. Затем он проверяет инструкцию на наличие указанного ниже.

Корректность

Анализатор проверяет соответствие инструкции SQL семантике или правилам SQL, которые обеспечивают правильность инструкции запроса. Например, синтаксический анализатор проверяет, заканчивается ли команда SQL точкой с запятой. Если точка с запятой отсутствует, синтаксический анализатор возвращает ошибку.

Авторизация

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

Реляционный движок

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

Движок хранения

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

Что такое команды SQL?

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

Язык определения данных

Язык определения данных (DDL) относится к командам SQL, которые проектируют структуру базы данных. Инженеры баз данных используют DDL для создания и изменения объектов базы данных в соответствии с бизнес-требованиями. Например, инженер баз данных использует команду CREATE для создания объектов базы данных, таких как таблицы, представления и индексы.

Язык запроса данных

Язык запросов данных (DQL) состоит из инструкций по извлечению данных, хранящихся в реляционных базах данных. Программные приложения используют команду SELECT для фильтрации и возврата определенных результатов из таблицы SQL. 

Язык управления данными

В инструкциях языка управления данными (DML) записывается новая информация или изменяются существующие записи в реляционной базе данных. Например, приложение использует команду INSERT для сохранения новой записи в базе данных.

Язык управления данными

Администраторы баз данных используют язык управления данными (DCL) для управления или авторизации доступа к базе данных для других пользователей. Например, они могут использовать команду GRANT, чтобы разрешить определенным приложениям манипулировать одной или несколькими таблицами. 

Язык управления транзакциями

Реляционный механизм использует язык управления транзакциями (TCL) для автоматического внесения изменений в базу данных. Например, база данных использует команду ROLLBACK для отмены ошибочной транзакции. 

Что такое стандарты SQL?

Стандарты SQL – это набор формально определенных рекомендаций языка структурированных запросов (SQL). Американский национальный институт стандартов (ANSI) и Международная организация по стандартизации (ISO) приняли стандарты SQL в 1986 году. Поставщики программного обеспечения используют стандарты ANSI SQL для создания программного обеспечения баз данных SQL для разработчиков.

Что такое внедрение SQL-кода?

SQL-инъекция – это кибератака, которая включает в себя обман базы данных с помощью SQL-запросов. Хакеры используют внедрение SQL-кода для извлечения, изменения или повреждения данных в базе данных SQL. Например, они могут заполнить SQL-запрос вместо имени человека в форме отправки, чтобы выполнить внедрение SQL-кода.

Что такое MySQL?

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

Сравнение SQL и MySQL

Язык структурированных запросов (SQL) – это стандартный язык для создания баз данных и управления ими. MySQL – это программа реляционных баз данных, использующая SQL-запросы. Хотя команды SQL определяются международными стандартами, программное обеспечение MySQL постоянно обновляется и совершенствуется.

Что такое NoSQL?

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

Сравнение SQL и NoSQL

Язык структурированных запросов (SQL) обеспечивает единый язык обработки данных, но реализация NoSQL зависит от разных технологий. Разработчики используют SQL для транзакционных и аналитических приложений, тогда как NoSQL подходит для гибких и интенсивных приложений. 

Что такое SQL-сервер?

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

Как AWS поддерживает SQL?

Microsoft SQL Server на AWS позволяет разработчикам запускать рабочие нагрузки Microsoft SQL на AWS. Система баз данных SQL лучше работает с масштабируемыми вычислительными ресурсами AWS. Используя MS SQL на AWS, компании достигают более высокой доступности сервисов, поскольку AWS имеет самую широкую глобальную инфраструктуру в 24 регионах. SQL Server на AWS интегрируется с более чем 230 сервисами безопасности, соответствия требованиям и управления для защиты данных от внешних угроз. Некоторые другие способы поддержки SQL AWS включают указанное ниже.

Начните работу с SQL Server на AWS, зарегистрировав аккаунт AWS уже сегодня.

AWS SQL: дальнейшие шаги

Зарегистрировать бесплатный аккаунт

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

Регистрация 
Начните разработку в консоли

Начните разработку в Консоли управления AWS.

Вход