SQL задачи
9.99K subscribers
215 photos
175 links
SQL задачи для подготовки к собеседованию.

SQL тесты для проверки знаний.

№ 5635948084

SQL запросы к конкретной Базе данных с решением и разбором

По вопросам рекламы: @anothertechrock
Download Telegram
Задачка по нашей базе данных, которая находится в шапке канала.
Код генерации базы данных и INSERT данных по ссылке ТУТ.

ВОПРОС:
Какой запрос вернёт строки из customer, где в фамилии
(last_name) присутствуют цифры?

Ответ под спойлером, но если хотите сперва проверить свою догадку, следующим постом опубликуем тест с вариантами ответов.

Правильный ответ ⤵️

SELECT * FROM customer WHERE REGEXP_LIKE(last_name, '[0-9]');

Если вам понравился вопрос - зашарьте его друзьям 👉 SQLQuestions
Please open Telegram to view this post
VIEW IN TELEGRAM
🧾 Чек-лист. Основные этапы создания Корпоративного Хранилища данных

В зависимости от компании, подход к созданию КХД может различаться: одни видят его как монолитную систему, другие — как распределенную архитектуру. Мы под КХД будем понимать как ядровую БД, так и все дополнительные инструменты для переливки информации, базы данных, BI, утилиты для мониторинга и алертинга и многое другое.

1. Определение целей и задач
Рекомендуется не отталкиваться от технических возможностей, а начинать с бизнес-контекста.

- Четко сформулируйте цели хранилища (аналитика, отчетность, оптимизация процессов и т.д.)
- Определите ключевых заинтересованных лиц (stakeholders) и их ожидания
- Изучите нюансы бизнеса

2. Анализ источников данных
В зависимости от свойств источника происходит различная работа по “вытаскиванию” необходимой информации. Активный/пассивный, имеющий дубли и вложенность хранения, типизация и эволюция схемы, а также многое другое.

- Проведите инвентаризацию всех источников данных (CRM, ERP, веб-приложения, файлы, БД, API и т.д.)
- Определите форматы данных (структурированные, неструктурированные)
- Выясните объем и частоту обновления данных и т.д.

3. Определение архитектуры хранилища
Самый сложный и важный этап.

- Выберите подход (ETL или ELT)
- Решите, будет ли хранилище on-premise, облачным или гибридным
- Определите слои хранилища: staging (сырые данные), ODS (операционные данные), DWH (исторические данные)
- Обозначьте, где будут содержаться витрины данных и “сырая” информация
- Уточните, как будет предоставляться информация конечным пользователям и т.д.

4. Выбор технологий
- Определите, нужны ли вам БД отдельно для OLAP и OLTP?
- Выберите СУБД (Greenplum, Snowflake, PosgtreSQL, ClickHouse и т.д.)
- Подберите инструменты интеграции данных (Apache NiFi, Dagster, Airflow)
- Подумайте о Вl-инструментах (Tableau, Superset, Looker)
- А так же не забывайте об инструментах мониторинга, бекапирования и алертинга

5. Проектирование модели данных
- Определите уровень нормализации данных (3NF, звездная или снежинка — или более продвинутые, Data Vault)
- Создайте ЕR-диаграммы и схемы таблиц
- Проработайте “узкие места” и слепые зоны, подумайте о связи модели данных и пользовательских ролей и доступов

6. Реализация ETL/ELT процессов
- Настройте коннекторы к источникам данных
- Создайте пайплайны для извлечения, трансформации и загрузки данных
- Автоматизируйте обновление данных

7. Управление качеством данных
- Внедрите процессы проверки данных (data validation)
- Реализуйте контроль на дубликаты, пропуски и несоответствия форматов

8. Обеспечение безопасности
- Настройте роли и права доступа. Подумайте о внедрении Active Directory для унифицирования доступа ко всем текущим инструментам
- Реализуйте шифрование данных (в покое и в процессе передачи)
- Подготовьте план аварийного восстановления

9. Тестирование и валидация
- Проведите нагрузочное тестирование (stress test)
- Убедитесь в корректности обработки данных на всех этапах
- Проверьте интеграцию с BI и всеми другими инструментами

10. Документация и обучение
- Подготовьте документацию: схемы данных, описания ETL-процессов, инструкции для пользователей
- Изучите представленные на рынке инструменты для автоматизации сбора документации
- Проведите обучение сотрудников, которые будут работать с хранилищем

11. Запуск и эксплуатация
Убедитесь, что у вас настроены как минимум области DEV, Stage, Prom
Подготовьтесь к автоматизированной раскатке в production
Настройте мониторинг производительности
Определите процессы для обновления, расширения и поддержки хранилища

12. Постоянное улучшение
- Анализируйте обратную связь от пользователей
- Оптимизируйте процессы обработки данных
- Добавляйте новые источники данных по мере необходимости

Для системного обучения рекомендуем профессиональный курс по DWH от Otus, где вы получите хорошую базу и практику.

➡️ Регистрируйтесь прямо сейчас, чтобы воспользоваться 10% скидкой на курс и учиться  по 🏖 летним ценам! Условия актуальны только до 31.07.2025: https://vk.cc/cNXxOB

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
👍5
Что вернет следующий SQL-запрос?

SELECT DISTINCT SUBSTRING_INDEX(email, '@', -1) AS domain
FROM customer;


Схема БД и код для генерации данных находятся в шапке канала.

Запрос не выдает число или конкретную категорию. Просто опишите результат своими словами в комментариях. А для тех, кто предпочитает тесты, опубликуем тест с вариантами ответа в следующем посте.

Если вам понравился вопрос - зашарьте его друзьям 👉 SQLQuestions