🗿➡️☕ От монолита к микросервисам: как металлурги переходят с Oracle и SQL на Java-стек
https://proglib.io/p/ot-monolita-k-mikroservisam-kak-metallurgi-perehodyat-s-oracle-i-sql-na-java-stek-2022-08-18
@sqlhub
https://proglib.io/p/ot-monolita-k-mikroservisam-kak-metallurgi-perehodyat-s-oracle-i-sql-na-java-stek-2022-08-18
@sqlhub
Библиотека программиста
🗿➡️☕ От монолита к микросервисам: как металлурги переходят с Oracle и SQL на Java-стек
Поддерживать старый код или шагнуть в продвинутое настоящее? Сложно, но можно, если все рассчитать. История перехода металлургического комбината на современный стек.
🔥7
🔔 Что такое триггеры в SQL
Триггер — это особая разновидность хранимой процедуры, которая автоматически выполняется при возникновении события на сервере базы данных.
Общие сведения
Итак, разберем такую сущность SQL как триггеры. Также как представления и процедуры — триггеры в SQL создаются и хранятся отдельно до момента их удаления. Триггеры по своей сути представляют обработчики событий. Они выполняются при наступлении какого-либо простого действия в SQL. Такими действиями обычно являются: удаление, вставка и обновление данных.
То есть, триггер — это по сути ловушка, которая срабатывает при определенном действии. Триггер позволяет автоматизировать некоторые расчетные рутинные действия. Примеры мы разберем дальше
➡️ Читать дальше
@sqlhub
Триггер — это особая разновидность хранимой процедуры, которая автоматически выполняется при возникновении события на сервере базы данных.
Общие сведения
Итак, разберем такую сущность SQL как триггеры. Также как представления и процедуры — триггеры в SQL создаются и хранятся отдельно до момента их удаления. Триггеры по своей сути представляют обработчики событий. Они выполняются при наступлении какого-либо простого действия в SQL. Такими действиями обычно являются: удаление, вставка и обновление данных.
То есть, триггер — это по сути ловушка, которая срабатывает при определенном действии. Триггер позволяет автоматизировать некоторые расчетные рутинные действия. Примеры мы разберем дальше
➡️ Читать дальше
@sqlhub
🔥10👍2👏1
Какое выражение истинно в SQL?
Anonymous Quiz
30%
NULL = NULL
19%
NULL != NULL
2%
NULL > NULL
33%
Ничего из перечисленного
16%
Посмотреть ответы
❤9👍3🤔2
🦾 Встроенная база данных Python
Если вы разработчик программного обеспечения, то, скорее всего, вы знакомы с невероятно легкой базой данных SQLite или даже уже использовали ее. Она содержит практически все функции реляционной базы данных и представлена всего одним файлом. На официальном сайте можно найти несколько сценариев применения SQLite:
- встроенные устройства и интернет вещей;
- анализ данных;
- передача данных;
- архив файлов и/или контейнер данных;
- внутренние или временные базы данных;
- замена корпоративной базы данных в период демо-версий или тестирования;
- обучение и тестирование;
- экспериментальные расширения языка SQL.
➡️ Читать дальше
@sqlhub
Если вы разработчик программного обеспечения, то, скорее всего, вы знакомы с невероятно легкой базой данных SQLite или даже уже использовали ее. Она содержит практически все функции реляционной базы данных и представлена всего одним файлом. На официальном сайте можно найти несколько сценариев применения SQLite:
- встроенные устройства и интернет вещей;
- анализ данных;
- передача данных;
- архив файлов и/или контейнер данных;
- внутренние или временные базы данных;
- замена корпоративной базы данных в период демо-версий или тестирования;
- обучение и тестирование;
- экспериментальные расширения языка SQL.
➡️ Читать дальше
@sqlhub
🔥7👍4
Видео дня. Соединения таблиц без JOIN.
Содержание:
1. Как соединять таблицы в запросах в блоке WHERE.
2. ANSI и не ANSI стандарты
3. Плюсы и минусы этих способов
Ссылка на Youtube
@sqlhub
Содержание:
1. Как соединять таблицы в запросах в блоке WHERE.
2. ANSI и не ANSI стандарты
3. Плюсы и минусы этих способов
Ссылка на Youtube
@sqlhub
YouTube
Соединения таблиц в SQL-запросах во WHERE, без джоинов (SELECT без JOIN) Плюсы и минусы/ Илья Хохлов
Соединения таблиц в SQL запросах без джоинов. Плюсы и минусы. Как соединять таблицы в запросах в блоке WHERE. ANSI и не ANSI стандарты соединений. Плюсы и минусы каждого способа. Как составлять запросы правильно.
Полный курс обучения SQL, базам данных и…
Полный курс обучения SQL, базам данных и…
👍12🔥2👎1
data_analysis_ml - аналитика данных, data science, sql
machinelearning_interview - канал подготовит к собеседованию по машинному обучению, статисике ,алгоритмам и науке о данных.
golang_interview - Вопросы с настоящих Golang собеседований, помогут Вам получить успешно пройти интервью.
python_job_interview - здесь собраны все возможные вопросы и ответы с собеседований по Python.
machinelearning_interview - канал подготовит к собеседованию по машинному обучению, статисике ,алгоритмам и науке о данных.
golang_interview - Вопросы с настоящих Golang собеседований, помогут Вам получить успешно пройти интервью.
python_job_interview - здесь собраны все возможные вопросы и ответы с собеседований по Python.
🔥8👍4❤1👏1🤯1
Обзор Prisma ORM — инструмента для работы с Node.js и TypeScript
Рассказываем, как работать с Prisma ORM. Это инструмент, который позволяет работать с базами данных SQL-типа на языках JS и TS.
https://tproger.ru/articles/obzor-prisma-orm-instrumenta-dlja-raboty-s-node-js-i-typescript/
@sqlhub
Рассказываем, как работать с Prisma ORM. Это инструмент, который позволяет работать с базами данных SQL-типа на языках JS и TS.
https://tproger.ru/articles/obzor-prisma-orm-instrumenta-dlja-raboty-s-node-js-i-typescript/
@sqlhub
Tproger
Подружить Node.js и TypeScript: обзор библиотеки Prisma ORM
Рассказываем, как работать с Prisma ORM. Это инструмент, который позволяет работать с базами данных SQL-типа на языках JS и TS.
🔥1
⚙️ MySQL разбор функции FIELD
Определение и использование
Функция FIELD() возвращает индексную позицию значения в списке значений.
Эта функция выполняет поиск без учета регистра.
Примечание: Если указанное значение не найдено в списке значений, то эта функция вернет 0. Если значение равно NULL, то эта функция вернет 0.
➡️ Читать дальше
@sqlhub
Определение и использование
Функция FIELD() возвращает индексную позицию значения в списке значений.
Эта функция выполняет поиск без учета регистра.
Примечание: Если указанное значение не найдено в списке значений, то эта функция вернет 0. Если значение равно NULL, то эта функция вернет 0.
➡️ Читать дальше
@sqlhub
👍8
💼 Руководство по архитектуре обработки запросов
Компонент Компонент SQL Server Database Engine обрабатывает запросы к различным архитектурам хранения данных, таким как локальные таблицы, секционированные таблицы и таблицы, распределенные по нескольким серверам. В следующих разделах описано, как SQL Server обрабатывает запросы и оптимизирует повторное использование запросов с помощью кэширования плана выполнения.
Режимы выполнения
Компонент SQL Server Database Engine может обрабатывать инструкции Transact-SQL в двух разных режимах:
выполнение в построчном режиме;
выполнение в пакетном режиме.
➡️ Читать дальше
@sqlhub
Компонент Компонент SQL Server Database Engine обрабатывает запросы к различным архитектурам хранения данных, таким как локальные таблицы, секционированные таблицы и таблицы, распределенные по нескольким серверам. В следующих разделах описано, как SQL Server обрабатывает запросы и оптимизирует повторное использование запросов с помощью кэширования плана выполнения.
Режимы выполнения
Компонент SQL Server Database Engine может обрабатывать инструкции Transact-SQL в двух разных режимах:
выполнение в построчном режиме;
выполнение в пакетном режиме.
➡️ Читать дальше
@sqlhub
👍7
Как сделать Case Sensitive сравнение в MySQL. Решение
Небинарные строки (CHAR, VARCHAR, TEXT) в MySQL по умолчанию не чувствительны к регистру. Поэтому запрос
Для вывода только одной записи с ‘SPG’ существуют следующие решения:
1. Приведение столбца к типу
2. Выбор чувствительного к регистру набора символов с помощью
Детальную документацию смотрите здесь.
#tips
@sqlhub
Небинарные строки (CHAR, VARCHAR, TEXT) в MySQL по умолчанию не чувствительны к регистру. Поэтому запрос
SELECT * FROM enterprise WHERE company = ‘SPG‘
выведет все три строки. Для вывода только одной записи с ‘SPG’ существуют следующие решения:
1. Приведение столбца к типу
BINARY
(т.к. тип BINARY чувствителен к регистру): SELECT * FROM enterprise WHERE BINARY company = ‘SPG‘;
2. Выбор чувствительного к регистру набора символов с помощью
COLLATE
:SELECT * FROM enterprise WHERE company COLLATE utf8mb4_0900_as_cs = ‘SPG‘;
Детальную документацию смотрите здесь.
#tips
@sqlhub
❤6👍1🔥1
Выберите корректно составленный запрос с функцией GROUP BY:
Anonymous Quiz
4%
select count(*) from Orders GROUP seller_id;
4%
select seller_id, count(*) from Orders GROUP seller_id;
90%
select seller_id, count(*) from Orders GROUP BY seller_id;
2%
select count(*) from Orders GROUP ON seller_id;
👍11👎2🤔2
SQL запросы быстро. Шпаргалка Часть 1.
Язык SQL очень прочно влился в жизнь бизнес-аналитиков и требования к кандидатам благодаря простоте, удобству и распространенности. Из собственного опыта могу сказать, что наиболее часто SQL используется для формирования выгрузок, витрин (с последующим построением отчетов на основе этих витрин) и администрирования баз данных. И поскольку повседневная работа аналитика неизбежно связана с выгрузками данных и витринами, навык написания SQL запросов может стать фактором, из-за которого кандидат или получит преимущество, или будет отсеян. Печальная новость в том, что не каждый может рассчитывать получить его на студенческой скамье. Хорошая новость в том, что в изучении SQL нет ничего сложного, это быстро, а синтаксис запросов прост и понятен. Особенно это касается тех, кому уже доводилось сталкиваться с более сложными языками.
Обучение SQL запросам я разделил на три части. Эта часть посвящена базовому синтаксису, который используется в 80-90% случаев. Следующие две части будут посвящены подзапросам, Join’ам и специальным операторам. Цель гайдов: быстро и на практике отработать синтаксис SQL, чтобы добавить его к арсеналу навыков.
➡️ Читать дальше
@sqlhub
Язык SQL очень прочно влился в жизнь бизнес-аналитиков и требования к кандидатам благодаря простоте, удобству и распространенности. Из собственного опыта могу сказать, что наиболее часто SQL используется для формирования выгрузок, витрин (с последующим построением отчетов на основе этих витрин) и администрирования баз данных. И поскольку повседневная работа аналитика неизбежно связана с выгрузками данных и витринами, навык написания SQL запросов может стать фактором, из-за которого кандидат или получит преимущество, или будет отсеян. Печальная новость в том, что не каждый может рассчитывать получить его на студенческой скамье. Хорошая новость в том, что в изучении SQL нет ничего сложного, это быстро, а синтаксис запросов прост и понятен. Особенно это касается тех, кому уже доводилось сталкиваться с более сложными языками.
Обучение SQL запросам я разделил на три части. Эта часть посвящена базовому синтаксису, который используется в 80-90% случаев. Следующие две части будут посвящены подзапросам, Join’ам и специальным операторам. Цель гайдов: быстро и на практике отработать синтаксис SQL, чтобы добавить его к арсеналу навыков.
➡️ Читать дальше
@sqlhub
👍12🔥1
💻 Экспериментируем с пользовательскими функциями JavaScript на Trino
Trino — это быстрый дистрибутивный механизм SQL-запросов, предназначенный для аналитики больших данных. Он позволяет подключаться ко всем данным и запрашивать их в полном объеме без необходимости копировать их в унифицированную систему хранения.
➡️ Читать дальше
⚙️ Trino
@sqlhub
Trino — это быстрый дистрибутивный механизм SQL-запросов, предназначенный для аналитики больших данных. Он позволяет подключаться ко всем данным и запрашивать их в полном объеме без необходимости копировать их в унифицированную систему хранения.
➡️ Читать дальше
⚙️ Trino
@sqlhub
🔥5
📖 Алекс Кригель и др. "SQL. Библия пользователя"
Книга уникальна тем, что в каждой главе приводится сравнение реализаций тех или иных запросов на диалектах трех ведущих СУБД. Благодаря этому она представляет собой исчерпывающий и практичный справочник по языку SQL для разработчиков от новичков до профессионалов.
📕 Книга
@sqlhub
Книга уникальна тем, что в каждой главе приводится сравнение реализаций тех или иных запросов на диалектах трех ведущих СУБД. Благодаря этому она представляет собой исчерпывающий и практичный справочник по языку SQL для разработчиков от новичков до профессионалов.
📕 Книга
@sqlhub
👍7😁1
⚙️ Хранимые процедуры SQL
Нередко операция с данными представляет набор инструкций, которые необходимо выполнить в определенной последовательности. Например, при добавлении данных покупки товара необходимо внести данные в таблицу заказов. Однако перед этим надо проверить, а есть ли покупаемый товар в наличии. Возможно, при этом понадобится проверить еще ряд дополнительных условий. То есть фактически процесс покупки товара охватывает несколько действий, которые должны выполняться в определенной последовательности. И в этом случае более оптимально будет инкапсулировать все эти действия в один объект - хранимую процедуру (stored procedure).
То есть по сути хранимые процедуры представляют набор инструкций, которые выполняются как единое целое. Тем самым хранимые процедуры позволяют упростить комплексные операции и вынести их в единый объект. Изменится процесс покупки товара, соответственно достаточно будет изменить код процедуры. То есть процедура также упрощает управление кодом.
Также хранимые процедуры позволяют ограничить доступ к данным в таблицах и тем самым уменьшить вероятность преднамеренных или неосознанных нежелательных действий в отношении этих данных.
И еще один важный аспект - производительность. Хранимые процедуры обычно выполняются быстрее, чем обычные SQL-инструкции. Все потому что код процедур компилируется один раз при первом ее запуске, а затем сохраняется в скомпилированной форме.
Для создания хранимой процедуры применяется команда CREATE PROCEDURE или CREATE PROC.
➡️ Читать дальше
@sqlhub
Нередко операция с данными представляет набор инструкций, которые необходимо выполнить в определенной последовательности. Например, при добавлении данных покупки товара необходимо внести данные в таблицу заказов. Однако перед этим надо проверить, а есть ли покупаемый товар в наличии. Возможно, при этом понадобится проверить еще ряд дополнительных условий. То есть фактически процесс покупки товара охватывает несколько действий, которые должны выполняться в определенной последовательности. И в этом случае более оптимально будет инкапсулировать все эти действия в один объект - хранимую процедуру (stored procedure).
То есть по сути хранимые процедуры представляют набор инструкций, которые выполняются как единое целое. Тем самым хранимые процедуры позволяют упростить комплексные операции и вынести их в единый объект. Изменится процесс покупки товара, соответственно достаточно будет изменить код процедуры. То есть процедура также упрощает управление кодом.
Также хранимые процедуры позволяют ограничить доступ к данным в таблицах и тем самым уменьшить вероятность преднамеренных или неосознанных нежелательных действий в отношении этих данных.
И еще один важный аспект - производительность. Хранимые процедуры обычно выполняются быстрее, чем обычные SQL-инструкции. Все потому что код процедур компилируется один раз при первом ее запуске, а затем сохраняется в скомпилированной форме.
Для создания хранимой процедуры применяется команда CREATE PROCEDURE или CREATE PROC.
➡️ Читать дальше
@sqlhub
👍9