Открыть сервис

Язык SQL

SQL (Structured Query Language, язык структурированных запросов) — это декларативный язык программирования, предназначенный для управления данными в реляционных системах управления базами данных (РСУБД), а также для создания и модификации схем баз данных. SQL является основным стандартом для взаимодействия с реляционными базами данных (РБД), позволяя выполнять такие операции, как выборка, вставка, обновление и удаление данных, а также управление объектами базы данных (таблицами, индексами, представлениями). Язык основан на реляционной алгебре и теории множеств.

История

Предшественники и создание

Разработка SQL началась в начале 1970-х годов в исследовательской лаборатории компании IBM (San Jose Research Laboratory). Первоначально язык назывался SEQUEL (Structured English Query Language) и был частью проекта System R, целью которого было создание прототипа реляционной базы данных. Авторами языка считаются Дональд Чемберлин и Рэймонд Бойс. Первая версия SEQUEL была описана в 1974 году. В 1976 году название было изменено на SQL из-за торговых споров.

Стандартизация

В 1986 году Американский национальный институт стандартов (ANSI) принял первый стандарт SQL (SQL-86). В 1987 году к нему присоединилась Международная организация по стандартизации (ISO). С тех пор стандарт неоднократно пересматривался и дополнялся. Ключевые версии:

Классификация команд SQL

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

DDL (Data Definition Language)

Язык определения данных. Используется для создания, изменения и удаления объектов базы данных (таблиц, индексов, представлений, схем). Ключевые команды:

DML (Data Manipulation Language)

Язык манипуляции данными. Используется для выполнения операций с данными, хранящимися в таблицах. Ключевые команды:

DCL (Data Control Language)

Язык управления доступом. Используется для управления правами пользователей на объекты базы данных. Ключевые команды:

TCL (Transaction Control Language)

Язык управления транзакциями. Используется для управления изменениями, вносимыми группами операторов DML. Ключевые команды:

Синтаксис и основные конструкции

Оператор SELECT

Базовый синтаксис запроса на выборку данных выглядит следующим образом: ``sql SELECT [DISTINCT] список_столбцов FROM имя_таблицы [WHERE условие_фильтрации] [GROUP BY столбцы_для_группировки] [HAVING условие_для_групп] [ORDER BY столбцы_для_сортировки [ASC | DESC]] [LIMIT количество_строк [OFFSET смещение]]; ``

Типы данных

Стандарт SQL определяет несколько категорий типов данных, хотя конкретные реализации могут их расширять:

Ограничения целостности

Для обеспечения корректности данных в SQL используются ограничения (constraints):

Реализации и диалекты

Несмотря на наличие стандарта, большинство СУБД реализуют собственные диалекты SQL, добавляя расширения и иногда не полностью поддерживая стандарт. Наиболее распространённые СУБД и их диалекты:

Применение

SQL является универсальным инструментом для работы с данными и применяется в самых разных областях:

Критика и ограничения

Несмотря на широкое распространение, SQL подвергается критике по нескольким причинам:

Интересные факты

Источники

  1. Чемберлин, Д. Д., Бойс, Р. Ф. «SEQUEL: A Structured English Query Language» (1974).
  2. Международный стандарт ISO/IEC 9075:2023 «Information technology — Database languages — SQL».
  3. Кодд, Э. Ф. «A Relational Model of Data for Large Shared Data Banks» (1970).
  4. Грофф, Дж. Р., Вайнберг, П. Н. «SQL: Полное руководство» (любое издание).
  5. Официальная документация СУБД PostgreSQL, MySQL, Oracle Database, Microsoft SQL Server.

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →