Делаем SQL конкурентным преимуществом: что это за язык?

14 июля 2021

Наверняка при просмотре вакансий или во время общения с коллегами вы могли заметить, что сейчас все чаще и чаще знание языка SQL указывается в графе “Будет бонусом” или даже в необходимых навыках, а на практике его применяют самые разные специалисты: разработчики, тестировщики, аналитики, проджект-менеджеры и т.п. А нужен ли он именно вам? Давайте рассмотрим вместе, что такое SQL, кому и для чего может пригодится его знание в серии статей “Делаем SQL конкурентным преимуществом”.

Немного об SQL и Базах Данных 

SQL расшифровывается как Structured Query Language - язык структурированных запросов. Он считается декларативным языком: от английского declaration - заявление. То есть, мы не описываем как что-то должно быть выполнено, мы четко ставим задачу - что именно должно быть выполнено, а программа считывает и выдает результат.

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

  • Данные - это набор определенных значений, которые структурируются и образуют таблицу: набор строк и столбцов. К примеру, информация о курсах SkillsUp.

Если мы увеличиваем количество столбцов, то делаем таблицу более подробной, а если строк - то увеличиваем количество данных.

  • База данных (БД) - это определенным образом сгруппированные данные (к примеру, в таблицы).
  • Реляционные БД получили свое название от английского слова relation - отношения, то есть они связаны между собой определенными отношениями. К примеру, мы можем сделать таблицу с названиями курсов и назвать ее “Перечень”:

И теперь можно изменить предыдущую таблицу, тем самым создав отношение между таблицей “Перечень” и “Информация о курсах SkillsUp”:

Итак, для чего нужен SQL? С помощью языка SQL пишутся команды-запросы, благодаря которым вы можете выполнять необходимые манипуляции с реляционными базами данных

Операторы в SQL

Команды, в свою очередь, состоят из операторов, которые распределены по 4 основным языкам:

  • DDL/Data Definition Language/Язык Описания Данных. Отвечает за работу со структурой данных: то есть, создание, удаление или изменение объектов баз данных - другими словами, работа с организацией внешнего вида данных. Сюда относятся операторы CREATE (создание), DROP (удаление) и ALTER (изменение).
  • DML/Data Manipulation Language/Язык Манипуляции Данными. Необходим для работы непосредственно с данными. Сюда относим операторы INSERT (добавить), UPDATE (изменить), DELETE (удалить), SELECT (сделать выборку). 
  • DCL/Data Control Language/Язык управления доступом к данным. Когда в базе данных существуют разные типы пользователей, то важно выдавать разные доступы: чтобы начинающий тестировщик, к примеру, не удалил нам информацию за последний год. Для этого есть операторы GRANT (дает доступ),  REVOKE (отзывает доступ) и DENY (выдает запрет).  
  • TCL/Transaction Control Language/Язык Управления Транзакциями. Здесь мы говорим о наборе команд, которые называются транзакция. И для ее успешного завершения необходимо правильное выполнение всех команд в требуемой последовательности. Сюда входят операторы BEGIN TRANSACTION (начало), COMMIT TRANSACTION (изменение команд), ROLLBACK TRANSACTION (откатывает транзакцию), SAVE TRANSACTION (точка сохранения внутри).  

А что такое СУБД?

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

Примеры SQL-баз данных: Oracle, MySQL, Microsoft SQL Server, PostgreSQL.

Примеры NoSQL-баз данных: MongoDB, DB2, Microsoft Access, Cassandra, Redis, Elasticsearch.

SQL, СУБД, Базы Данных: все равно не понятно!

Давайте посмотрим немного под другим углом на примере, который привычен и понятен любому. База данных - это значения/информация, которая разделяется по типам и логическому назначению. Пример - больничная картотека. Пациенты разделены по отделениям больницы, в каждом из которых есть сортировка по ФИО + другая сопутствующая информация (дата рождения, диагноз и т.д.). 

СУБД - это инструмент для работы с базой. С его помощью можно читать данные из базы, обновлять их, удалять или добавлять новые. Можно менять настройки, модифицировать и т.д. То есть, поддержка, работа и развитие базы данных выполняется с помощью СУБД. Если больничная картотека - это база данных, то СУБД здесь - это работник регистратуры, который по твоему запросу с этой информацией что-то делает. И то, как ты общаешься с ним - это и есть SQL (если ты пишешь свой запрос на листочке в формате - ФИО + год рождения + диагноз) или же язык графических элементов (когда ты оформляешь просьбу своими словами). 

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

Похожие темы