Базы данных (Data Base) – Telegram
Базы данных (Data Base)
8.21K subscribers
566 photos
468 videos
19 files
545 links
Базы данных (Data Base). По всем вопросам @evgenycarter
Download Telegram
Визуализация SQL-запроса

SQL-запросы выполняются системой базы данных в несколько этапов, в том числе:
- разбор SQL-запроса и проверка его достоверности
- преобразование SQL-запроса во внутреннее представление, например в реляционную алгебру
- Оптимизация внутреннего представления и создание плана выполнения, использующего информацию об индексах
- Выполнение плана и возврат результатов

#db

👉 @database_info
👍9
T-SQL Fundamentals, 4th Edition
Автор: Itzik Ben-Gan (2023)

Начиная с истории создания запросов и программирования на T-SQL, книга также включает: логическую обработку запросов, конструкции запросов (запросы к одной таблице, объединения, подзапросы, табличные выражения, операторы набора, анализ данных), модификации данных, временные таблицы, транзакции и параллелизм, SQL Graph (совершенно новый для этого издания), а также программные конструкции T-SQL. В книгу включены обширные упражнения и решения с пояснениями, что позволяет читателю на практике применять полученные знания.

#db

👉 @database_info
👍4
UNION в SQL

Оператор UNION используется для объединения результатов двух или более запросов SELECT в один набор результатов. Команда UNION отличается от JOIN-операторов, которые объединяют столбцы из двух таблиц. UNION создает новую таблицу, помещая все строки из двух исходных таблиц в таблицу результатов и располагая эти строки друг над другом.

Далее приведены основные правила объединения наборов результатов двух запросов SELECT с помощью UNION:

- Количество и порядок столбцов должны быть одинаковыми во всех запросах.
- Типы данных соответствующих столбцов должны быть совместимы.
Если эти критерии выполняются, то таблицы совместимы с оператором UNION.

Синтаксис

Базовый синтаксис оператора UNION представлен следующим образом:

SELECT список_столбцов FROM таблица1
UNION SELECT список_столбцов FROM таблица2;

Чтобы лучше понять, как работает оператор UNION, предположим, что в таблицах employees и departments существуют некоторые гипотетические поля first_name и last_name. Обратите внимание, что эти поля на самом деле не существуют в демонстрационных таблицах.

Таблица employees
+----+------------+-----------+--------+
| id | first_name | last_name | salary |
+----+------------+-----------+--------+
| 1 | Ethan | Hunt | 5000 |
| 2 | Tony | Montana | 6500 |
| 3 | Sarah | Connor | 8000 |
| 4 | Rick | Deckard | 7200 |
| 5 | Martin | Blank | 5600 |
+----+------------+-----------+--------+

Таблица departments
+----+------------+-----------+----------+
| id | first_name | last_name | city |
+----+------------+-----------+----------+
| 1 | Maria | Anders | Berlin |
| 2 | Fran | Wilson | Madrid |
| 3 | Dominique | Perrier | Paris |
| 4 | Martin | Blank | Turin |
| 5 | Thomas | Hardy | Portland |
+----+------------+-----------+----------+


Выполним оператор UNION, чтобы объединить результаты двух запросов.

Следующая команда вернет имена и фамилии всех клиентов и сотрудников:

SELECT first_name, last_name FROM employees
UNION
SELECT first_name, last_name FROM customers;

После выполнения приведенной выше команды вы получите такой результат:

+---------------+--------------+
| first_name | last_name |
+---------------+--------------+
| Ethan | Hunt |
| Tony | Montana |
| Sarah | Connor |
| Rick | Deckard |
| Martin | Blank |
| Maria | Anders |
| Fran | Wilson |
| Dominique | Perrier |
| Thomas | Hardy |
+---------------+--------------+

Оператор UNION по умолчанию удаляет дублирующиеся строки из объединенного набора результатов. Вот почему приведенный выше запрос возвращает только 9 строк. Если вы заметили, имя Martin Blank встречается и в таблице employees, и в таблице customers.

Однако если вы хотите оставить дублирующиеся строки, используйте ключевое слово ALL, как показано ниже:

SELECT first_name, last_name FROM employees
UNION ALL
SELECT first_name, last_name FROM customers;

#db

👉 @database_info
👍7
Темпоральные типы в PostgreSQL и их использование

Меня зовут Фролков Иван, я работаю программистом с 1993 года, и уже восемь лет — в Postgres Professional. Периодически выступаю на конференциях. В этой статье я расскажу вам про темпоральные типы данных в PostgreSQL — доклад о них я читал на PGConf.Russia 2022. Почему меня это заинтересовало? Мне много раз приходилось сталкиваться с тем, что из-за разницы часовых поясов не сходились отчёты за месяц или даже за сутки. Подобные проблемы возникают из-за н

https://habr.com/ru/companies/postgrespro/articles/766998/

#db

👉 @database_info
👍2
QueryFlow

Анализ и визуализация выполнения SQL-запросов

https://github.com/oslabs-beta/QueryFlow

#db

👉 @database_info
👍2
LIKE в SQL

До сих пор мы сталкивались с условими, которые определяют точную строку, например WHERE name='Lois Lane'. Но в SQL можно использовать частичное или шаблонное сопоставление, используя оператор LIKE.

Оператор LIKE обеспечивает соответствие заданному шаблону, позволяя указывать подстановочные знаки для одного или нескольких символов. Для этого можно использовать следующие символы подстановки:

https://telegra.ph/LIKE-v-SQL-10-17

#db

👉 @database_info
👍5
SQL для начинающих

Первые SQL запросы
Составные условия
Порядок AND и OR
Сортировка результатов (ORDER BY)
Ограничение и смещение (LIMIT, OFFSET)
20 типичных ошибок начинающего SQL разработчика, часть 1
TOP, LIMIT, OFFSET в других базах данных

источник

#db

👉 @database_info
👍3
Оптимизация работы с большим объемом данных при помощи партиционирования в SQL

Работа с большим объемом данных является неотъемлемой частью профессиональной разработки. Независимо от того, занимаетесь ли вы разработкой веб-приложений, аналитикой данных или созданием сложных систем управления, эффективная обработка больших объемов данных – это фундамент успеха вашего проекта.

Как разработчики, мы часто сталкиваемся с задачами, в которых требуется обрабатывать и анализировать огромные объемы данных. Наша задача – сделать это эффективно и быстро.

Оптимизация работы с данными позволяет нам снизить временные затраты, улучшить производительность и повысить доступность нашего приложения. Быстрая и надежная обработка данных также улучшает качество принимаемых решений и способствует успешным бизнес-операциям. Поэтому важно научиться эффективно работать с большими объемами данных и использовать подходы, которые позволят нам извлекать максимальную выгоду из наших ресурсов.

Одним из эффективных методов оптимизации работы с большим объемом данных является партиционирование. Партиционирование – это разделение таблицы на отдельные части (партиции) с целью улучшить производительность выполнения SQL запросов.

https://habr.com/ru/companies/otus/articles/745872/

#db

👉 @database_info
👍3
Администрирование PostgreSQL. Базовый курс

Тема 00 «Введение».
Тема 01 «Установка и управление сервером».
Тема 02 «Использование psql».
Тема 03 «Конфигурирование».
Тема 04 «Общее устройство PostgreSQL».
Тема 05 «Изоляция и многоверсионность».
Тема 06 «Буферный кэш и журнал».
Тема 07 «Базы данных и схемы».
Тема 08 «Системный каталог».
Тема 09 «Табличные пространства».

источник

#db

👉 @database_info
👍2🔥2