SQL Исполняется 50 Лет: Путешествие Через Полвека

В июне 1974 года состоялся первый выпуск языка SQL. Он был разработан Дональдом Д. Чемберлином и Раймондом Ф. Бойсом в IBM, основываясь на реляционной модели, предложенной Э.Ф. Коддом. SQL, что расшифровывается как Structured Query Language, стал наиболее распространенным языком для работы с базами данных, и до сих пор имеет множество диалектов, последний из которых — SQL 2023.

SQL первоначально произносился как «сиквел», и это произношение до сих пор используется многими, хотя более современный способ произношения — «S-Q-L». Википедия описывает его как специфический язык, используемый для управления данными, особенно в реляционной системе управления базами данных (РСУБД). Он полезен при работе со структурированными данными, включающими отношения между сущностями и переменными.

Сфера его применения включает:

  • Запросы к данным
  • Манипулирование данными (вставка, обновление и удаление)
  • Определение данных (создание и изменение схемы)
  • Управление доступом к данным

Под сильным влиянием модели данных, описанной Е. Ф. Коддом в его основополагающей работе 1970 года «A Relational Model of Data for Large Shared Data Banks», SQL ввел концепцию доступа ко многим записям с помощью одной команды. Его характерный синтаксис включает клаузы, выражения, предикаты, запросы и операторы. Пробелы в операторах и запросах SQL обычно игнорируются, что позволяет форматировать код для удобства чтения.

Дон Чемберлин и Рэй Бойс, получив докторские степени в Стэнфорде и Пердью в 1972 году, были недавно приняты на работу в исследовательский центр IBM T.J. Watson в Нью-Йорке. Там они разработали первую попытку языка реляционных баз данных SQUARE (Specifying Queries in A Relational Environment), но он оказался сложным для использования из-за подстрочных и надстрочных обозначений.

После встречи с Тедом Коддом, компьютерным ученым из исследовательской лаборатории IBM в Сан-Хосе, на симпозиуме в 1972 году, Бойс и Чемберлин осознали, что можно создать реляционный язык, доступный пользователям без формальной подготовки в области математики или компьютерного программирования.

В статье 2012 года для журнала IEEE Annals of the History of Computing, Чемберлин писал:

«Для нас с Рэем знакомство с реляционной моделью данных на исследовательском симпозиуме Кодда стало откровением. Впервые мы увидели, как запрос, который потребовал бы сложной программы на языке DBTG, можно свести к нескольким простым строкам с помощью одного из реляционных языков Кодда. Для нас двоих это стало игрой — придумывать запросы и соревноваться друг с другом в их выражении на различных языках запросов.»

В 1973 году они переехали в Сан-Хосе, где продолжалась работа над квазиреляционной системой управления базами данных IBM, проектом System R, и начали работу над преемником SQUARE, названным SEQUEL, который позднее превратился в стандарт SQL.

Название SEQUEL было каламбуром на языке запросов QUEL, разработанном в Ingres. Позже его изменили на SQL, исключив гласные, поскольку «SEQUEL» было торговой маркой британской компании Hawker Siddeley Dynamics Engineering Limited. Лишь позднее SQL стал расшифровываться как «Structured Query Language».

В честь 50-летия SQL Дон Чемберлин обсудил историю создания и развития SQL с Ричи Коттоном, евангелистом данных, в видео из серии DataCamp’s Data Framed.

Читайте также
Вышел Spin 2.0 — обновление фреймворка Fermyon для создания приложений на WebAssembly
Вышел Spin 2.0 — обновление фреймворка Fermyon для создания приложений на WebAssembly
Вышел Spin 2.0 — обновление фреймворка Fermyon для создания приложений на WebAssembly

Фреймворк предназначен для облачных вычислений, которые собирают приложения из Wasm-компонентов, написанных на разных языках программирования. Spin 2.0 формирует базу для смены режимов между выполнением и реализацией.

Что было важного у JavaScript в 2023: сигналы, RSC
Что было важного у JavaScript в 2023: сигналы, RSC
Что было важного у JavaScript в 2023: сигналы, RSC

Важные события в 2023 связанные с JavaScript — внедрение сигналов, React компоненты для сервера. JS уже фуллстек?

Сжатие и распаковка в браузере с помощью Compression Streams API
Сжатие и распаковка в браузере с помощью Compression Streams API
Сжатие и распаковка в браузере с помощью Compression Streams API

С API веб-приложениям больше не нужно предоставлять собственную библиотеку сжатия или распаковки.

Чем функции в React.js лучше классов
Чем функции в React.js лучше классов
Чем функции в React.js лучше классов

В последнее время функции используют чаще, чем классы при разработке на React.js, популярной библиотеки для создания пользовательских интерфейсов. При этом React позволяет разработчикам создавать компоненты с использованием как функций, так и классов. В этом материале рассмотрим, почему так вышло.