SQL Stroy Analytics

Итоговый SQL-проект по PostgreSQL на основе учебной базы данных stroy: аналитические запросы, оконные функции, рекурсивные CTE, работа с массивами и создание материализованного представления.

О проекте

SQL Stroy Analytics — проект, в котором решается 10 аналитических задач по учебной базе данных строительной и проектной компании.

В работе используются данные:

– о проектах и платежах;

– о сотрудниках и их окладах;

– о контрагентах и адресах;

– об организационной структуре;

– о руководителях проектов;

– о типах выполняемых работ.

Итоговый результат проекта — единый SQL-файл с решениями всех заданий.

Моя роль

В рамках проекта я:

– проанализировала структуру базы данных stroy;

– определила таблицы и связи, необходимые для каждого задания;

– подготовила SQL-запросы разного уровня сложности;

– использовала агрегаты, подзапросы, CTE и оконные функции;

– применила рекурсивный CTE для работы с иерархией подразделений;

– рассчитала накопительный итог и скользящее среднее;

– сформировала материализованное представление для итогового отчёта;

– оформила решения в единый .sql-файл.

Основные артефакты

Какие задачи решались

1. Подсчёт проектов, подписанных в 2023 году. 2. Расчёт общего возраста сотрудников, нанятых в 2022 году. 3. Поиск сотрудника по условиям на фамилию и длительность работы. 4. Средний возраст уволенных сотрудников, не задействованных на проектах. 5. Сумма фактически полученных платежей от контрагентов из Жуковского, Россия. 6. Руководитель проекта с максимальным бонусом от завершённых проектов. 7. Дата превышения накопительной суммы плановых авансовых платежей значения 30 000 000. 8. Сумма фактических окладов сотрудников подразделения и всех дочерних подразделений через рекурсию. 9. Комплексный запрос с нумерацией платежей, скользящим средним и сравнением агрегатов. 10. Материализованное представление для отчёта по проектам, оплатам, руководителям, контрагентам и типам работ.

Что демонстрирует проект

– владение PostgreSQL и аналитическим SQL; – понимание связей между таблицами в предметной базе данных; – использование CTE и рекурсивных CTE; – применение оконных функций `row\_number`, `lag`, `sum() over`, `avg() over`; – работу с массивами через `any`; – расчёт накопительных итогов и скользящих средних; – создание материализованных представлений; – умение оформлять воспроизводимое итоговое SQL-решение в одном файле.