О чем этот курс
Этот практический курс помогает уверенно войти в мир реляционных баз данных и SQL без глубокого технического бэкграунда. Пошагово разберём таблицы, ключи и связи, научимся писать запросы SELECT с фильтрацией, сортировкой, группировкой и соединениями, затронем подзапросы, операции изменения данных и индексы.
Мы будем учиться на жизненных сценариях: интернет‑магазин и CRM. Вы построите модель данных, наполните её примерами и сформируете аналитические отчёты: выручка по клиентам, конверсия лидов, ABC‑анализ товаров и многое другое.

В конце курса вы спроектируете собственную БД и подготовите пакет аналитических SQL‑запросов, который можно показать в портфолио. Подойдёт для начинающих аналитиков, продакт‑менеджеров, маркетологов и разработчиков, которые хотят быстро обрести практические навыки работы с данными.
Пример запроса, который вы научитесь уверенно писать:
SELECT c.name,
SUM(oi.quantity * oi.price) AS revenue
FROM orders o
JOIN customers c ON c.id = o.customer_id
JOIN order_items oi ON oi.order_id = o.id
WHERE o.status = 'paid'
AND o.order_date >= '2025-01-01'
GROUP BY c.name
HAVING SUM(oi.quantity * oi.price) > 10000
ORDER BY revenue DESC;
Мы рассмотрим, как проектировать структуру базы данных, чтобы избежать дублирования, и как выбирать типы данных и индексы для ускорения отчётов. Ниже — ориентировочные схемы будущих проектов:
erDiagram
CUSTOMERS {
int id PK
string name
string email
datetime created_at
}
ORDERS {
int id PK
int customer_id FK
date order_date
string status
float total_amount
}
ORDER_ITEMS {
int order_id FK
int product_id FK
int quantity
float price
}
PRODUCTS {
int id PK
string name
string sku
int category_id FK
float price
}
CATEGORIES {
int id PK
string name
int parent_id FK nullable
}
PAYMENTS {
int id PK
int order_id FK
string method
float amount
datetime paid_at
}
INVENTORY {
int product_id PK FK
int stock
}
CUSTOMERS ||--o{ ORDERS : places
ORDERS ||--o{ ORDER_ITEMS : contains
PRODUCTS ||--o{ ORDER_ITEMS : included_in
CATEGORIES ||--o{ PRODUCTS : classifies
CATEGORIES ||--o{ CATEGORIES : parent_of
ORDERS ||--o{ PAYMENTS : paid_with
PRODUCTS ||--|| INVENTORY : tracked_in
erDiagram
USERS {
int id PK
string name
string email
string role
}
COMPANIES {
int id PK
string name
string industry
}
CONTACTS {
int id PK
int company_id FK
string name
string email
string phone
}
LEADS {
int id PK
string source
string status
datetime created_at
int converted_contact_id FK nullable
}
DEALS {
int id PK
int company_id FK
int contact_id FK
int owner_id FK
string stage
decimal amount
datetime created_at
datetime closed_at nullable
}
ACTIVITIES {
int id PK
int deal_id FK nullable
int contact_id FK nullable
int owner_id FK
string type
date due_date
string status
}
COMPANIES ||--o{ CONTACTS : employs
COMPANIES ||--o{ DEALS : related_to
CONTACTS ||--o{ DEALS : participates_in
USERS ||--o{ DEALS : owns
USERS ||--o{ ACTIVITIES : assigned
CONTACTS ||--o{ ACTIVITIES : interacts
DEALS ||--o{ ACTIVITIES : tracked_by
CONTACTS ||--o{ LEADS : potential
LEADS }o--|| CONTACTS : converts_to
После основ вы закрепите знания в практикуме: создадите таблицы, загрузите тестовые данные и напишете аналитические запросы. Визуально мы будем опираться на понятные метафоры интерфейсов магазина и CRM, чтобы каждый шаг ощущался как реальная задача из работы.

Оглавление
-
Что такое реляционная модель: таблицы, строки и столбцы
-
Типы данных, NULL и базовые ограничения
-
Перетащи понятия к определениям
-
Тест: выбор типов данных и работа с NULL
-
Мини-проектирование: какие столбцы нужны?
-
Практика SQL: создаем таблицы для магазина и CRM
-
Тест с одним ответом: ключи и уникальность
-
Рефлексия: почему выбор типа данных важен
- Ключи и связи: первичные/внешние ключи, ограничения целостности
- SELECT, WHERE и ORDER BY: базовые выборки и фильтрация
- JOIN на практике: INNER, LEFT, RIGHT, FULL и условия соединения
- Агрегаты, GROUP BY и HAVING: сводные отчёты без боли
- Подзапросы (и CTE как бонус): где и когда их применять
- Изменение данных: INSERT, UPDATE, DELETE и безопасные практики
- Индексы и производительность: как ускорить запросы
- Проектирование БД: нормализация, ER‑диаграммы и типовые паттерны
- Практикум и итог: магазин + CRM, аналитические запросы и мини‑проект
-
Сертификат



