Чек-листы по В2В маркетингу увеличивающие продажи на 40%
Icon PDF 7,4 МБ
Скачать бесплатно

Структура SQL и его роль в управлении базами данных

26.04.2024
438
Время чтения:
Обновлено: 26.04.2024
структура sql

О чем речь? Структура SQL (Structured Query Language) довольна проста для понимания и работы. Есть удобные подразделы и операторы для структурирования, отбора, обновления или удаления информации.

Что учесть? SQL используют в дополнение к языкам C++, JavaScript и Python только для работы с базами данных. Написать на нем приложение или сайт не получится. А вот принимать запросы онлайн и обрабатывать их – основные преимущества SQL.

Понятие языка SQL

Аббревиатура SQL расшифровывается как Structured Query Language (структурированный язык запросов). Это стандартное средство работы с реляционными базами данных. SQL разрабатывался на основе аналогичного языка, созданного корпорацией IBM в конце 1970-х годов, и следовал принципам реляционной алгебры.

Впервые реализован в прототипе СУБД от IBM System R. Впоследствии язык распространялся в качестве стандартного средства обработки запросов практически для всех коммерческих систем управления базами данных реляционного типа.

понятие языка sql

Этот стандарт поддерживается почти всеми поставщиками оборудования и ПО, чтобы обеспечивать потребности покупателей. Но дополнительно внедряются возможности, отсутствующие в SQL и позволяющие расширить функционал продаваемой продукции. И все же производители СУБД стараются следовать данному стандарту и обеспечивать его гарантированное выполнение. Благодаря этому компании, выпускающие программные продукты, успешно развиваются.

Строго говоря, SQL не является полноценным языком программирования. В нем отсутствуют традиционные операторы, которые управляют процессом исполнения программы. Также здесь нет описания типов, присущего другим ЯП (языкам программирования).

До 14 мая
23 A/B теста для B2B, которые повысили конверсию сайта в 4 раза
    Дополнительно:
  • 10 критических ошибок В2В маркетинга
  • 5 полезных инструментов для В2В
Background image Background image

Структура SQL файла содержит лишь набор стандартных команд, предоставляющих доступ к базам данных. Реализованные таким образом операторы в свою очередь могут быть встроены в классические языки программирования – C++, COBOL, PL и т. п. Все запросы SQL поддерживают интерактивный режим исполнения.

Реляционная алгебра содержит в себе лишь совокупность операций над элементами БД. Язык SQL же развивается дальше и включает в себя, помимо этого, операторы, соответствующие DDL (Data Definition Language или «язык описания данных»). Также с помощью имеющихся средств пользователи могут управлять непосредственно базами данных. Это обстоятельство позволяет считать SQL полноценным языком запросов.

Особенности языка SQL

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

Структура SQL

Запросы SQL представляют собой инструкции, состоящие из фраз (предложений). Инструкции называются по имени оператора, определяющего суть инструкции. Такой оператор практически всегда следует первым. Фразы, в свою очередь, также называются по имени ключевого слова, с которого они начинаются.

Вид Название Назначение
DDL CREAT TABLE

DROP TABLE

ALTER TABLE

CREAT INDEX

DROP INDEX

CREAT VIEW

DROP VIEW

CREAT DOMAIN

ALTER DOMAIN

DROP DOMAIN

RENAME

Создание таблицы

Удаление таблицы

Изменение структуры таблицы

Создание индекса

Удаление индекса

Создание представления

Удаление представления

Создание домена

Изменение домена

Удаление домена

Переименование

DRL SELECT

TRANSFORM

UNION

Выборка записей

Создание перекрестного запроса

Создание запроса на объединение

DML UPDATE

INSERT

DELET

Изменение записей

Вставка новых записей

Удаление записей

TCL START TRANSACTION

COMMIT

ROLLBACK

Начало транзакции

Успешное завершение транзакции

Отказ транзакции

DCL GRANT

REVOKE

Передача привилегий

Изъятие привилегий

Примеры запросов из SQL

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

Рассмотрим базовый запрос SELECT.

SELECT *

FROM Pets;

Результат:

+———+————-+————+————+————+

| PetId | PetTypeId | OwnerId | PetName | DOB|

|———+————-+————+————+————|

| 1 | 2 | 3 | Fluffy | 2020-11-20 |

| 2 | 3 | 3 | Fetch | 2019-08-16 |

| 3 | 2 | 2 | Scratch | 2018-10-01 |

| 4 | 3 | 3 | Wag | 2020-03-15 |

| 5 | 1 | 1 | Tweet | 2020-11-28 |

| 6 | 3 | 4 | Fluffy | 2020-09-17 |

| 7 | 3 | 2 | Bark | NULL |

| 8 | 2 | 4 | Meow | NULL |

+———+————-+————+————+————+

Этот запрос выбирает все столбцы во всех записях таблицы Pets. Символ звездочка (*) является шаблоном и обозначает, что мы хотим получить все столбцы из таблицы.

Выбираем столбцы по именам

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

SELECT PetId, PetName

FROM Pets;

Результат:

+———+————+

| PetId | PetName |

|———+————|

| 1 | Fluffy |

| 2 | Fetch |

| 3 | Scratch |

| 4 | Wag |

| 5 | Tweet |

| 6 | Fluffy |

| 7 | Bark |

| 8 | Meow |

+———+————+

Фильтруем выборку данных

Чтобы получить только те строки, которые нам нужны, мы можем добавить в запрос оператор WHERE.

SELECT PetId, PetName

FROM Pets

WHERE PetName = ‘Fluffy’;

Результат:

+———+————+

| PetId | PetName |

|———+————|

| 1 | Fluffy |

| 6 | Fluffy |

+———+————+

Вот еще один пример фильтрации выборки. На этот раз мы будем использовать операцию «больше» (>), чтобы получить записи с днем рождения питомца позже определенной даты (DOB, date of birth – дата рождения).

SELECT PetName, DOB

FROM Pets

WHERE DOB > ‘2020-01-01’;

Результат:

+————+————+

| PetName | DOB |

|————+————|

| Fluffy | 2020-11-20 |

| Wag | 2020-03-15 |

| Tweet | 2020-11-28 |

| Fluffy | 2020-09-17 |

+————+————+

Вы можете заменить операцию «больше» на любую другую, например, на «больше либо равно (>=), «меньше» (<) или «меньше либо равно» (<=).

Для получения значений, попадающих в некоторый диапазон, можно использовать оператор BETWEEN (например, день между датой начала и конца интервала).

SELECT

PetName,

DOB

FROM Pets

WHERE DOB BETWEEN ‘2018-01-01’ AND ‘2020-01-01’;

Результат:

+————+————+

| PetName | DOB |

|————+————|

| Fetch | 2019-08-16 |

| Scratch | 2018-10-01 |

+————+————+

Сортировка результатов запроса

Чтобы отсортировать записи, возвращаемые запросом, мы можем добавить в запрос оператор ORDER BY.

  • Сортировка в порядке возрастания.

Чтобы упорядочить данные по возрастанию, применяется оператор ASC что означает «по возрастанию». Этот параметр является стандартным при сортировке, поэтому его указание в запросе необязательно.

SELECT PetId, PetName

FROM Pets

ORDER BY PetName ASC;

или короче

SELECT PetId, PetName

FROM Pets

ORDER BY PetName;

Результат:

+———+————+

| PetId | PetName |

|———+————|

| 7 | Bark |

| 2 | Fetch |

| 1 | Fluffy |

| 6 | Fluffy |

| 8 | Meow |

| 3 | Scratch |

| 5 | Tweet |

| 4 | Wag |

+———+————+

  • Сортировка в порядке убывания.

Для получения результата запроса в порядке убывания нужно использовать ключевое слово DESC.

SELECT PetId, PetName

FROM Pets

ORDER BY PetName DESC;

Результат:

+———+————+

| PetId | PetName |

|———+————|

| 4 | Wag |

| 5 | Tweet |

| 3 | Scratch |

| 8 | Meow |

| 1 | Fluffy |

| 6 | Fluffy |

| 2 | Fetch |

| 7 | Bark |

+———+————+

  • Сортировка по нескольким столбцам.

Чтобы отсортировать записи по нескольким столбцам, их имена нужно перечислить через запятую.

SELECT PetId, PetName

FROM Pets

ORDER BY PetName ASC, PetId ASC;

FROM Pets

ORDER BY PetName ASC, PetId DESC;

Результат:

+———+————+

| PetId | PetName |

|———+————|

| 7 | Bark |

| 2 | Fetch |

| 1 | Fluffy |

| 6 | Fluffy |

| 8 | Meow |

| 3 | Scratch |

| 5 | Tweet |

| 4 | Wag |

+———+————+

(8 rows affected)

+———+————+

| PetId | PetName |

|———+————|

| 7 | Bark |

| 2 | Fetch |

| 6 | Fluffy |

| 1 | Fluffy |

| 8 | Meow |

| 3 | Scratch |

| 5 | Tweet |

| 4 | Wag |

+———+————+

(8 rows affected)

Обратим внимание на то, что порядок размещения записей о животных с именем Fluffy отличается. Это связано с тем, что при выполнении запроса в базе данных сначала идет упорядочивание по имени (PetName), а уже потом по уникальному идентификатору (PetId).

  • Сортировка по скрытым столбцам.

Вы можете отсортировать результат запроса по столбцам, которые не входят в список выборки, расположенный после оператора SELECT.

SELECT PetId, PetName

FROM Pets

ORDER BY DOB DESC;

Результат:

+———+————+

| PetId | PetName |

|———+————|

| 5 | Tweet |

| 1 | Fluffy |

| 6 | Fluffy |

| 4 | Wag |

| 2 | Fetch |

| 3 | Scratch |

| 7 | Bark |

| 8 | Meow |

+———+————+

По этой выборке мы можем сделать вывод, что Tweet – самый младший питомец, а Meow – самый старший, потому что мы отсортировали записи по дате рождения (DOB) в порядке убывания.

Чтобы убедиться давайте, выполним запрос, добавив столбец DOB в список SELECT.

SELECT PetId, PetName, DOB

FROM Pets

ORDER BY DOB DESC;

Результат:

+———+————+————+

| PetId | PetName | DOB |

|———+————+————|

| 5 | Tweet | 2020-11-28 |

| 1 | Fluffy | 2020-11-20 |

| 6 | Fluffy | 2020-09-17 |

| 4 | Wag | 2020-03-15 |

| 2 | Fetch | 2019-08-16 |

| 3 | Scratch | 2018-10-01 |

| 7 | Bark | NULL |

| 8 | Meow | NULL |

+———+————+————+

На основе данных о дате рождения животных Meow и Bark, которые не указаны и представлены как NULL, мы не можем точно определить, кто из них старше. Этот факт подчеркивает, что в базах данных значение NULL считается самым низким по сравнению с другими значениями. Это важно учитывать при формировании запросов.

Часто задаваемые вопросы о SQL

Кому пригодится в работе SQL?

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

Где используется SQL?

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

где используется sql

Какие продукты используют администраторы БД помимо SQL?

  • Oracle Database. Вместе с основным функционалом здесь обеспечена возможность автоматизированного управления серверами и данными. Oracle Database выпускается для Windows, MacOS и Linux.
  • MySQL. Также является продуктом Oracle, но отличается открытостью исходного кода. Система широко применяется крупными корпорациями, в числе которых – Adobe и Google. Также характерной особенностью MySQL является бесплатность использования как для юридических, так и для физических лиц.
  • Microsoft SQL. В данной реляционной СУБД реализована полная совместимость с операционными системами Linux и Windows. Это идеальный вариант для обеспечения работы веб-серверов и функционирования потребительского ПО.
  • Amazon Relational Database Service (RDS). Эта реляционная СУБД работает в облачном режиме и отличается простотой использования и настройки. Реализована возможность бюджетирования облака, безопасности и мониторинга.

Итак, мы разобрали основные особенности SQL: структуру таблиц, запросов и дополнительных средств. В статье даны варианты использования языка, вкратце описаны форматы представления данных и некоторые термины, задействованные в описании этих данных.

Оцените статью
Рейтинг: 5
( голосов 1 )
Поделиться статьей
ТОП-8 кейсов для роста лидов на 30%
Скачать материалы