Рефакторинг SQL-запросов
Практически любой разработчик приложений баз данных сталкивается с необходимостью переделки ранее написанных SQL-запросов. При этом обычно преследуются две цели: во-первых – оптимизация времени выполнения запроса, во-вторых – улучшение дизайна запроса. Этот процесс подпадает под определение одной из основных практик экстремального программирования – рефакторинга (улучшения качества кода без изменения его функциональности). Основная масса литературы по рефакторингу посвящена переделке кодов программ, написанных на алгоритмических языках, и касается, как правило, объектно-ориентированных аспектов программирования. Целью данной статьи является попытка описания практики рефакторинга для SELECT-запросов языка SQL.
⤷ Ссылка на статью
Гайды по БД и SQL
Практически любой разработчик приложений баз данных сталкивается с необходимостью переделки ранее написанных SQL-запросов. При этом обычно преследуются две цели: во-первых – оптимизация времени выполнения запроса, во-вторых – улучшение дизайна запроса. Этот процесс подпадает под определение одной из основных практик экстремального программирования – рефакторинга (улучшения качества кода без изменения его функциональности). Основная масса литературы по рефакторингу посвящена переделке кодов программ, написанных на алгоритмических языках, и касается, как правило, объектно-ориентированных аспектов программирования. Целью данной статьи является попытка описания практики рефакторинга для SELECT-запросов языка SQL.
⤷ Ссылка на статью
Гайды по БД и SQL
👍23
ЯЗЫК SQL. БАЗОВЫЙ КУРС УЧЕБНО-ПРАКТИЧЕСКОЕ ПОСОБИЕ (2023)
Автор: Е. П. Моргунов
О книге: Учебное пособие предназначено для студентов и новичков в SQL.
Гайды по БД и SQL
Автор: Е. П. Моргунов
О книге: Учебное пособие предназначено для студентов и новичков в SQL.
Гайды по БД и SQL
👍18🔥8
Параметры конфигурации памяти сервера
Использование памяти для ядра СУБД SQL Server ограничивается парой параметров конфигурации, min server memory (MB) (минимальный объем памяти сервера в МБ) и max server memory (MB) (максимальный объем памяти сервера в МБ). Со временем и в обычных обстоятельствах SQL Server попытается запросить память до предела, установленного параметром max server memory (MB).
⤷ Ссылка на статью
Гайды по БД и SQL
Использование памяти для ядра СУБД SQL Server ограничивается парой параметров конфигурации, min server memory (MB) (минимальный объем памяти сервера в МБ) и max server memory (MB) (максимальный объем памяти сервера в МБ). Со временем и в обычных обстоятельствах SQL Server попытается запросить память до предела, установленного параметром max server memory (MB).
⤷ Ссылка на статью
Гайды по БД и SQL
👍21
Сквозная Аналитика на Azure SQL + dbt + Github Actions + Metabase
За последние годы у меня накопился довольно обширный опыт работы с данными и тем, что сейчас называют Big Data.
Не так давно также разгорелся интерес к сфере интернет-маркетинга и Сквозной Аналитики, и не на пустом месте. Мой друг из действующего агентства снабдил меня данными и кейсами реальных клиентов, и тут понеслось.
Получается довольно интересно: Azure SQL + dbt + Github Actions + Metabase.
⤷ Ссылка на статью
Гайды по БД и SQL
За последние годы у меня накопился довольно обширный опыт работы с данными и тем, что сейчас называют Big Data.
Не так давно также разгорелся интерес к сфере интернет-маркетинга и Сквозной Аналитики, и не на пустом месте. Мой друг из действующего агентства снабдил меня данными и кейсами реальных клиентов, и тут понеслось.
Получается довольно интересно: Azure SQL + dbt + Github Actions + Metabase.
⤷ Ссылка на статью
Гайды по БД и SQL
👍17
Как запускать SQL в Go с максимальным комфортом
Писать SQL руками или использовать ORM — тема очень спорная, и я опишу, как использовать первый подход максимально эффективно. А какой из подходов выбрать, думаю, каждый сам для себя уже решил. Я не буду описывать то, что уже описано в документации, речь пойдёт про использование встроенного пакета для работы с базами данных database/sql и надстройки над этим пакетом под названием sqlx. Также будет пара примеров для работы только с PostgreSQL. Всё описанное ниже хорошо работает в большом проекте, в котором очень активно используется SQL, когда мест, где запускаются запросы, больше 100, к примеру.
⤷ Читать дальше
Гайды по БД и SQL
Писать SQL руками или использовать ORM — тема очень спорная, и я опишу, как использовать первый подход максимально эффективно. А какой из подходов выбрать, думаю, каждый сам для себя уже решил. Я не буду описывать то, что уже описано в документации, речь пойдёт про использование встроенного пакета для работы с базами данных database/sql и надстройки над этим пакетом под названием sqlx. Также будет пара примеров для работы только с PostgreSQL. Всё описанное ниже хорошо работает в большом проекте, в котором очень активно используется SQL, когда мест, где запускаются запросы, больше 100, к примеру.
⤷ Читать дальше
Гайды по БД и SQL
❤19👍1
База данных баз данных
Откройте для себя и узнайте о 900 системах управления базами данных.
⤷ Ссылка
Гайды по БД и SQL
Откройте для себя и узнайте о 900 системах управления базами данных.
⤷ Ссылка
Гайды по БД и SQL
👍20
PostgreSQL под капотом
🔹Часть 0. Старт программы
https://habr.com/ru/articles/701284/
🔹Часть 1. Цикл сервера
https://habr.com/ru/articles/704618/
🔹Часть 2. Подготовка бэкэнда
https://habr.com/ru/articles/707950/
🔹Часть 3. Инициализация бэкэнда
https://habr.com/ru/articles/709404/
🔹Часть 4. Цикл бэкэнда
https://habr.com/ru/articles/714840/
🔹Часть 5. Простой SELECT запрос
https://habr.com/ru/articles/723668/
🔹Часть 6. Сложный SELECT запрос
https://habr.com/ru/articles/736154/
Гайды по БД и SQL
🔹Часть 0. Старт программы
https://habr.com/ru/articles/701284/
🔹Часть 1. Цикл сервера
https://habr.com/ru/articles/704618/
🔹Часть 2. Подготовка бэкэнда
https://habr.com/ru/articles/707950/
🔹Часть 3. Инициализация бэкэнда
https://habr.com/ru/articles/709404/
🔹Часть 4. Цикл бэкэнда
https://habr.com/ru/articles/714840/
🔹Часть 5. Простой SELECT запрос
https://habr.com/ru/articles/723668/
🔹Часть 6. Сложный SELECT запрос
https://habr.com/ru/articles/736154/
Гайды по БД и SQL
👍16❤🔥5
Узнаем сколько всего таблиц в базе данных
При работе с базами данных иногда возникает потребность узнать сколько записей в них содержится на данный момент времени. Причем иногда нужно произвести подсчет абсолютно всех доступных записей, чтобы оценить загрузку той или иной БД, а иногда нужно подсчитать записи, которые соответствуют определенным условиям.
Для той или иной ситуации, чтобы узнать сколько записей в базе данных, можно использовать всего одну функцию COUNT. Функция одна, но использовать ее можно по-разному. Например:
🔹если функцию COUNT использовать в запросе в «чистом» виде без дополнительных условий, тогда можно подсчитать абсолютно все записи в таблице;
🔹функцию COUNT можно использовать совместно с командой WHERE, где в команде WHERE указываются условия, по которым вести подсчет записей в таблице.
Гайды по БД и SQL
При работе с базами данных иногда возникает потребность узнать сколько записей в них содержится на данный момент времени. Причем иногда нужно произвести подсчет абсолютно всех доступных записей, чтобы оценить загрузку той или иной БД, а иногда нужно подсчитать записи, которые соответствуют определенным условиям.
Для той или иной ситуации, чтобы узнать сколько записей в базе данных, можно использовать всего одну функцию COUNT. Функция одна, но использовать ее можно по-разному. Например:
🔹если функцию COUNT использовать в запросе в «чистом» виде без дополнительных условий, тогда можно подсчитать абсолютно все записи в таблице;
🔹функцию COUNT можно использовать совместно с командой WHERE, где в команде WHERE указываются условия, по которым вести подсчет записей в таблице.
Гайды по БД и SQL
👍22
SQL миграции в Postgres
Эта статья посвящена двум более сложным миграциям:
🔹обновление большой таблицы;
🔹разделение таблицы на две;
⤷ Ссылка на статью
Гайды по БД и SQL
Эта статья посвящена двум более сложным миграциям:
🔹обновление большой таблицы;
🔹разделение таблицы на две;
⤷ Ссылка на статью
Гайды по БД и SQL
👍15
Особенности резервного копирования баз данных MS SQL
Резервному копированию баз данных в MS SQL отводится огромное значение. Правильно настроенное, оно поможет уберечь базу данных от повреждений и даже потери. Уделите несколько минут прочтению статьи и напомните (или узнайте) важные аспекты работы по бэкапам, а также как грамотно настроить в MS SQL Server резервное копирование баз данных. Это оградит от многих проблем.
⤷ Читать дальше
Гайды по БД и SQL
Резервному копированию баз данных в MS SQL отводится огромное значение. Правильно настроенное, оно поможет уберечь базу данных от повреждений и даже потери. Уделите несколько минут прочтению статьи и напомните (или узнайте) важные аспекты работы по бэкапам, а также как грамотно настроить в MS SQL Server резервное копирование баз данных. Это оградит от многих проблем.
⤷ Читать дальше
Гайды по БД и SQL
👍15
Откройте для себя SQLAlchemy: руководство для начинающих с примерами
Научитесь получать доступ и выполнять SQL-запросы ко всем типам реляционных баз данных с использованием объектов Python.
⤷ Ссылка на статью
Гайды по БД и SQL
Научитесь получать доступ и выполнять SQL-запросы ко всем типам реляционных баз данных с использованием объектов Python.
⤷ Ссылка на статью
Гайды по БД и SQL
👍20
This media is not supported in your browser
VIEW IN TELEGRAM
DBDiagram — бесплатный и простой инструмент для построения диаграмм связей для баз данных
С его помощью вы сможете напрямую генерировать операторы SQL, при этом делясь результатом с вашими коллегами. У приложения также есть достаточно тесная интеграция с веб-фреймворками, такими как Django, Rails и т.д
Стоимость: бесплатно (но есть платная подписка)
⤷ Ссылка
Гайды по БД и SQL
С его помощью вы сможете напрямую генерировать операторы SQL, при этом делясь результатом с вашими коллегами. У приложения также есть достаточно тесная интеграция с веб-фреймворками, такими как Django, Rails и т.д
Стоимость: бесплатно (но есть платная подписка)
⤷ Ссылка
Гайды по БД и SQL
👍24
Изучаем SQL. Генерация, выборка и обработка данных, 3-издание (2023)
Автор: Алан Болье
О книге: Данная книга отличается широким охватом как тем (от азов SQL до таких сложных вопросов, как аналитические функции и работа с большими базами данных), так и конкретных баз данных (MySQL, OracleDatabase, SQL Server).
Скачать бесплатно
Гайды по БД и SQL
Автор: Алан Болье
О книге: Данная книга отличается широким охватом как тем (от азов SQL до таких сложных вопросов, как аналитические функции и работа с большими базами данных), так и конкретных баз данных (MySQL, OracleDatabase, SQL Server).
Скачать бесплатно
Гайды по БД и SQL
👍14
Новая схема SQL Join-ов
Учу SQL и понимаю, что схема Join-ов основанная на пересекающихся кругах не корректна. Результатом джойнов всегда идет увеличение таблицы в ширь. А по схеме с кругами площадь кругов почти везде не увеличивается. И также круговая схема не показывает заполнение NULL-ами при LEFT и RIGHT джойнах. Предлагаю схему на прямоугольниках, где закрашенный красный это результирующая таблица джойнов, черный это заполнение NULL-ами. Серые прямоугольники оставлены просто для наглядности и ничего не означают.
⤷ Ссылка на статью
Гайды по БД и SQL
Учу SQL и понимаю, что схема Join-ов основанная на пересекающихся кругах не корректна. Результатом джойнов всегда идет увеличение таблицы в ширь. А по схеме с кругами площадь кругов почти везде не увеличивается. И также круговая схема не показывает заполнение NULL-ами при LEFT и RIGHT джойнах. Предлагаю схему на прямоугольниках, где закрашенный красный это результирующая таблица джойнов, черный это заполнение NULL-ами. Серые прямоугольники оставлены просто для наглядности и ничего не означают.
⤷ Ссылка на статью
Гайды по БД и SQL
👍23❤3
Руководство по стилю SQL · SQL Style Guide
Рекомендации, описанные в этом руководстве, во многом пересекаются с описанными в книге Джо Селко «Стиль программирования Джо Селко на SQL» (оригинал: SQL Programming Style). Это, в частности, найдут полезным те, кто уже знаком с этой книгой. Тем не менее автор этого руководства в некоторых аспектах более категоричен, нежели Джо Селко, а в других, напротив, более гибок. И, конечно, нельзя не отметить, что это руководство значительно короче и лаконичнее книги Селко — здесь вы не встретите ни весёлых историй из жизни, наглядно объясняющих, как и почему лучше не делать, ни длинных повествований, мотивирующих на использование той или иной рекомендации.
⤷ Ссылка на статью
Гайды по БД и SQL
Рекомендации, описанные в этом руководстве, во многом пересекаются с описанными в книге Джо Селко «Стиль программирования Джо Селко на SQL» (оригинал: SQL Programming Style). Это, в частности, найдут полезным те, кто уже знаком с этой книгой. Тем не менее автор этого руководства в некоторых аспектах более категоричен, нежели Джо Селко, а в других, напротив, более гибок. И, конечно, нельзя не отметить, что это руководство значительно короче и лаконичнее книги Селко — здесь вы не встретите ни весёлых историй из жизни, наглядно объясняющих, как и почему лучше не делать, ни длинных повествований, мотивирующих на использование той или иной рекомендации.
⤷ Ссылка на статью
Гайды по БД и SQL
👍22❤2
27 распространённых вопросов по SQL с собеседований и ответы на них
Вопросы по SQL на собеседованиях — обычное дело, и чтобы не завалиться, нужно хорошо понимать, как работать с базами данных. В этом списке представлены основные вопросы и задачи по SQL, которые часто встречаются на собеседованиях, а также ответы на них.
⤷ Ссылка на статью
Гайды по БД и SQL
Вопросы по SQL на собеседованиях — обычное дело, и чтобы не завалиться, нужно хорошо понимать, как работать с базами данных. В этом списке представлены основные вопросы и задачи по SQL, которые часто встречаются на собеседованиях, а также ответы на них.
⤷ Ссылка на статью
Гайды по БД и SQL
👍22
5 бесплатных сервисов для практики SQL
Когда вы только начинаете изучать SQL, нужно как можно больше практики. Хорошо, когда есть реальные задачи на работе, на которых можно практиковаться. Но если их нет - то эти бесплатные сервисы помогут получить необходимую практику и улучшить свой уровень.
Кстати, в телеграм канале у меня был пост о том, как выучить SQL быстрее.
⤷ Ссылка на статью
Гайды по БД и SQL
Когда вы только начинаете изучать SQL, нужно как можно больше практики. Хорошо, когда есть реальные задачи на работе, на которых можно практиковаться. Но если их нет - то эти бесплатные сервисы помогут получить необходимую практику и улучшить свой уровень.
Кстати, в телеграм канале у меня был пост о том, как выучить SQL быстрее.
⤷ Ссылка на статью
Гайды по БД и SQL
👍18🔥3
Вопрос с собеседования Amazon
Напишите запрос, который будет идентифицировать возвращающихся активных пользователей. Вернувшийся активный пользователь — это пользователь, совершивший вторую покупку в течение 7 дней после любой другой покупки. Выведите список user_id этих вернувшихся активных пользователей.
Напишите запрос, который будет идентифицировать возвращающихся активных пользователей. Вернувшийся активный пользователь — это пользователь, совершивший вторую покупку в течение 7 дней после любой другой покупки. Выведите список user_id этих вернувшихся активных пользователей.
amazon_transactions
id:int
user_id:int
item:varchar
created_at:datetime
revenue:int
Ответ:SELECT
DISTINCT(a.user_id)
FROM amazon_transactions a
JOIN amazon_transactions b
ON a.user_id = b.user_id
WHERE a.created_at - b.created_at BETWEEN 0 AND 7
AND a.id != b.id
Гайды по БД и SQL👍25
Основы SQL (видеокурс)
🔹 Введение
🔹 Нормализация
🔹 Редактирование таблиц
🔹 Триггеры
🔹 Транзакции
Гайды по БД и SQL
🔹 Введение
🔹 Нормализация
🔹 Редактирование таблиц
🔹 Триггеры
🔹 Транзакции
Гайды по БД и SQL
👍12🔥2