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

№1. Установка PostgreSQL, создаем схему, таблицу и импортируем данные из CSV
№2. Простые операции, SELECT
№3. Типы данных
№4. Импорт и экспорт данных
№5. Группировка
№6. Математические операции
№7. CASE
№8. Дополнения к урокам 1-7
№9. Повторение изученного
№10. Подзапросы
№11. CTE
№12. Оконные функции. Ранг, ранжирование (ranking)

Все видео доступны на youtube

#db

👉 @database_info
👍5
Оптимизация данных в MS SQL

Одним из методов для оптимизации обработки, хранения и администрирования данных в базе данных и кубах MS SQL — это процесс создании партицирования данных.

Partitioning (партицирование или по-другому секционирование) — это разбиение таблицы на несколько частей, а эти части на одну или несколько файловых групп. Партицирование необходимо для целей ускорения доступа чтения или изменения данных и администрирования. Так как выровненный индекс по таблице будет содержаться в каждой условно своей секции, то при чтении или изменении данных будет обращение к конкретной секции и конкретному индексу в этой секции.

https://habr.com/ru/articles/705656/

#db

👉 @database_info
👍2
SQL Tutorial - Full Database Course for Beginners

⌨️ (0:00) Introduction
⌨️ (2:36) What is a Database?
⌨️ (23:10) Tables & Keys
⌨️ (43:31) SQL Basics
⌨️ (52:26) MySQL Windows Installation
⌨️ (1:01:59) MySQL Mac Installation
⌨️ (1:15:49) Creating Tables
⌨️ (1:31:05) Inserting Data
⌨️ (1:38:17) Constraints
⌨️ (1:48:11) Update & Delete
⌨️ (1:56:11) Basic Queries
⌨️ (2:08:37) Company Database Intro
⌨️ (2:14:05) Creating Company Database
⌨️ (2:30:27 ) More Basic Queries
⌨️ (2:26:24) Functions
⌨️ (2:45:13) Wildcards
⌨️ (2:53:53) Union
⌨️ (3:01:36) Joins
⌨️ (3:11:49) Nested Queries
⌨️ (3:21:52) On Delete
⌨️ (3:30:05) Triggers
⌨️ (3:42:12) ER Diagrams Intro
⌨️ (3:55:53) Designing an ER Diagram
⌨️ (4:08:34) Converting ER Diagrams to Schemas

https://www.youtube.com/watch?app=desktop&v=HXV3zeQKqGY


#db

👉 @database_info
👍3
Тестирование на проникновение MSSQL

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

https://github.com/Ignitetechnologies/MSSQL-Pentest-Cheatsheet

#db

👉 @database_info
👍4
Media is too big
VIEW IN TELEGRAM
MongoDB. Полный курс

MongoDB - документно-ориентированная, NoSQL база, используемая для хранения больших объемов информации. Основная особенность базы - это представление данных в виде документов, структура которых напоминает JSON. Благодаря такому подходу MongoDB работает быстрее, обладает лучшей масштабируемость и ее легче использовать. Весь курс можно разбить на 2 основные части. В первой, мы разберём особенности работы с MongoDB, ключевые команды взаимодействия с базой и коллекцией. Команды поиска, сортировки, удаления и редактирования элементов. Во второй, используя Node.js, Express и библиотеку mongoose создадим свой API поддерживающий весь стэк CRUD операций.

0:00 - Введение (Introduction)
2:11 - Основные понятия (Basic Concepts)
9:15 - Установка инструментов (Installing Tools)
14:39 - Использование MongoDB Compass и Shell (Using MongoDB Compass & Shell)
20:04 - Добавление новых данных (Adding New Documents)
25:50 - Поиск документов (Finding Documents)
32:49 - Лимит и сортировка данных (Limiting & Sorting Data)
40:07 - Операторы и составные запросы (Operators & Complex Queries)
47:54 - Запросы вложенных документов (Querying Nested Documents)
53:55 - Удаление и обновление документов (Deleting & Updating Documents)
1:00:22 - Сложное обновление документов (Complex Updating Documents)
1:06:48 - Полезные методы и операторы (Useful Methods & Operators)
1:14:19 - Управление базами и коллекциями (Managing DBs & Collections)
1:21:06 - Создание сервера, подключение к БД (Creating Server & Connecting To MongoDB)
1:29:21 - Курсоры и получение данных (Cursors & Fetching Data)
1:35:09 - Чтение и удаление документа (Fetching & Removing Document)
1:40:51 - Создание и обновление документа (Creating & Updating Document)
1:47:28 - Интеграция mongoose (Mongoose Integration. Part I)
1:57:41 - Интеграция mongoose (Mongoose Integration. Part II)
2:04:43 - MVC и Роутер (MVC Pattern & Router)
2:12:58 - Облачная база данных MongoDB Atlas (MongoDB Atlas)

истрчник

#db

👉 @database_info
👍2
Переход на PgCat — прокси-сервер Postgres следующего поколения

PgCat  —  это open source прокси-сервер Postgresql, в развитии которого мы участвуем и который используем на продакшене. Функционал PgCat для кластеров Postgresql: пул соединений, балансировка нагрузки, отработка отказа реплики.

В Instacart мы применяем Postgresql почти для всех задач баз данных: эффективным кешированием, индексированием, оптимизацией запросов и вертикальным масштабированием экземпляров выжимаем из одного экземпляра Postgres немало производительности. Все это отличные стратегии, но с ними далеко не уедешь. Не ограничиваясь одним экземпляром за счет добавления реплик чтения или горизонтального сегментирования БД, мы в обоих случаях увеличиваем сложность.

https://tech.instacart.com/adopting-pgcat-a-nextgen-postgres-proxy-3cf284e68c2f

#db

👉 @database_info
👍4
Высокодоступный MySQL на конвейере

Что нужно автоматизировать в управляемой базе данных? Какие нас ждут проблемы эксплуатации MySQL в облаках? Разберём существующие решения, позволяющие обеспечивать эффективную конфигурацию под высокую доступность и высокие нагрузки, а также их недостатки и практическое применение.

Поможет нам в этом Дмитрий Смаль, руководитель подразделения Managed MySQL и SQL Server в Yandex Cloud. Каждый день он занимается эксплуатацией и автоматизацией СУБД, а до этого делал нагруженные и не очень web-приложения. В целом любит делать разные интересные штуковины, которые работают! Сегодня мы с ним будем говорить про решение для высокодоступного MySQL.

https://habr.com/ru/companies/oleg-bunin/articles/754634/

#db

👉 @database_info
👍2
Визуализация 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