← К оглавлению занятия

Занятие 01. Введение в базы данных. Первый запрос. Стиль запросов

📁 Блок: SQL / MySQL ⏱️ Время изучения: ~45 мин 🎯 Сложность: Начальная

⚡ Кратко: суть темы

База данных — упорядоченный набор структурированных данных. СУБД управляет этими данными. Реляционная БД состоит из таблиц, которые связаны отношениями. Для получения данных используют SQL-запросы.

  • SELECT — выбрать данные.
  • FROM — указать таблицу.
  • USE — выбрать базу данных на сервере.

Что запомнить: SQL — декларативный язык: вы описываете, какие данные нужны, а СУБД решает, как их получить.

Частая ошибка: писать запросы без точки с запятой или без выбора нужной базы данных.

📖 Что такое базы данных и СУБД

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

СУБД (система управления базами данных) — это специальная система для работы с базами данных. С её помощью можно:

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

Примеры популярных СУБД

  • Oracle Database — занимает значительную долю рынка реляционных баз данных в Европе, особенно в крупных предприятиях и финансовом секторе.
  • Microsoft SQL Server — широко используется в коммерческом секторе, особенно в компаниях, интегрированных с экосистемой Microsoft.
  • MySQL — популярна благодаря открытой лицензии; условно бесплатная СУБД, часто используется в веб-приложениях и малом бизнесе.
  • PostgreSQL — набирает популярность благодаря расширенным возможностям и гибкости; часто используется как альтернатива коммерческим решениям.

📖 Структура базы данных

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

Реляционные базы данных — это базы данных, в которых можно связать информацию из отдельных таблиц воедино благодаря отношениям (relations) между таблицами одной БД.

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

Основные элементы структуры

  • Таблица — основной элемент структуры базы данных. Таблица состоит из строк (записей) и столбцов (полей). Каждая таблица хранит информацию о конкретной сущности: пользователях, заказах, продуктах и т.д.
  • Сущность — набор признаков, относящихся к одному объекту. Например, таблица, хранящая информацию о всех заказах покупателя.
  • Столбцы (поля) — определяют тип данных, который будет храниться в таблице. У каждого столбца есть имя и тип данных. Примеры: id, first_name, price.
  • Строки (записи) — отдельные записи данных в таблице. Каждая строка содержит значения для каждого столбца. Пример строки: (1, 'Иван', 'Иванов', 'ivanov@example.com').
  • Ячейка — значение в таблице, которое можно однозначно определить по строке и столбцу.
  • Выборка — набор данных, полученных в результате запроса SELECT и хранящихся в оперативной памяти.
  • Запрос — команда на SQL, предназначенная для получения или изменения данных или структуры сущностей в базе данных.

📖 Знакомство с SQL

SQL (Structured Query Language) — язык запросов, который используется для взаимодействия с базами данных. SQL позволяет создавать, изменять и удалять базы данных, а также извлекать из них данные.

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

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

📖 Выбор базы данных на сервере

Для работы с конкретной базой данных на сервере используйте команду USE с указанием имени базы:

USE northwind;

📖 Операторы SELECT и FROM

Запросы в SQL пишут с помощью операторов. Операторы — это команды, которые описывают действия над данными: «выбрать», «удалить» или «добавить».

  • SELECT — оператор, с помощью которого описывают, что выгружать из базы.
  • FROM — оператор, с помощью которого описывают, откуда выгружать данные.

Операторы SELECT и FROM — неразлучная пара. Однако запрос с одним оператором SELECT тоже сработает: если указать в SELECT строку или число, оператор выведет её на экран, как функция print в Python.

Чтобы выбрать все столбцы из таблицы без перечисления, используют звёздочку:

SELECT * FROM table_name;

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

📖 Правила стиля

В SQL, как и в Python, есть правила стиля. SQL — язык, нечувствительный к регистру, поэтому SELECT и select работают одинаково. Но на сложных запросах без единого стиля разобраться трудно.

  1. Отделять ключевые слова от названий столбцов и таблиц. Ключевые слова пишут в верхнем регистре, а имена — в нижнем.
  2. Переносить новое имя столбца на другую строку. Так легче понять, какие столбцы будут выгружены.
  3. Любой запрос заканчивается знаком ;.

📖 Подключение к базе данных в DBeaver

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

Способы подключения к серверу в DBeaver:

  • Если подключение уже создано, зайдите на вкладку Home и выберите нужное подключение.
  • Если подключаетесь впервые, нажмите на знак + и введите все необходимые данные.

После подключения в правой части экрана выберите Schemas, чтобы отобразились все базы данных на сервере. Затем выберите базу данных northwind через поиск, нажмите на стрелку рядом с названием и посмотрите, какие таблицы она содержит.

✨ Современные практики

  • Используйте SQL-редакторы с подсветкой синтаксиса и автоформатированием (DBeaver, MySQL Workbench).
  • Сохраняйте часто используемые запросы в файлах или в избранном редактора.
  • Придерживайтесь единого стиля в команде: ключевые слова — заглавными, имена объектов — строчными.