Приступая к работе, Диалекты SQL: что, почему, как

Как найти свой путь к различным типам SQL

MySQL, PostgreSQL, SQL Server… Почему существует так много диалектов SQL? А какой выбрать?

Независимо от того, являетесь ли вы новичком в области управления базами данных или экспертом по SQL, работающим с таблицами и представлениями в течение всего дня, вы, возможно, уже слышали о варварских терминах SQL, таких как «Transact -SQL »или« PostgreSQL ». Почему бы просто не говорить о «SQL»… SQL? Кстати, вы произносите это «С. Q. L. » или «ПРОДОЛЖЕНИЕ»?

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

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

Немного истории: почему существуют разные диалекты SQL?

Чтобы понять происхождение диалектов SQL, мы должны вернуться к основам управления реляционными базами данных (RDBM). В 1970 году Эдгар Фрэнк Кодд, британский ученый-компьютерщик, работавший в IBM, опубликовал статью под названием Реляционная модель данных для больших общих банков данных. Именно тогда он изобрел реляционную модель управления базами данных, которая с тех пор служит теоретической основой для реляционных баз данных и систем управления реляционными базами данных.

После этого новаторского изобретения дизайнеры решили выразить реляционную модель двумя способами: в виде исчисления (как это сделал Энгр) или в виде алгебры (как это сделала IBM). Алгебра выиграла битву, и это метод, который используется сегодня. После этого в конце 1980-х годов были предприняты некоторые усилия по созданию единого стандарта SQL. SQL стал стандартом Американского национального института стандартов (ANSI) в 1986 году и Международной организации по стандартизации (ISO) в 1987 году. Стандарт SQL пересматривался несколько раз с 1980-х годов, хотя основные особенности стандарта SQL стабильны с 1992 года.

Однако новые варианты продолжали появляться по мере того, как разработчикам баз данных, работающим у разных поставщиков, приходилось решать новые проблемы или обходить уже существующие проблемы, которые не были решены в стандарте. Это объясняет, почему несколько диалектов SQL появились и сосуществуют до сих пор.

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

Диалекты SQL: в чем различия?

Как вы поняли, SQL - это один из языков программирования, который используется для извлечения данных и обработки данных в базах данных. Среди прочего, SQL Server, Oracle, MySQL и PostgreSQL - это системы управления реляционными базами данных (RDBMS), у которых есть собственный диалект SQL по причинам, которые мы раскрыли ранее.

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

Чтобы лучше понять основные различия между четырьмя диалектами SQL, вот обзор некоторых особенностей синтаксиса PostgreSQL, MySQL, Microsoft SQL Server и Standard SQL, используемых в Google BigQuery.

Чтобы пойти дальше, вы найдете относительно исчерпывающий перечень различий между различными СУБД на специальной странице в Википедии под названием Сравнение систем управления реляционными базами данных.

Время выбирать: какой диалект SQL использовать?

Как мы только что обсуждали, PostgreSQL наиболее близок к стандартному SQL, хотя это широко используемый диалект SQL. Вот почему, начав с изучения PostgreSQL, вы получите самый гибкий инструмент, который, возможно, позволит впоследствии адаптироваться к другим диалектам SQL и перенести свои навыки на другие СУБД.

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

При изучении тенденций на основе вопросительных тегов в Stack Overflow MySQL также занимает первое место перед другими диалектами SQL. На втором месте находится Microsoft SQL Server, поскольку он по-прежнему широко используется в крупных компаниях.

Сайт DB-Engines предлагает другой порядок ранжирования, при котором первое место занимает Oracle. Чтобы составлять этот список на ежегодной основе, они проанализировали данные, полученные из поисковых систем (Google, Bing), Google Trends, связанных с ИТ веб-сайтов (Stack Overflow, DBA Stack Exchange), поисковых систем (Indeed, Simply Hired), социальных сетей. (LinkedIn, Twitter).

Наконец, давайте будем прагматичными. Если вы работаете в компании, которая использует определенную СУБД, вам следует изучить связанный с ней диалект SQL. Например, Microsoft SQL Server по-прежнему занимает значительную долю рынка во многих отраслях. Если вы ищете работу в определенной отрасли, вы можете просмотреть вакансии и узнать, какие навыки требуются для управления базами данных. Это может дать вам ценные указания, с какого диалекта SQL вам следует начать изучать для достижения своей карьерной цели.

Последние мысли

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

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

Например, Я изучал MySQL в университете и на онлайн-курсах. Но поскольку я работаю аналитиком данных в стартапе, я перешел на стандартный SQL, который используется в Google BigQuery. Я надеюсь, что эта статья поможет вам выбрать правильный путь в вашем путешествии по SQL!

Вам понравилась эта статья? Стань участником и присоединяйся к растущему сообществу любознательных людей!

Https://marie-lefevre.medium.com/membership