Урок 1.4: Обзор SQL
Что такое SQL?
SQL (Structured Query Language) — это язык, используемый для управления и манипулирования данными в системах управления реляционными базами данных (СУРБД). Он предоставляет мощный и гибкий способ взаимодействия с базами данных, позволяя пользователям выполнять различные операции, такие как запросы, вставка, обновление и удаление данных.
SQL был разработан в начале 1970-х годов компанией IBM и с тех пор стал фактическим стандартом для управления реляционными базами данных. Он широко используется в различных отраслях и приложениях, что делает его важным навыком для аналитиков данных, разработчиков и администраторов баз данных.
SQL разработан, чтобы быть легким в изучении и использовании, с синтаксисом, который является одновременно читаемым для человека и машиночитаемым. Он позволяет пользователям выражать сложные запросы и операции простым способом, делая его доступным как для технических, так и для нетехнических пользователей.
Ключевые особенности SQL
- Декларативный язык: SQL — это декларативный язык, что означает, что пользователи указывают, что они хотят получить или изменить, не детализируя, как это сделать. Эта абстракция упрощает написание и оптимизацию запросов.
- Операции на основе множеств: SQL работает с наборами данных, а не с отдельными записями, что обеспечивает эффективную обработку больших наборов данных.
Подмножества SQL
SQL разделен на несколько подмножеств, каждое из которых служит определенной цели:
- Язык запросов данных (DQL): Используется для запроса данных из баз данных. Основная команда — SELECT.
- Язык определения данных (DDL): Используется для определения и управления структурами баз данных. Команды включают CREATE, ALTER и DROP.
- Язык манипулирования данными (DML): Используется для манипулирования данными в базе данных. Команды включают INSERT, UPDATE и DELETE.
- Язык управления данными (DCL): Используется для контроля доступа к данным в базе данных. Команды включают GRANT и REVOKE.
- Язык управления транзакциями (TCL): Используется для управления транзакциями в базе данных. Команды включают COMMIT, ROLLBACK и SAVEPOINT.
Объекты SQL
SQL оперирует различными объектами в базе данных, включая:
- Таблицы: Основная структура для хранения данных в реляционной базе данных. Таблицы состоят из строк и столбцов, где каждая строка представляет запись, а каждый столбец представляет атрибут этой записи.
- Представления: Виртуальные таблицы, которые предоставляют способ представления данных из одной или нескольких таблиц в определенном формате. Представления могут упростить сложные запросы и повысить безопасность, ограничивая доступ к определенным данным.
- Индексы: Структуры, которые улучшают скорость операций извлечения данных в таблице базы данных. Индексы создаются на одном или нескольких столбцах таблицы для повышения производительности запросов.
- Хранимые процедуры: Предопределенный код SQL, который можно выполнить как единое целое. Хранимые процедуры могут инкапсулировать сложную логику и повысить производительность за счет уменьшения сетевого трафика.
- Триггеры: Специальные типы хранимых процедур, которые автоматически выполняются в ответ на определенные события в таблице, такие как операции INSERT, UPDATE или DELETE. Триггеры могут обеспечивать соблюдение бизнес-правил и поддерживать целостность данных.
- Схемы: Логические контейнеры для объектов базы данных, таких как таблицы, представления и индексы. Схемы помогают организовывать и управлять объектами базы данных, предоставляя способ группировать связанные объекты вместе.
- Ограничения: Правила, применяемые к столбцам таблицы для обеспечения целостности данных. Общие ограничения включают PRIMARY KEY, FOREIGN KEY, UNIQUE, NOT NULL и CHECK.
- Транзакции: Последовательность одной или нескольких операций SQL, которые рассматриваются как единое целое. Транзакции обеспечивают целостность и согласованность данных, позволяя выполнять фиксацию или откат нескольких операций как группы.
- Типы данных: Определяют тип данных, которые могут храниться в столбце, такие как INTEGER, VARCHAR, DATE и BOOLEAN. Типы данных гарантируют, что данные, хранящиеся в таблице, являются согласованными и действительными.
Основные соглашения SQL
Единицей SQL является запрос. Запрос — это обращение к СУБД на извлечение или изменение данных.
Основная структура SQL-запроса состоит из следующих компонентов:
- Операторы: Зарезервированные слова, которые имеют определенное значение в SQL. Примеры включают SELECT, FROM, WHERE и JOIN.
- Предложения: Компоненты оператора SQL, которые указывают действие, которое необходимо выполнить. Общие предложения включают SELECT, FROM, WHERE, GROUP BY и ORDER BY.
- Выражения: Комбинации значений, операторов и функций, которые вычисляются в одно значение. Выражения можно использовать в различных частях оператора SQL, таких как список SELECT или предложение WHERE.
- Идентификаторы: Имена, используемые для ссылки на объекты базы данных, такие как таблицы, столбцы и представления. Идентификаторы могут быть простыми (например, table_name) или квалифицированными (например, schema_name.table_name).
- Комментарии: Неисполняемый текст в коде SQL, который содержит пояснения или примечания. Комментарии могут быть однострочными (с использованием --) или многострочными (с использованием / ... /).
Написание вашего первого SQL-запроса
Базовый SQL-запрос состоит из оператора SELECT, предложения FROM и необязательного предложения WHERE. Например:
SELECT column1, column2
FROM table_name
WHERE condition;