October 20, 2025
Базы данных
🔹 Реляционные базы данных (RDB)
1️⃣ Что такое реляционная база данных
- Определение: база данных, где данные хранятся в таблицах, связанные между собой через ключи.
- Основные возможности: гибкие сложные запросы к нескольким таблицам одновременно.
3️⃣ Первичный и внешний ключи
5️⃣ Нормализация
- Разделение таблицы на несколько, чтобы:
- Исключить дублирование данных
- Присвоить уникальные ключи для каждой записи
- Обновления происходили только один раз
- Нормальные формы: 1NF → 2NF → 3NF → … → 6NF
Пример: таблица подрядчиков и клиентов разбита так, чтобы изменения телефона вносились только один раз.
🔹 SQL (Structured Query Language)
1️⃣ Определение
Важно: SQL — декларативный язык: вы описываете, что хотите получить, а не как это реализовать.
3️⃣ Основные операции SQL
- INSERT — добавить запись
- UPDATE — изменить запись
- DELETE — удалить запись
- SELECT — выбрать данные
- ORDER BY — сортировка
- DISTINCT — уникальные значения
- COUNT, SUM — агрегатные функции
- LIMIT — ограничение числа результатов
- JOIN — объединение таблиц
4️⃣ Примеры запросов
4.1 Таблица Users
-- Вывести всех пользователей с именем "Олег", сортировка по id SELECT * FROM Users WHERE name = 'Олег' ORDER BY id;
4.2 Таблица Orders
-- Посчитать количество заказов с оплатой "online" SELECT COUNT(*) FROM Orders WHERE payment = 'online';
4.3 JOIN с условиями
-- Выбрать все заказы пользователей из города "Saratov"
-- Вариант с JOIN
SELECT o.*
FROM Orders o
JOIN Users u ON o.user_id = u.id
WHERE u.city = 'Saratov';
-- Вариант с вложенным SELECT
SELECT * FROM Orders
WHERE user_id IN (
SELECT id FROM Users WHERE city = 'Saratov'
);
4.4 Соединение трёх таблиц
SELECT * FROM Orders o JOIN Users u ON o.user_id = u.id JOIN Products p ON o.product_id = p.id;
5️⃣ Практика
- Использовать Postman, DBeaver или аналогичные инструменты.
- Создать локальную БД и таблицы Users и Orders, заполнить тестовыми данными.
- Пробовать все виды запросов, включая JOIN, агрегатные функции и фильтры.