Please open Telegram to view this post
VIEW IN TELEGRAM
👍10❤5🔥2
This media is not supported in your browser
VIEW IN TELEGRAM
С помощью
SELECT ... FOR UPDATEЕсли другая транзакция заблокировала какую-либо из этих строк, то она блокируется.
Чтобы заблокировать следующие строки таблицы, игнорируя заблокированные данные, используйте
SELECT ... FOR UPDATE SKIP LOCKEDЭто позволит обойти все строки, заблокированные другой транзакцией.
#SQL
@sqlhub
Please open Telegram to view this post
VIEW IN TELEGRAM
👍12❤3🔥1😁1
🔥 Дайджест полезных материалов из мира SQL за неделю
Почитать:
— Отправка и обработка HTTP запросов в PostgreSQL
— Airflow vs NiFi: исследуем оркестратор для формирования витрин данных
— Повышение эффективности SQL-запросов: советы и рекомендации
— Top 10 Tools For SQL Writing For Students
— How Randomized SQL Testing Can Help Detect Bugs?
— SQL Joins Infographic
— ACID and Transactions in SQL
— SQL - Stored Procedures for Reusable and Secure SQL Code
— SQLite Create Table If Not Exists: Conditional Table Creation
— Text2SQL: Converting Natural Language to SQL
— CRUD Operations in SQL
— Should you use an enum column or a table to store allowed values in SQL?
— 7 Tips to Optimise Postgres query performance
Посмотреть:
🌐 Chatgpt, Bard , Claude, Theb - используй API лучших нейросетей бесплатно и без ВПН на Python. (⏱ 05:23)
🌐 NLP практика. Определяем тональность текста при помощи NLTK и DL (⏱ 19:37)
🌐 Задача, которая очень часто встречается на собеседованиях #python (⏱ 00:59)
🌐 Хитрая задача с собеседования #Python (⏱ 00:59)
🌐 Решение непростой задачи с Leetcode, часто всплывает на собеседования #pythontutorial (⏱ 00:59)
🌐 Django шаблонизация и маршрутизация (⏱ 09:11)
Хорошего дня!
@sqlhub
Почитать:
— Отправка и обработка HTTP запросов в PostgreSQL
— Airflow vs NiFi: исследуем оркестратор для формирования витрин данных
— Повышение эффективности SQL-запросов: советы и рекомендации
— Top 10 Tools For SQL Writing For Students
— How Randomized SQL Testing Can Help Detect Bugs?
— SQL Joins Infographic
— ACID and Transactions in SQL
— SQL - Stored Procedures for Reusable and Secure SQL Code
— SQLite Create Table If Not Exists: Conditional Table Creation
— Text2SQL: Converting Natural Language to SQL
— CRUD Operations in SQL
— Should you use an enum column or a table to store allowed values in SQL?
— 7 Tips to Optimise Postgres query performance
Посмотреть:
🌐 Chatgpt, Bard , Claude, Theb - используй API лучших нейросетей бесплатно и без ВПН на Python. (⏱ 05:23)
🌐 NLP практика. Определяем тональность текста при помощи NLTK и DL (⏱ 19:37)
🌐 Задача, которая очень часто встречается на собеседованиях #python (⏱ 00:59)
🌐 Хитрая задача с собеседования #Python (⏱ 00:59)
🌐 Решение непростой задачи с Leetcode, часто всплывает на собеседования #pythontutorial (⏱ 00:59)
🌐 Django шаблонизация и маршрутизация (⏱ 09:11)
Хорошего дня!
@sqlhub
👍9❤2🔥1
This media is not supported in your browser
VIEW IN TELEGRAM
Он переводит естественный язык в SQL запросы и выполняет их в базе данных.
На данный момент поддерживаются
MySQL, PostgreSQL и SQLite. Пример:
ormgpt.query("give me post with id 1, all comments for this post and user information about author");Сгенерированный запрос:
SELECT
p.id AS post_id,
p.title,
p.body,
c.id AS comment_id,
c.body AS comment_body,
u.username AS author_username,
u.email AS author_email
FROM
posts p
JOIN comments c ON p.id = c.post_id
JOIN users u ON u.id = p.user_id
WHERE
p.id = 1;
Вывод:
[
{
post_id: 1,
title: 'Hello world!',
body: 'This is my first post!',
comment_id: 1,
comment_body: 'Hello world!',
author_username: 'test',
author_email: '[email protected]'
}
]• Github
@sqlhub
Please open Telegram to view this post
VIEW IN TELEGRAM
👍13🔥6❤4😁1
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6❤1🔥1
PostgreSQL - это база данных с открытым исходным кодом, обладающая широкими возможностями настройки.
Если вы хотите узнать, подходит ли она для ваших проектов, этот курс для начинающих поможет вам.
Вы узнаете об операторе
SELECT, предложениях WHERE, агрегатных функциях и многом другом.📌 Курс
@sqlhub
Please open Telegram to view this post
VIEW IN TELEGRAM
👍14🔥4❤2
Выбор подходящей базы данных для своего проекта - сложная задача. Существует множество видов баз данных, каждая из которых подходит для разных случаев использования.
Данная шпаргалка поможет определить, какой сервис соответствует потребностям вашего проекта, и избежать возможных "
подводных камней".@sqlhub
Please open Telegram to view this post
VIEW IN TELEGRAM
👍12❤2🔥1
Он предназначен для использования в тестировании и поддерживает работу с такими базами данных, как sqlite, mysql, postgresql, mongodb, redis и couchdb.
pip install fake2db📌 GitHub
@sqlhub
Please open Telegram to view this post
VIEW IN TELEGRAM
👍21❤3🔥3
🔥 Дайджест полезных материалов из мира SQL за неделю
Почитать:
— Построение OLAP-запросов с использованием аналитических функций
— 7 концепций SQL, которые необходимо знать для работы с данными
— Агент пожизненного обучения, который играет в Minecraft и непрерывно совершенствуется.
— How to Connect Java Applications to Databases with JDBC
— Entendendo o WHERE e o ORDER BY
— Exploring Ways of Performance Tuning Your Postgresql Database
— Implementing distributed Flink SQL gateway based on Kyuubi
— What do front-end developers think of no-code DataViz tools?
— Incubate Your SQL Optimizer Using Egg
— Schemas em SQL: Indexes e B+ trees
— Sql Service Broker
— Deleting a Column in SQL: Everything You Need to Know
— The RETURNING clause in SQL
Посмотреть:
🌐 Пишем телеграм бота для скачивания #yotube видео (⏱ 20:41)
🌐 Алгоритм бинарного поиска на #C++ (⏱ 00:59)
🌐 Очередь с приоритетом разбор задачи на #C++ (⏱ 01:00)
🌐 Задача на поиск числа с leetcode на С++ (⏱ 01:00)
🌐 Задача с #leetcode решаем на #golang (⏱ 00:32)
🌐 Разбор задачи на содержание массива #С++ (⏱ 00:59)
🌐 Django гайд по формам (⏱ 10:32)
🌐 New Azure SQL Database free offer | Data Exposed
Хорошего дня!
@sqlhub
Почитать:
— Построение OLAP-запросов с использованием аналитических функций
— 7 концепций SQL, которые необходимо знать для работы с данными
— Агент пожизненного обучения, который играет в Minecraft и непрерывно совершенствуется.
— How to Connect Java Applications to Databases with JDBC
— Entendendo o WHERE e o ORDER BY
— Exploring Ways of Performance Tuning Your Postgresql Database
— Implementing distributed Flink SQL gateway based on Kyuubi
— What do front-end developers think of no-code DataViz tools?
— Incubate Your SQL Optimizer Using Egg
— Schemas em SQL: Indexes e B+ trees
— Sql Service Broker
— Deleting a Column in SQL: Everything You Need to Know
— The RETURNING clause in SQL
Посмотреть:
🌐 Пишем телеграм бота для скачивания #yotube видео (⏱ 20:41)
🌐 Алгоритм бинарного поиска на #C++ (⏱ 00:59)
🌐 Очередь с приоритетом разбор задачи на #C++ (⏱ 01:00)
🌐 Задача на поиск числа с leetcode на С++ (⏱ 01:00)
🌐 Задача с #leetcode решаем на #golang (⏱ 00:32)
🌐 Разбор задачи на содержание массива #С++ (⏱ 00:59)
🌐 Django гайд по формам (⏱ 10:32)
🌐 New Azure SQL Database free offer | Data Exposed
Хорошего дня!
@sqlhub
👍12🔥2❤1
This media is not supported in your browser
VIEW IN TELEGRAM
SELECT ... FROM ... VERSIONS BETWEEN TIMESTAMP <start_dt> AND <end_dt>Возвращаются изменения в диапазоне дат.
@sqlhub
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10❤4🔥1
Please open Telegram to view this post
VIEW IN TELEGRAM
👍21❤5🔥4
SQLMesh обеспечивает точность и эффективность построения конвейеров данных с помощью пробвинутого решения DataOps для преобразования, тестирования и совместной работы.
Виртуальные среды данных позволяют команде разработчиков создавать динамические представления данных, гарантируя, что таблицы не будут создаваться более одного раза. Модульные тесты, аудиты и Data Diff обеспечивают проверку на протяжении всего рабочего процесса разработки, что позволяет легко работать с данными.
pip install sqlmesh▪ Github
▪ Подробнее
▪ Документация
@sqlhub
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10❤5🔥1
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6🔥2❤1
Некоторые из них зарезервированы, поэтому их нельзя использовать в качестве имен таблиц и столбцов без разделителей
Но это зависит от системы баз данных!
Представляем вам полный список слов для различных бд, которые можно использовать в качестве идентификаторов без кавычек.
На схеме флажок (✓) означает, что слово принимается в качестве имени таблицы или столбца без кавычек.
https://modern-sql.com/reserved-words-empirical-list
@sqlhub
Please open Telegram to view this post
VIEW IN TELEGRAM
👍13❤3🔥3
Применение
Чтобы получить значения из приложения в Oracle Database, используйте
@sqlhub
MERGE для логики "обновить, если существует", "вставить, если не существуетЧтобы получить значения из приложения в Oracle Database, используйте
DUAL в качестве исходной таблицы.@sqlhub
👍10❤3🔥2
This media is not supported in your browser
VIEW IN TELEGRAM
При написании SQL-запросов Очень важно понимать порядок их выполнения.
В SQL-запросе операторы выполняются в следующем порядке:
1. FROM / JOIN
2. WHERE
3. GROUP BY
4. HAVING
5. SELECT
6. DISTINCT
7. ПОРЯДОК СЛЕДОВАНИЯ
8. LIMIT / OFFSET@sqlhub
Please open Telegram to view this post
VIEW IN TELEGRAM
👍31❤17🔥4🤔1
1. Реляционные базы данных 💼
- Модель данных: Организует данные в таблицы со строками и столбцами.
- Примеры: MySQL, PostgreSQL, Oracle, SQL Server.
- Ключевые особенности: Соответствие стандарту ACID, высокая степень согласованности данных, структурированное хранение данных, поддержка SQL-запросов, хорошая приспособленность к сложным транзакциям и созданию отчетов.
2. База данных для документов 📄.
- Модель данных: Хранение данных в виде полуструктурированных или JSON-подобных документов.
- Примеры: MongoDB, CouchDB, Firebase Firestore.
- Ключевые особенности: Гибкая схема, горизонтальная масштабируемость, поддержка полуструктурированных данных, хорошо подходит для систем управления контентом и приложений реального времени.
3. In-Memory Database 🚀.
- Модель данных: Хранит данные полностью в оперативной памяти (ОЗУ) системы.
- Примеры: Redis, Memcached, Apache Ignite.
- Ключевые особенности: Сверхбыстрый поиск данных, низкая задержка, подходит для кэширования, управления сессиями и аналитики в реальном времени.
4. Графовые базы данных 🌐.
- Модель данных: Представляет данные в виде узлов и ребер для моделирования отношений.
- Примеры: Neo4j, Amazon Neptune, ArangoDB.
- Ключевые особенности: Эффективный запрос сложных отношений, обход графов, подходит для социальных сетей, рекомендательных систем и обнаружения мошенничества.
5. Базы данных для временных рядов 📈.
- Модель данных: Оптимизирована для упорядоченных по времени точек данных, таких как показания датчиков или файлы журналов.
- Примеры: InfluxDB, Prometheus, TimescaleDB.
- Ключевые особенности: Эффективное хранение и извлечение данных временных рядов, агрегирование, , идеально подходит для мониторинга IoT данных.
6. Пространственные базы данных 🌍.
- Модель данных: Предназначена для хранения пространственных или географических данных.
- Примеры: PostGIS (расширение для PostgreSQL), MongoDB Geospatial, Microsoft SQL Server Spatial.
- Ключевые особенности: Геопространственная индексация, поддержка пространственных типов данных (точки, полигоны, линии), подхожит для сервисов, основанных на определении местоположения, ГИС (географических информационных систем) и картографических приложений.
@sqlhub
Please open Telegram to view this post
VIEW IN TELEGRAM
👍19❤4🔥3
This media is not supported in your browser
VIEW IN TELEGRAM
Теория, лежащая в основе шардинга баз данных, кажется простой.
Но как она реализуется в реальных базах данных?
Рассмотрим это на примере MongoDB (одной из самых популярных баз данных NoSQL)
Основы
Для шардинга в MongoDB необходим кластер.
Кластер - это группа взаимосвязанных серверов или узлов.
Для горизонтального масштабирования можно просто увеличить количество серверов.
Кластер состоит из трех частей:
- Шард
- Маршрутизатор Mongos
- Маршрутизатор конфигурации
Рассмотрим каждую часть:
✅ Шард
Шард - это подмножество данных.
Данные разделяются между группой шардов.
Каждый шард развертывается как набор реплик.
Это замечательная вещь...
...потому что вы получаете репликацию и автоматическое восстановление данных после отказа системы.
Но никаких прямых запросов к шарду не поступает.
✅ Маршрутизатор Mongos
Mongos Router играет ключевую роль в кластере Все запросы направляются на Mongos Router.
Он выполняет две важнейшие задачи:
- Маршрутизация запросов и балансировка нагрузки
- Кэширование метаданных
Маршрутизатор выступает в роли посредника для получения данных с реальных шардов.
✅ Серверы конфигурации
Серверы конфигурации работают как отдельный набор реплик.
Они хранят метаданные для кластера шардов MongoDB.
Метаданные - это как индекс для вашего кластера.
В них хранится такая информация, как:
- Как организованы данные?
- Какие компоненты присутствуют в кластере.
Вот как выглядит весь процесс:
- Код приложения запрашивает данные
- Маршрутизатор Mongos получает запрос
- Маршрутизатор проверяет сервер Config Server, чтобы найти, на каком шарде находятся данные
- Запрос направляется на соответствующий шард
- Данные возвращаются в приложение
Но как она реализуется в реальных базах данных?
Рассмотрим это на примере MongoDB (одной из самых популярных баз данных NoSQL)
Основы
Для шардинга в MongoDB необходим кластер.
Кластер - это группа взаимосвязанных серверов или узлов.
Для горизонтального масштабирования можно просто увеличить количество серверов.
Кластер состоит из трех частей:
- Шард
- Маршрутизатор Mongos
- Маршрутизатор конфигурации
Рассмотрим каждую часть:
✅ Шард
Шард - это подмножество данных.
Данные разделяются между группой шардов.
Каждый шард развертывается как набор реплик.
Это замечательная вещь...
...потому что вы получаете репликацию и автоматическое восстановление данных после отказа системы.
Но никаких прямых запросов к шарду не поступает.
✅ Маршрутизатор Mongos
Mongos Router играет ключевую роль в кластере Все запросы направляются на Mongos Router.
Он выполняет две важнейшие задачи:
- Маршрутизация запросов и балансировка нагрузки
- Кэширование метаданных
Маршрутизатор выступает в роли посредника для получения данных с реальных шардов.
✅ Серверы конфигурации
Серверы конфигурации работают как отдельный набор реплик.
Они хранят метаданные для кластера шардов MongoDB.
Метаданные - это как индекс для вашего кластера.
В них хранится такая информация, как:
- Как организованы данные?
- Какие компоненты присутствуют в кластере.
Вот как выглядит весь процесс:
- Код приложения запрашивает данные
- Маршрутизатор Mongos получает запрос
- Маршрутизатор проверяет сервер Config Server, чтобы найти, на каком шарде находятся данные
- Запрос направляется на соответствующий шард
- Данные возвращаются в приложение
👍9❤6🔥1
This media is not supported in your browser
VIEW IN TELEGRAM
Хотите удалить большую часть данных из таблицы?
Удаление может занять очень много времени.
В Oracle Database перемещение таблицы с фильтрацией может быть намного быстрее:
@sqlhub
Удаление может занять очень много времени.
В Oracle Database перемещение таблицы с фильтрацией может быть намного быстрее:
ALTER TABLE ...Только будьте осторожны вы не сможете откатить комнаду назад!
MOVE INCLUDING ROWS
WHERE <rows to keep>
@sqlhub
👍13❤2🔥1
🚀 SQL для Data Science Полный учебный план.
План рассчитан на 28 дней, в течение которых необходимо уделять не менее 1,5 часов в день.
Неделя 1: Основы SQL
День 1-3: Знакомство с синтаксисом SQL, операторами SELECT, фильтрацией и сортировкой.
Ресурсы: Курс Khan Academy "Intro to SQL" на YouTube.
📌Python и базы данных
День 4-5: Работа с несколькими таблицами с помощью операций JOIN.
Ресурс: Курс DataCamp "Объединение данных в SQL".
День 6-7: Агрегирование данных с помощью GROUP BY, HAVING и понимание подзапросов.
Ресурс: Специализация Coursera "SQL for Data Science".
Неделя 2: Углубляемся в SQL
День 8-10: Изучение запросов(INSERT, UPDATE, DELETE) и работа со значениями NULL.
Ресурсы: Плейлист YouTube Калеба Карри на тему "Самоучители SQL".
День 11-12: Погружение в нормализацию данных и принципы проектирования баз данных.
Ресурсы: Плейлист YouTube - Базовая концепция нормализации баз данных
День 13-14: Знакомство с оконными функциями для расширенного манипулирования данными.
Ресурс: Самоучитель SQL - оконные функции от BeardedDev
Неделя 3: Расширенные методы работы с SQL
День 15-17: Освоение подзапросов и коррелированных подзапросов.
Ресурс: курс techTFQ "Подзапросы в SQL".
День 18-20: Изучение индексов, оптимизации производительности и настройки запросов.
Ресурс: Настройка производительности SQL и оптимизация запросов
День 21-22: Понимание хранимых процедур, определяемых пользователем функций и триггеров.
Неделя 4: Применение SQL в реальных условиях и практика
День 23-24: Реализация задач анализа данных, таких как очистка, преобразование и визуализация данных с помощью SQL.
День 25-28: Итоговый проект: Решение сложной задачи с использованием SQL и презентация результатов.
Ресурсы: Наборы данных Kaggle с задачами, связанными с SQL.
@sqlhub
План рассчитан на 28 дней, в течение которых необходимо уделять не менее 1,5 часов в день.
Неделя 1: Основы SQL
День 1-3: Знакомство с синтаксисом SQL, операторами SELECT, фильтрацией и сортировкой.
Ресурсы: Курс Khan Academy "Intro to SQL" на YouTube.
📌Python и базы данных
День 4-5: Работа с несколькими таблицами с помощью операций JOIN.
Ресурс: Курс DataCamp "Объединение данных в SQL".
День 6-7: Агрегирование данных с помощью GROUP BY, HAVING и понимание подзапросов.
Ресурс: Специализация Coursera "SQL for Data Science".
Неделя 2: Углубляемся в SQL
День 8-10: Изучение запросов(INSERT, UPDATE, DELETE) и работа со значениями NULL.
Ресурсы: Плейлист YouTube Калеба Карри на тему "Самоучители SQL".
День 11-12: Погружение в нормализацию данных и принципы проектирования баз данных.
Ресурсы: Плейлист YouTube - Базовая концепция нормализации баз данных
День 13-14: Знакомство с оконными функциями для расширенного манипулирования данными.
Ресурс: Самоучитель SQL - оконные функции от BeardedDev
Неделя 3: Расширенные методы работы с SQL
День 15-17: Освоение подзапросов и коррелированных подзапросов.
Ресурс: курс techTFQ "Подзапросы в SQL".
День 18-20: Изучение индексов, оптимизации производительности и настройки запросов.
Ресурс: Настройка производительности SQL и оптимизация запросов
День 21-22: Понимание хранимых процедур, определяемых пользователем функций и триггеров.
Неделя 4: Применение SQL в реальных условиях и практика
День 23-24: Реализация задач анализа данных, таких как очистка, преобразование и визуализация данных с помощью SQL.
День 25-28: Итоговый проект: Решение сложной задачи с использованием SQL и презентация результатов.
Ресурсы: Наборы данных Kaggle с задачами, связанными с SQL.
@sqlhub
👍35🔥9❤4
This media is not supported in your browser
VIEW IN TELEGRAM
31 интерактивный урок по SQL БЕСПЛАТНО.20+ практических упражнений, которые вы решаете прямо в браузере - установка не требуется.🔗 https://datalemur.com/sql-tutorial
@sqlhub
Please open Telegram to view this post
VIEW IN TELEGRAM
👍18🔥6❤2